見出し画像

東北大学工学部電気情報物理工学科のプログラミング事情

皆さんこんにちは。電気情報物理工学科修士1年 梶川友寧です。今年度東北大学に入学された皆さん、ご入学おめでとうございます!環境が大きく変わり、期待と不安でいっぱいだと思います。私たち学生ナビゲーターは、入学後にも役立つ情報をいくつか投稿しているので、ぜひ参考にしてくださいね。そしてこれから受験を志す皆さん、来年度、同じように皆さんの入学をお祝いできる日を楽しみにしております。工学部生Voiceでは、東北大生の先輩からの受験のアドバイスも多く投稿しております。ぜひ参考にしてみてください。

 さて今回は、東北大学工学部のプログラミング事情についてお話します。工学部、特に電気情報物理工学科を志す皆さんにとって気になるところではないでしょうか?プログラミングなんてほとんどやったことないよ!という方も、プログラミングは得意だよ!という方も、入学後に使うプログラミング言語を知っておくと、勉強しておくこともできます。

 まず、プログラミングと一口にいっても、たくさんの言語があってどれからやればいいかわからない!という方もいるでしょう。そこで、実際に授業で扱った言語を見ていきましょう。私がこの4年間で用いた言語をリストアップすると、「Python」、「C」、「C#」、「F#」があります。PythonやCなどは既に知っているという方も多いのではないでしょうか?これらの言語について、簡単に説明いたします。

Pythonは、記述がシンプルなので初心者でも使いやすい言語ですが、ライブラリが豊富でプロにも多く用いられている言語です。ちなみに、私が今一番多く用いているのはこのPythonで、機械学習で大いに活躍しています。
Cは、高速かつ高効率で、OSやソフトウェアの開発などにも用いられます。Pythonと同様多数のライブラリが提供されているため、様々な分野で用いられていますが、習得が難しいという特徴があります。
C#とF#は、ほかの言語と比較して、使ったことがある人は少ないと思います。これらはいずれもマイクロソフトによって開発された言語です。それぞれの違いとしては、基本的にはC#は「オブジェクト指向プログラミング」、F#は「関数型プログラミング」として多く用いられます。一般的に、オブジェクト指向プログラミングはデスクトップアプリケーションなどの開発に、関数型プログラミングはプログラミング言語の理論研究などによく使われます。

 入学前にプログラミングの勉強しておきたい!という方は、上記の4つを勉強すると良いでしょう。特に、PythonとCは長い期間使用することになるので、優先度は高いです。

次に、プログラミングを用いる授業がいつ行われるかについても見ていきましょう。私の場合は、

1セメ(1年前期) 情報とデータの基礎(旧:情報基礎B)
2セメ(1年後期) 情報処理演習
3セメ(2年前期) プログラミング演習A
5セメ(3年前期) プログラミング演習B

を履修しました。
以前投稿したnote(https://note.com/th_eng_navi/n/n068f34b3e2d0)でも触れましたが、東北大学では、学部、学科にかかわらず全員が受ける「全学教育科目」、学部、学科ごとにある「専門教育科目」があります。先ほど述べた科目の中で、「情報とデータの基礎」は全学教育科目の必修科目ですが、ほかの科目はすべて工学部専門教育科目(工学共通科目または学科専門科目)となっています。

それぞれの科目について簡単に説明していきます。私は2020年度入学ですが、一部授業の名称や内容が変わっている部分があるため、2023年度のシラバスをもとに記事を作成しています。2024年度で異なる部分もありますので、ご理解のほどよろしくお願いいたします。

・情報とデータの基礎(全学教育科目、必修)
 この授業では、計算機を活用した問題解決手法やデータ科学を学ぶ意義を理解して、大規模データを利用した技術に関して人間中心の理解・判断ができるようになることなどが目的とされています。実際には、Pythonの基礎について学べるほか、AIやサイバーセキュリティについても学ぶことができるようです。私が履修していた情報基礎Bでは、Python、C、LaTeXの基礎について学習しました。内容は私が履修した時と変わっているようですが、AIについて学べるという点はうらやましいですね...!
・情報処理演習(工学共通科目、学科必修)
 この授業ではC言語を集中的に学ぶことができます。講義が終わるころには、C言語の基本的な文法に関してはかなり高い理解度を得られます。
・プログラミング演習A(学科専門科目、学科必修)
 情報処理演習と同様、C言語について学びますが、難易度は上がります。私が受講した時は、ソーティングや動的計画法など、今まで学んできた内容を用いて実際に何かを実装するという応用問題が課題として出されました。
・プログラミング演習B(学科専門科目、コース必修(情報工学コース)、選択必修(通信工学コース)、選択(電気工学、電子工学、応用物理学、バイオ・医工学の各コース))
 ここではC#、F#を学びます。これらの学習により、オブジェクト指向プログラミングと関数型プログラミングの違いについて学びます。

 上に挙げた授業以外でも、私が履修した科目では、例えば「実践的機械学習1」(1セメ、全学教育科目)や「実践的機械学習2」(2セメ、全学教育科目)などでも、プログラミングを多く用いました。また2024年度からは、「クロス情報プログラム」というAI・数理・データサイエンスに関連する科目を多く履修するプログラムもできるそうです。

 いかがでしたか?工学部で学ぶプログラミングのイメージはつかめましたか?工学部電気情報物理工学科では必要不可欠となるプログラミングですが、入学時にほぼ未経験という方も少なくはありませんし、各授業でもわかりやすい解説があるので、今すぐ対策しなくちゃ!と焦る必要はありません。それでも対策をしておきたいという方は、今は初心者向けの本やサイトもたくさんあるので、時間があるときに見ておくのも良いと思います。

 ありがとうございました。今後も頑張っていきましょう!

この記事が気に入ったらサポートをしてみませんか?