2年Aセメスターの振り返り

情報科学科に入って最初のセメスターが終わりました。どんな授業を受けたのかなどを振り返ってみたくなったので記事を書いてみます。

授業

必修

計算機システム

コンピューター・アーキテクチャを広く浅く網羅する感じの授業で,ALU,CPU,アセンブリ,OS,ネットワークなどについて扱いました。今学期に入ってから自分でハリネズミ本を読んだり,OS V6のカーネルを読むゼミを開いたりしていたのですが,授業がタイミング的にちょうどそこで学んだことの復習になっていたので個人的には楽しかったです。

ハードウェア構成法

演算器やカウンタ等のデジタル回路の基本的な設計について学びました。授業に関しては,進度が速すぎたり,いきなり脱線してアナログ回路の話をし始めてそれが延々と数十分も続いたりなどしていて,聞く方としてはかなり戸惑いましたが,授業後の質問では分かるまで親身に教えてくださいました。 指定教科書が良書で,特に論理圧縮などは(試験では問われないものの)解説が詳しく興味深かったです。また,授業中に解説無しで出てくる,先生独自で使われている(と思われる)用語が教科書ではきちんと解説されているという点でも,この指定教科書は有用であったと思います。

授業後にしばしばカフェでお茶会が開かれており,最初の回だけは参加しましたが,先生があまりにも気前よくおごってくださって申し訳なくなってしまったのでそれ以降は参加しませんでした。

冬休みに回路設計の課題が出され,Verilogを用いて実装したのですが,割と手続き型言語のようなプログラムになってしまい,HDLっぽい書き方(とは?)ができた気がしなかったので消化不良な感じがあります。

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

授業の板書が教科書と全く同じであることに気づいてしまってからは真面目に聞いていませんでしたが, 主要なアルゴリズムを体系的に学んだことはなかったので良い機会になったと思います。

情報数学

束・群論など代数系の話題から始まり,暗号化,情報量,符号化について学びました。代数パートは最初は慣れない感じがしましたが,試験勉強をする内に楽しさが分かってきたので春休みに雪江代数を読もうかなという気持ちになっています。符号化は未だにしっくり来ていない感じがあります。

形式言語理論

オートマトン理論についての授業でした。先生の話が上手で,今学期受けていて一番楽しかった授業でした。Myhill-Nerodeあたりの本来難しい箇所の説明も直感的でだいぶ分かりやすかった気がします。時間が足りずチューリングマシンの話がなおざりだったのは少し残念。

また,授業中の雑談から先生の人格の良さが垣間見える瞬間があり,素直に憧れだなあと思いました。

情報科学基礎実験

C言語SchemePowerPCアセンブリの課題がありました。C言語はプログラミングを始めた1年前から触っていましたが,この実験を経て初めてきちんと理解したという気持ちになりました。Schemeは全く書いたことがない状態から始めましたが,課題に沿って進める内にメタサーキュラインタプリタ(Schemeで作るScheme処理系)を作るところまで行き,非常に学びが多かったです。いつかSICPを読んでみたい…。

選択

集合と位相

数学科の2年生向けの授業。 前半の集合論パートでは情報数学と内容がかぶる部分があり,つまりそれだけ情報系にとっては基本ということだと思うので,この授業できちんと学べてよかったという感じがあります。後半の(距離空間・)位相空間は結構苦戦しました。 特に多位相空間の構成の例として出てきた双対空間の話題はあまり理解できなかったのですが,線形代数の授業(代数と幾何)を取っていた友人は結構理解していたようだったので取っておけばよかったのかな…と一瞬思いました(一瞬だけ)。

また,イメージは掴めているつもりでも証明が構成できない,ということが多々あってもどかしい思いがしました。

自然言語処理

後期教養学部学際科学科の授業。授業はO'Reillyの「入門 自然言語処理」の本そのままで,古典的なNLPの手法を実例を交えて解説していくという感じです。2週間に一度出される課題もあまり難しくはなく,最終のレポートも簡単だったので楽単でしたが,頭を使わなくて良すぎて逆に虚しいので,切実に単位がほしいという人間以外は上記の本を読んだほうがよいかもしれません(?)

電子デバイス基礎

工学部電気系(EEIC)の2年生向けに開講されている科目で,トランジスタの動作原理の基礎を学びました。構造化学でやったような半導体中の電子の振舞いの話から始まり,主にMOS-FETやバイポーラトランジスタの動作原理についてまでを扱いました。 量子力学などはあまり好きではありませんでしたが,指定教科書が分かりやすかったのでそこまで苦ではありませんでした。

記号論理学Ⅱ

前期教養の科目です。単位が足りなかったわけではないのですが,3年次の授業につながる内容だと聞いたので履修してみました。

数理論理学の立場から計算理論を学んでいくもので,具体的には(Sセメスターの記号論理学Ⅰにおける自然演繹に引き続き),公理的集合論,命題論理のモデル論,再帰的関数論,ゲーデルの第一不完全性定理を扱いました。表現定理の辺りから理解が曖昧になっている気がして少しもやもやしているので,先日買った下記の本を春休みに読めるといいな…という感じです。

数理論理学 (現代基礎数学)

数理論理学 (現代基礎数学)

月曜1限なので授業開始に間に合って出られていたことが一度しかなく(),しかも記号論理学Ⅰを履修していなかった私は最初から講義に追いつけていなかったので,あまり先生の話を聞かずにプリントを読んで自習していました…

ゼミ

以前の記事でも紹介したように,UNIX V6のカーネルを読むゼミを毎週やっていました。一応ほぼ最後まで読み終わったので達成感があります。普段は本を読み始めても途中で飽きてしまって最後まで読まないという悪い癖があるのですが,人と一緒に読むとモチベーションが続いて読み切れるということがわかったのでこれからも小規模な読書会を開いていきたいです。