EEIC 3Aの授業を振り返る
3A版です。2A, 3Sについては以下を参照してください!
進振りはEEICへ
EEICって何?
東大工学部の電気電子工学科と電子情報工学科をあわせてEEICと言います。いわゆる電気系。何の略称かは調べてください。
時間割
あとで1つずつ紹介します。(実験は最後にまとめて)
そういえば3Sの途中にコース選択があって電情の場合
A1: メディアインタラクションとかDeepLearning系
A2: コンピュータアーキテクチャ・プログラミング言語・ネットワーク・量子情報系
AS: 半導体チップ, 回路, ワイヤレスセンシング系
が選べます。これで変わるのは卒業要件に含まれる講義だけでそれ以外の何にも影響を与えないのですが、一応僕はA2にいます。
週15コマと、そこそこ忙しいが、理系としては普通の大学生になったような気がします。これまで21コマ/17コマ(+課題)と受けてきてかなりマッチョになったので特にしんどいとかいうことは思わずに実験が選択性なのも相まって学科生活で一番楽しい、QOLの高いセメスターだったと思います。
月1 制御工学第二
教科書:制御工学の基礎 絶版(だが、制御工学第一のHPに要点まとめ版があることに終わってから気づいた)
出席:ない
課題:レポートが2回ガッツリある
おすすめ参考書:わかりやすい現代制御理論
現代制御を学ぶ。分量がそこまで多くなく、状態空間法、同一次元オブザーバー、最適制御、ディジタル制御あたりをやって終わる。講義はスライドで淡々と進んでしまうため、あまり入ってこない回が月1ということもあって多かったが、レポートが教育的でちゃんとやると結構わかった気になる。インターン先の制御に自信ニキ先輩に教科書を教えてもらい、これが結構よかったので普通に勉強になった。ただロバスト制御やってないのでそこだけ春休みに自習しようかな。
ちなみにこの裏で計算論という量子情報入門の講義が行われているせいで、めっちゃ受講者数が少なかった(30人)。
月2 VLSI工学Ⅰ
教科書:いらない(集積回路設計が指定されている)
出席:ない
課題:後半にある
読むと面白そうな参考書:CMOS VLSI回路設計
VLSIってVery Large-Scale Integrationの略なんですよ。めっちゃでかい集積回路、ダサいけど略すとカッコいいよね。
VLSIの内部の基本回路(要するにCMOS回路の組み合わせによる論理回路の作り方)や、その動作原理及び遅延時間とかを見積もれるようになろうねという講義。今年から2人体制で前後半に分かれるようになった。前半で動作の仕方やざっくり遅延の求め方や回路の特性について学んだあと、後半でそれらを組み合わせるときの遅延の考え方とか、設計方法とかパッケージについて学ぶ。
初年度だから後半で前半で習っていないことを要求されてウグググってなった。ロジカルエフォートをはじめとした遅延の見積もりは値がブレがち。結局のところ近似だからまぁ良いんだろうけど。
月5 サイバーセキュリティⅢ
教科書:ない
出席:ない
課題:3回レポート
参考書:いっぱいあるけど、徳丸さんの本をあげておく。
取ったんだけど実験で結構頑張ったあと講義を真面目に受ける気に微妙になれなくて結局資料を眺めながら課題を提出するだけになってしまった。申し訳ない。サイバーセキュリティⅠと同じくレポートが3回あるが、こちらのほうが軽い気がする。Ⅰがネットワークの基礎知識やOSの基礎知識を学んでそれとセキュリティを関連つけていたのに対しこっちは本当に実際に起きた事例を取り上げつつ組織としてセキュリティをどう整えるかみたいな話とか、そのために必要な要素技術についての話がされていた。でも資料しか見れてない。
火1 オペレーティングシステム
教科書:いらない
出席:ない
課題:問題を5回くらい解いて出す
参考書:いっぱいあるらしいが、一番はOperating System Concepts
主にUNIX(というかLinux)を題材として、OSは内部でどういうことをしているのか(メモリの割当やプロセスのCPUへの割当方、そもそもプロセスの作り方やスレッディング、ファイルシステムなど)を実際にコードを動かしてそれを可視化しながら学ぶ講義。個人的には3Sの講義の中でも特に学びが多く面白い講義だった。(τ先生が好きというのもある)
なお、試験直前にそれまで課題演習で使用していたサーバーがダウンした他、当日も試験中にサーバーがダウンした模様(え)
火2 人工知能
教科書:ほぼいらないが一応人工知能の方法という本がある
出席:リアペが毎週
課題:かなり重めのレポート×2
人工知能とあるが、触れるのは最近流行りのDeepLearningではなく、一昔前に流行った遺伝アルゴリズムや、最近のいわゆる人工知能とはちょっと違うようなメタヒューリスティクスが中心。なので、最近の流行りを知りたくてこの講義を取ると思ったのとちゃうくてやる気を失う人が多い(かく言う僕もそうだった)ヒューリスティクスが好きな人なら全然行けそうだと思う。
レポートがそこそこ重いので計画的にやっておく必要がある。レポート問題は↓で見れるので、見てみると講義の雰囲気がわかると思う。
講義の評判は僕の周りではそこまでよくなかったのだが、先生が試験期間を気にしてレポートの提出期限をかなり延長するなど優しいというのが推せる。
水2 分散システム
教科書:いらない
出席:ない
課題:ない
その名の通り、大量のアクセスが来たりするシステムをどうやってスケールするのかという課題を軸において、分散の仕方をざっくりと学ぶ講義
あと少しだけネットワークとセキュリティの要素もある。軽い感じの講義なので気軽に取って良いと思う。あと先生が落ち着きのある感じで良い。
木1 情報通信工学
教科書:ちゃんと学びたい人はあると良いが絶版(ラシィの教科書。スライドが英語かつ試験問題が例題から作られる)図書館で借りよう
出席:ない
課題:今年からなくなった(去年までは毎週重めのがあった)
おすすめ参考書:通信工学(電気・電子系教科書シリーズはこれに限らずうちの学科との整合性が高い気がする。当然だが。)
アナログ通信(AM/FM)にはじまり、ディジタル通信の誤り率や整合フィルタなどをやる。アナログはまだわかるけど、ディジタル通信とかになると結構難しいことも多い。講義に対応する教科書が少ないために結構難儀というポイントがあり、参考書選びに図書館で結構時間を潰した。これまでの講義では通信そのものを取り扱うことがなかったため、結構この講義はシビア。しかもスライドが英語で1限ときたら頭には何も残らない。結果デスマーチになる。でも勉強するとだいたい面白いんだよな。
先生「私も学生時代は遊んでばっかだったけど、試験前だけはちゃんと勉強した」
木2 ヒューマンインターフェース工学
教科書:ない
出席:出席アンケートがある
課題:ない
ヒューマン・インターフェースについて広く学べる講義。先生の話は面白いことが多いが、学術的な内容はあまり頭に入ってこなかった(Human Computer Interactionに興味化が薄いのもあるが)。実際試験勉強は当日の朝くらいしかほぼしていない(そのせいで出来はもちろん悪い)。講義資料はスライドだがスライドが共有されない点に注意が必要。ちゃんとノート取りましょう。
金1 電子回路Ⅱ
教科書:ない
出席:ない
課題:ない
3Sに引き続き回路設計について学ぶ。2人体制の講義。前半でSセメの復習と増幅回路、オペアンプについて学ぶ。後半ではもっと実用に振り切ってA級アンプとか雑音についてとか、PLLとか、A/D, D/Aコンバータの中身とかにふれる。講義の時間的には1:1なのだが、板書の量は1:6くらいになる不思議な講義。でも試験はなぜか前半のほうが難しい。エッセンスをつかむのはそれほど難しいということだろうか。
金曜はこの講義だけ取ってインターンに行っていた。この講義がオンラインなら早めに出社してオンライン受講して、と出来たのだが電気系の先生方は基本的にオンラインが出来ようともオンラインでしようとしない(情報系はこの限りではない)ので、対面で受けていた。
ヒーローはワンパターン。
実験
お待ちかねのやつ。なんと後期実験は実験科目を選ぶことが出来ます。ただし抽選。ただめっちゃ外れたみたいな人はあんまり見なかったので、素直にやりたいやつを上から埋めていけばいいと個人的には思っています。どんな実験をやるのかは概ね進振りパンフレットの通りですが、一部追加されています。なくなった実験はなくてApproxiamte Computingという計算誤りのある計算機上でのAIの挙動の変化を調べる実験と、FPGAにアルゴリズムを載せる実験が追加されています。
おそらく先生もこの実験は研究室でやっていることに近い上に研究室配属に結構参考になってくるので力を入れてくれていると思うし、全部楽しい。
ちなみに僕は
大規模ソフトウェアを手探る(大規模なOSSをいじって遊ぶ)
情報可視化技術とデータ解析(ネットから情報を集めて整理してWEBサイトにする)
マイクロプロセッサの設計と実装(RISC-VをFPGA上で動かす)
の3本立てでした。この選択には後悔していないが、半導体系の実験を入れても良かったかもしれないなぁとは思っていたりします。
僕の場合、すべての実験の成果をすでに他にまとめてあるのでそれぞれは軽く扱うことにします。
大規模ソフトウェアを手探る
グループを組んでCPythonにあったらいいなこんな機能を追加するようにした。言語実装を眺めながらデバッガで色々手探るのはいい経験だったと思う。詳しくは以下の記事参照。すごい班はOSSをいじるというよりは自ら新たなOSSを作り上げてしまっていた…。
情報可視化技術とデータ解析
グループを組んで、人身事故データをスクレイピングして集めてきたのを曜日別, 時間別に整理して傾向がないか見たり、実際の地図上にプロットして多い駅を見たりした。あと実際の時系列に従って再生も可能。結構重たいサイトだがデザインを頑張ったこともあって1位を取れた嬉しみがある。
マイクロプロセッサの設計と実装
RV32IというRISC-Vの中でも最も基本的なプロセッサをVerilogで書いてFPGAで動かす。最終的にはベンチマークを動かしてどんなもんかなぁというのをやって、みんなでスコアを競ったりする。自分は5段パイプライン+分岐予測を作ったところで終わった。M対応とかはすぐに出来るのでやってもよかったななどと。これは発表スライドを上げてある。あと余談だが家に帰ってからより制約の厳しい自分のFPGAにも実装するなんてこともした。すごいヤツは実験期間の1ヶ月くらいの間に7個くらいCPUを設計する。バケモンか。
後期実験の良いところは情報系の実験は特にレポートが形式だってなくて良いところ。軽くブログを書いてそのままレポートになったり、発表メインでレポートはおまけだったりすることがほとんどなので、題材を自分で選んだことも相まって、軽めに済ませられます。
その他
引き続き開発インターンを水金でやっていました。見ての通り2A, 3Sに比べると圧倒的に楽なので、いろんなことに手を出せる時期だと思います。何をするかは人それぞれですね。
おわりに
To 後輩たち
3Aは楽しいぞ。まじで。楽しい実験にそこそこ専門性が上がってきて楽しい講義に課題はほぼ無いと来た(感覚麻痺ではある)。圧倒的に楽しいからこれまで耐えよう。あとTwitterは引き続きやっとこう。
To 進振りの参考に見てる人
EEICの前半(すなわち2A/3S)は、工学部電気系の教養みたいな感じでいろんなことをやらせますが3Aは専門性が上がってきて、やりたいことを出来るようになります。そのやりたいことが2Aに入ってきたときと同じかどうかは割りと人によるし、変わっている人も多いです。なので最初に門戸の広いEEICを選ぶというのは良い選択肢の一つだと思います。情報系も範囲が広く(プログラミング言語からスパコン、量子情報、社会実装まで)、僕が触れていないような電気系(例えば、エネルギーや核融合、プラズマなど)にも自由に行けます。EEICは良い学科です。進振りはEEICへ
3Aは自由度が一気に上がり充実度も高いセメスターでした。ただ、これから研究室配属があります。果たしてどんな研究室に行くのか…楽しみですね。😏