いわゆる理情3年Sセメスターの振り返りです。
備忘録兼後輩の進振りの参考になればなぐらいの気持ちです。
まずは平和な講義たち(実験でないという意味)です。
全部二限にあって、どれも特に出席は取られないです(あっても単位救済用のようです)。
オペレーティングシステム(月2)
OSの仕組みなどについて学ぶ講義です。スライドが配布されます。
同期の取り方やスケジューリングのやり方などについての話を聞きます。
テスト勉強をすれば単位が来るはずです。
離散数学(火2)
離散数学について学ぶ講義です。板書しかないです。
双対性が全体のテーマで(おそらく)、グラフの基本的な性質から始まり、フローや線形計画問題、マトロイドなどの話を聞きます。
演習(後述)と内容は割とかぶっているのでそれをやっていればヤバいことにはならないはずです(多分)。
情報論理(水2)
情報論理について学ぶ講義です。教科書が英語...です。
今年は先に計算可能性などの話をしてから、等式論理、述語論理、命題論理とやって、最後にゲーデルの不完全性定理について少し触れたようです。
たまにレポートが出ます。
英語ですし、とっつきにくいので僕は割と苦しみました。
言語情報処理系論(木2)
言語情報処理について学ぶ講義です。スライドが配布されます。トラの本が参考書でしたが僕はあまり使いませんでした。
字句解析から機械語生成まで、処理系の流れに沿って話を聞きます。割と重点的にやっていたのは、LAとかLALRとかあの辺の話です。
たまにレポートが出ます。中間試験があります。
計算機構成論(金2)
計算機の構成について学ぶ講義です。教科書があります。
計算機についての話をいろいろと聞きます。頭をすごく使うというよりは、いろいろな知識を集めるイメージでした。
グループに分かれて何か一つのCPUについて発表するのが途中でありました。
試験は語句をたくさん覚える感じでした。
あとは平和ではない講義(実験)たちです。
一応これらは3,4限ですが、終われば一瞬で帰れますし、終わらなければ日をまたぐこともあります。
システムプログラミング(月3,4)
一応オペレーティングシステムの演習ですが、あまり内容は一致してないです。
linuxコマンドを使ってみようから、実装してみようとなり、スレッドの同期をやったりシェルを自作したりします。とここまでは比較的平和ですが、linuxにシステムコールを追加してみた後に、「べあめたるぷろぐらみんぐ」なるものが始まって、ページテーブル書いたりします(慣れてる人は楽なようですが)。最後のほうの課題は仕様書とのにらめっこになり、僕はかなり苦しみました。
関数論理型プログラミング(火3,4)
OCamlとPrologというプログラミング言語の演習です。
最初はOCamlでいろいろと実装することになりますが、どれも文法わかってればいいという感じではなく、関数型の理解をしてないとつらいので慣れてないとつらいです(が、2年生のときにSchemeを授業で一応やってるのでそれが役立ちます(なぜ最初からOCamlではないのか))。途中から与えられたプログラムに機能を追加していく形でOCamlの処理系をOCamlで書くことになります。かなり誘導が親切なので、オプショナル課題以外は割とすんなりいくことが多いです(いかないこともありました‥)。最後の数回はPrologという論理型プログラミング言語で演習をします。これはこんな言語もあるんだなぁという感じで終わります。
ハードウェア実験(木3,4)
機械をごちゃごちゃする演習です。
最初のほうはLANケーブルを作ろうと言って図画工作をしたり、回路作ると言って盆栽(あちこちに配線する)したりします(僕はどっちかというと測定係でしたが)。途中からvivadoを使ってVerilogでいろいろ書くことになります。vivadoと言われても右も左もわからないので、TAや先生に依存しまくることになりますが、優しい(今年は)ので気楽に聞けます。とはいえ、変なバグを踏み抜いたりと沼にはまると地獄です。