読者です 読者をやめる 読者になる 読者になる

Kohaku Lab

ガジェットとカードが好きな人のブログです。

大学の講義だけじゃナウい技術でウェイウェイできない

http://masawada.hatenablog.jp/entry/2014/02/28/033257

こんな記事がアップされているのに気づいて、自分が前アップした「UECに対して求めること」という記事が吹き飛んでいることに気づくなど。あの記事は確かgithubリポジトリ上に構築されていて、おそらくバックアップを忘れたまま吹き飛ばしてしまったんだと思われる。

この記事、「お前gitって言いたかっただけやろ!」って感じのオチなんだけど、それ以外にも思うところがあるので、書いておこうと思う。

1年後期に「基礎プログラミング及び演習」と称して、C言語を教えるのは、私も疑問を感じている。C言語は、システムソフトウェアをいじるには必須の言語だが、プログラミング初学者が学ぶにはかなり難しい言語だ。1年生の中には、2年生以降プログラミングにかかわらないという人も多いだろう。基礎プログラミング及び演習の目標として「新たな機能を実現するための方法論として、プログラミングの基礎を学ぶ」ということを掲げている以上、C言語に拘る必要はないのではないかと思う。

なんとなく新入生を観察していると、情報・通信工学科に「RubyPython, Goなどナウい言語でウェイウェイする系」であることを期待して入ってくる人が割といるようだ。実際には、記事に書かれている通り、情報・通信工学科はそれよりもっと下のレイヤーのことを中心にやっている。

そういう理由からか、情報・通信工学科の学生には、自身が受けているプログラミングの講義にある種の失望をしている人が散見される。まあ、ウェイウェイ系したくてやってきた人が、なんとかソートやらスパニングツリーやらをやっていても楽しくないのは、ある意味当然だろう。総合情報学科も2年で同じような講義があるので、やはり同じように辛さを吐露している人が見受けられる。

電通大は大学なので、学問としてプログラミングを教える場所である。なので、アルゴリズムやデータ構造の理論を学ぶ講義が必修となっているのは当然だと思う。これらの知識は、プログラミングを今後続けていくにあたって何かと役に立つわけだから、勉強する必要がない、などというつもりは毛頭ない (同様に、大学の教養科目を否定するのも筋違いだと思う) 。しかし、同時にこれらの学んだ知識を応用する機会が卒業研究ぐらいに限定されてしまっているのも事実である。これでは、プログラミングの技術を体に染み込ませることはできない。

大学の講義では、学んだ理論を応用する機会は十分に存在しない。またウェイウェイ系のプログラミングを学ぶ機会もそう用意されているわけではない。ウェイウェイ系のプログラミングをしたいなら、大学の講義だけでは難しい、ということだ。そういったことに関心がある人は、(大学の講義はちゃんと受けつつ) 自分で手を動かすしかない。幸いにして、電通大には非常に優秀な技術を持った人が多いので、そういう人たちに教えてもらうこともできる。有志を募ってハッカソンをするというのも経験になるだろうと思う。