kmizuの日記

プログラミングや形式言語に関係のあることを書いたり書かなかったり。

大学の時に苦手/得意だった講義

 そろそろいい歳したおっさんになった私としては、たまにはこういう思い出話を書くのもいいかなと。あと、なんか私がCSわかってる人みたいに思ってる人Twitterのフォロワーさんに意外と多そうな気がしますが、そうでもないですよ、みたいな話としても、

苦手だった科目ベスト5

1位:解析学

今ではそうでもないですが、大学の時滅茶苦茶苦手でした。どれくらい苦手かと言うと、

  • 一年の時に解析学ⅠとⅡとⅢの単位を落とし
  • 二年の時に解析学Ⅱの単位を取得し
  • 三年の時に解析学Ⅲの単位を取得し
  • 四年の時に解析学Ⅰの単位を取得し

たくらいには苦手です。今もって、なんで最後に解析学Ⅰ、つまり一番基本的なところの単位取得してるのかさっぱりわからないのですが(単に不真面目だったせいかもしれない)、ともあれ、苦手意識を植え付けた一番大きな原因は間違いなくε-δ論法です。先に論理における量化子(∀と∃)を教えてくれればここまで手こずらなかった気がするんですが、というのは逆恨みですが。しかし、私と同じようにAC入試で入った組は総じて、離散値を扱うのは得意でも連続値を扱うのは不得意だった傾向がある気がします。

プログラマでも同じように離散値扱うのは得意でも……という人は多そうな気がしますが、一体なんでなんでしょうね?加算無限は簡単に扱えても、非加算無限はどうにも苦手みたいな感覚とか。

2位:自然言語処理

特に自然言語処理の授業は実習がセットであって、しかもその点数を競い合うみたいな奴だったのですが、私が作ったモデルはどうにも過学習になりがちで、たしか全然高得点残せませんでした。苦手とはいえ、一応実習あり、つまりプログラム書く部分があって救われた感があります。

3位:論理と形式化

平たく言うと、自然演繹による証明法を習う授業です。これは不思議なのですが、今は割と自分の武器として普通に使えるものの、当時はめちゃくちゃ苦手でした。証明図とかもわかるようでわからんみたいな。確か単位は取れたと記憶しているのですが。

4位:関係代数

これも今となってはなんで苦戦してたのかさっぱりわからないのですが、正規形とかタプルとかあんましよくわかってなかった感が強いです。当時はデータベースにあんまり興味がなかったせいでしょうか。

5位:電磁気学

割と大学時代のトラウマになった授業の一つでもあります。今やりなおせばそうでもない気がするんですが、ともあれ、大学生の時は全般的に連続値を扱う学問が苦手だったのは確かです。

得意だった科目ベスト5

大体、苦手科目のところに書いた「離散値は扱えるけど、連続値を扱うのが苦手」みたいな傾向がそっくり現れた感じですが。

1位:データ構造とアルゴリズム

この辺は大学入る前に自習始めてたというのもありますが、あんまり苦労した覚えがありません。実習でもさっさと終わらせた余裕ぶっこいてた気がします。

2位:プログラミング言語関係の講義全般

JavaでもCでもプログラミング言語概論的なのもそうですが、ほぼ勉強した覚えがないくらいには得意でした。確か、プログラミング言語概論なんかは、期末試験に寝坊して「やばっ」と慌てて連絡したものの、「試験に寝坊したのが悪い」というど正論を担当の教員に突きつけられ、あー、単位落としたかなと思っていたのですが、それまでのレポートとか中間試験の成績だけで、一応Cは来てました(A/B/Cまでが単位取得)。

3位:システムプログラミング

システムコール使って、適当にプログラム書く系の授業ですね。なんか、当時の先輩に相談されたことがあった気がしますが、write/readとかのシステムコール適当に呼び出すだけで良かった記憶です。

4位:オートマトン形式言語

この辺はどう考えても今に繋がってるなーと思うのですが、一つには当時の担当教員がそもそもこっち方面専門だったのでわかりやすい講義を受けられたのも大きい気がします。さすがに形式言語専門の人に比べれば全然ですが、まーなんか言語階層の話をおおざっぱにつかめたのは良かったなーと感じてます。あと、この講義を受けてたおかげで大学院で一応まがりなりにも研究出来た気がします。

5位:コンパイラ系の講義

なんか、講義を無視して自分で一から処理系書き直してました。確か、tiny-cという名前のCのすっごい小さいサブセットを作る講義だったのですが、lex/yacc使うのが個人的に気に食わなくて、担当教員に「JavaCCとか使っていいですか?」と聞いて、OKもらったのでJavaで書き直した思い出。

というわけで、とりとめもなく、適当に苦手だった講義と(比較的)得意だった講義とか書いてみました。もうちょっと勤勉な学生だったら良かったのではと時々後悔することがあります(特に、解析学とか不真面目過ぎたし、自然言語処理ももうちょっと真面目にやれば良かった)。