プログラミングに漠然とした興味をもって,大学では情報系の学科でプログラミングを勉強したいと考えている人は多いようだ。
この記事では,そういう人に対して,大学とはどういう場所かを書いたうえで,本当に大学でプログラミングを勉強すべきか,考えるためのポイントを示す。
プログラミングは大学で勉強できる?
だいぶ前になるが,自分の所属している電気電子情報工学科で勉強できることについて書いた。
>> 【学部生活ふりかえり】電気電子・情報工学科に入ると学べること
この記事のアクセスを解析していると,電気電子情報工学科でプログラミングを学びたいような人のアクセスが多く見られた。そこで,電気電子情報工学科でのプログラミングについて,別の記事に書いた。
その記事を書いていたところで,「そもそも大学でプログラミングを勉強するのはどうなのか?」という,根本的な疑問に突き当たったので,この記事を書いたわけだ。
結論としては,「プログラミングそのものや,プログラミングを駆使した高度な社会応用に興味がある人」は大学で勉強すべきだと考えている。
大学という場所
大学院生になって研究していて思うのは,大学院は「研究する場所」だということだ。
そして,学部(学科)というのは,大学院にぶら下がっていることが多い。なので,学科のカリキュラムは,この大学院の研究において必要な知識や技術を習得できるように組まれている。
※「大学院」の雰囲気や,「勉強と研究の違い」については,以下にあげる2つの関連記事に書いたので,参照してほしい。
まず,以下の記事には,大学院生のゴールが研究することであって,勉強することではないことを書いた。入試をトップクラスの成績で通過した学生でも,大学院まで進んで研究を始めると落ちこぼれていく…という話もありうると思う(もちろん逆もありうる)。最近,大学院っていうのはそういうところだと,ひしひしと感じ始めている。
関連記事①: 研究室に配属されて2年近く研究やってわかったこと
また,以下の記事には,勉強することと研究することの違いについて,おもに「勉強することの立ち位置」に重点を置いて書いた。
関連記事②: 【永遠の疑問】勉強って何のためにするの?に対する答えのようなもの
大学という場所でのプログラミング
さて,こういう風な思想の下でカリキュラムがつくられている大学において,プログラミングを勉強するとは,どういうことを意味するか?
私が考えるのは,以下の3つだ。上から下へ行くにつれて,抽象度が下がり,具体的になっている。
(自分は電気系の院生で,情報系については門外漢だが・・・いちおう情報・通信専攻へも進める学科にいたので,間違ってはいないと思う)。
- そもそもの「プログラム」の構造や言語を研究するために学ぶ:言語構造,コンピュータアーキテクチャ
- 「プログラミング」を駆使した社会応用技術そのものを発展させるために学ぶ:AIなどにおいて使われる言語や構造の最適化
- 「プログラミング」を最先端の情報化技術に応用するために学ぶ:画像処理,通信技術の「道具」としてのプログラミング
いかがだろうか?思っていたより高度だったり,イメージと違っていたりして面喰った人も多いのではないだろうか?
ようするに大学では,新しい技術や,技術そのものを生み出し,発展させることが目的なわけだ。プログラミングそのものが研究対象であったり,プログラミングが道具に過ぎなかったりするわけだ。
「道具」は大学でなくてよい
DX,AI,IoTなどなど…プログラミングにかかわるIT技術は流行していて,それらに流されるようにしてプログラミングに興味を持っている人が多いようだ。ただし,
- AIやIoT技術を使うためにプログラミングを勉強したい
- なんとなくプログラミングに興味がある
これくらいの認識,すなわち「プログラミングができるようになりたい」くらいの認識で大学へ入学すると,結構辛い思いをするかもしれない。大学では「使う」ための教育には,主眼が置かれていないからだ。
「使う」ため,「道具」として,プログラミングを勉強するなら,オンラインの学習サービスを使った方が,圧倒的に効率がいい。これはゆるぎない事実だ。
例として,電気電子情報工学科から電気工学専攻に進んだ院生である私は,C言語について勉強した学部のプログラミングの講義が苦手で,未だに自分でプログラムを組むという経験に乏しい。
深い興味・熱意があるなら大学で
一方で,もう少し進んで,
- プログラミングを使って新しい技術を生み出したい
- プログラミングで使われている言語の構造・設計について詳しく勉強したい
そういう気持ち(熱意)があるなら,大学でプログラミングを学ぶに値する。高校生や高専生であれば,学科でじっくり勉強すれば,この辺の技術について興味が湧いてくるに違いない。
プログラミングとは全然関係ない動機で,電気電子情報工学科を選んだ私は,そこでの講義や実習をもとにして現在の研究分野に興味をもった。高校生や高専生は,大学から先の将来,専門にしたい技術や分野についてぼんやりとしかイメージできないかもしれないが,焦ることはないと思う。
まとめ:何のためにプログラミングやるの?
以上,プログラミングを大学で学ぶことについて,自分の考えを書いてきた。
結局は,どうしてプログラミングを勉強したいのか?何のために学びたいのか?を考えることが大切だと考える。学んだプログラミングでどうしたいのか?これによって,大学で学ぶべきか,それとも昨今急激に便利になったオンライン学習サービスで勉強すべきなのかが変わってくる。
大学に行く場合,高い学費と若い時期のそれなりの年数をかけて行くわけだ。一般入試でも推薦入試でも,「志望動機」をしっかりと考えてから進学したい。
関連記事: 電気電子情報工学科で学べること
>> 【学部生活ふりかえり】電気電子・情報工学科に入ると学べること