コラム

「情報工学系の学科」では、いったいどんなことを勉強しているの?

ここ最近、IT業界の人材不足とか人工知能の著しい発展とかがあって情報工学系の学科の倍率が跳ね上がっているそうですね。

ここを目指している人たちは、将来イケイケガンガンのベンチャー企業に就職したり超巨大な外資系企業に就職したりして、優秀なエンジニアになりたいと思っている人がほとんどだと思います。

士業や医者と違って、特に法律で守られている職業というわけではないので、エンジニアになってプログラミングをしたいだけなら別に情報工学系の学科を卒業しなくてもなる事はできます。

他にも大学の情報工学部だけではなく、プログラミングスクールや情報処理を学ぶ専門学校などもありますね。

では「情報工学系の学科」に進学した人たちは、いったいどんな事を勉強しているのでしょうか?

情報工学に関連した基礎理論

まずは大学に入ると、微分・積分や線形代数などの大学数学や、アルゴリズムやソフトウェア工学などの計算機工学と呼ばれる理論を学ぶことになります。

「プログラミングとは直接関係ないんじゃないの?」と思われるかもしれませんが、

計算機工学はコンピュータにとってCPU効率の良いプログラムを書いたり大規模なプロジェクトで管理のしやすいシステムを設計するためにはどうしても必要になってくる知識ですし、

数学はそれらを学ぶ上で最も基本的な知識となる学問なので、最初に理論を学ぶんだ方が効率よく勉強をすることができます。

基本的なプログラミング

先ほど説明した数学や計算機工学の理論の講義と並列して、大学の低学年では基本的なプログラミングを学ぶことになります。

おそらくほとんどの大学では、コンピュータのより細かいところまで制御できるC言語を最初に学ぶことが多いです。

C言語でデータを整列するソートアルゴリズムや、様々なデータ構造の実装方法を学んだあとは、オブジェクト指向プログラミングや関数型プログラミングなど、いろんなことを学んでいくことになります。

コンピュータのOSや人工知能などの発展的な事も学べる

情報工学部では、低学年でC言語など基本的なプログラミングやオートマトン・データ構造などの情報工学理論を学んだあとに、より発展的なことを学べるようになります。(これこそが情報工学部の強みだと言えるでしょう)

OSのシステムコールの使い方を学ぶUNIXプログラミングや、プログラミング言語をコンパイルするコンパイラを含むOSの基本的な理論・実装、人工知能に関連する学問の勉強をすることができます。

他にもデータの競合を防ぐための並列プログラミングや、ハードウェア記述言語を使ってCPUなどを設計する勉強など幅広く学ぶことができます。

Webプログラミングは学べる?

おそらくこの記事を読んでくれている人の中で、Web業界について興味がある方も結構いらっしゃるのではないでしょうか。

そんな人たちにとっては、大学でWebプログラミングが学べるのかについても気になるところですよね。

結論から言うと、そういう授業を取れば学ぶ事ができます。

大学にもよりますが、フレームワークを使って実際にWebアプリを作り上げる授業やオブジェクト指向プログラミングについて学ぶ授業などがあります。

情報工学部は「Webプログラミング」を専門に学ぶ場所ではないので、どうしてもプログラミングスクールやWebプログラマを養成する専門学校よりかは、大学で教えてもらえる時間は限られてしまいます。

ですが、情報工学やプログラミングの基礎知識がしっかりついている情報工学部の学生なら、Webプログラミングの習得はそこまで難しくありません。

実際に入学してしばらく経つと、周りに独学でWebプログラミングを学んでインターンとしてIT企業でアルバイトをしたり、フリーランスで案件を引き受けて軽く儲けている人がでてきます。

したがってWebプログラミングについてしっかりと学べるかどうかは、あまり心配する必要はないでしょう。