どんぐりの世界に答えを出すブログ

世の中の全ての問題に答えを出すブログ。学校では答えを教えてくれない日常や実際、人生上の問題に「答え」を出していきます。あなたが疑問に思う問題も募集中。

【東大院試】1か月前から始める電気系工学専攻の外部受験対策

はじめに

 この記事は東京大学 大学院工学系研究科 電気系工学専攻を外部から受けて第一志望の研究室に合格した僕(どんぐり)が、外部が受かる方法についてまとめた記事です。
 でも実は、このブログでは普段はこんな記事は書いておらず、例えば次のような記事を書いています。

sekakota.hatenablog.com

sekakota.hatenablog.com

 明らかに大学院受験に関係ないブログですね。
 本当だったら大学院受験記についての別のはてなブログを作ったり、noteとかに寄稿すべきです。

 なのになぜこのブログに書くのか?
 それはこの受験記をエサにしてこのブログの記事を見てもらいたいからです!
 これをマーケティングの世界で「なんとか」といいます(忘れました!)。
 なので、皆さん、他の記事も見ていってくださいね。

 しかし、世の中は本当に大学院受験についての情報が少ないです。
 多分、内部から受ける人にとっては先輩とかに聞けばわかるんでしょうが、僕のように外部から目指す人にとっては試験範囲が分からなかったり、自分の大学では習ってないことが出たり、いろいろ情報が足りないものがあります。
 多分、外部の受かる確率が低いのは頭脳面だけじゃなくて、その情報格差によるものもあるんだと思います。

 けど、例えば僕が目指した専攻とかだったら外部が毎年百人以上受けているというのに、誰も発信してないのは不思議です。
 、、いや、受かってるのは数十人だからその中から発信する人は少ないか。(悲しい気づき)

 まあみなさんも、もし受かったら後輩のためにブログにしましょう!
 今はnoteとかもあって、簡単に記事を発信できるので、もしかしたら収益化できるかもと思ったらやる気が出てきませんか?(導入コストが許容できればはてなも良いですよ)
 (あ、僕が記事にする電気系工学専攻は競合になっちゃうのでやめてくださいね冷)

タイトル回収

 さて、キャッチーな名前にしたかったので「1か月前から始める電気系工学専攻の外部受験対策」というタイトルを付けましたが、(!)
 そもそも僕自身は数か月前から対策をしていることに注意が必要です。

 というか、そもそもTOEFLの点数の提出が2か月前にあるので、1か月前から受験しようと思っても物理的に間に合いません。
 しかし、「大学院受験に興味があるなら、たとえ今大学3年でも、今すぐ勉強し始めるべきだ」と言っているサイトもある中、僕は「そこまでしなくてもいい、仮に専門科目だけの対策ならめちゃくちゃ頑張れば1か月の勉強でも間に合う可能性はある」と、諦めないでほしいと思ったので、このようなタイトルを付けました。

 まあただ、僕自身は数か月前から勉強していますし、早めに始めているほど安心感はすごいので、早めに始めるに越したことはないです。
 それと、もちろん1か月というのは学部時代の学科の分野と大学院の専攻の分野を大きく変えていない場合に限ります。
 でも、例えば忙しさが理由で外部受験をためらっているとかだったら、最悪夏休みに入ってからスパートをかけるで間に合う可能性もあるから、諦めないでほしい、と強く思います。

倍率1.7倍の壁と専門科目対策の基本方針

 ※倍率については2023年度入学試験結果から算出、少数第2位を四捨五入した。

 「『1か月前からでも間に合う可能性がある』って、いやいや、外部の倍率は1.7倍もあるんだよ。みんな頑張って数か月前から勉強してて東大生とも戦わないといけないっていうのに、1か月前から勉強して間に合うわけないじゃん」と思うかもしれません。

 落ちた人たちがどんな勉強をしていたかが分からないのでこれは憶測になるのですが、外部が落ちる確率が高いのは単にどんな分野が出るかが分かっていないからではないかと僕は思っています。
 というのも、大学院の入試は8割方基本問題だからです。

 数学でたとえるなら、f(x)=4x^3+2x+1積分してくださいみたいな問題が8割方で、f(x)=√sin(4x^3+2x+1)積分してくださいみたいな問題はあまり出ないということです。
 それでも、「積分が出る」ということを知っていなければ、その基本問題さえ解けません。

 東大と外部の大学では、同じような分野を習っていてもその分野の個々の概念の扱い方の重さや学ぶ深さが違ってきます。
 それにより東大では授業ノートを見返して期末テスト対策の延長線上で済むものが、外部にとっては資格試験レベルになってしまっているのだと思います。

 しかし、逆に言えば東大ではどんなことを学んでいるかが分かれば、院試は難しくないということです。
 この理由により、専門科目対策の基本方針は「まずは東大では何を学んでいるかを知るという情報戦で勝つ」ということになります。

院試対策の3ステップ

 院試対策には、時系列順に3つのステップがあります。

  1. 願書提出日までにTOEFLでいい点を取る。
  2. 志望理由、研究計画について考え、願書を出す。
  3. 専門科目について勉強しまくる。
  4. (口述試験対策)

 僕の場合は、同時並行でやる時間的余裕がなかったので、1. 願書提出日2週間前まではTOEFLの勉強、2. TOEFL受験終了から願書提出日までは願書の推敲、3. その後はひたすら専門科目の勉強という風に完全に分かれました。
 でももちろん、専門科目も早めから勉強しておくに越したことはないと思います。

 口述試験対策がカッコ付きになっていますが、僕は口述試験は他のステップに並べるほど大きな要素ではないととらえています。
 詳しくは後述します。
 これから、この3つのステップの対策について説明していきます。

ステップ1: TOEFLの目指すべきレベルと対策

 一般的には(正確には玉石混合のネットの情報では)、TOEFLは80点が必要だと言われています。
 ただ、ここまで高い点数が必要なのかは疑問なところがあります。

 というのも、院試を受ける際に僕は研究室訪問をしたのですが、その際に教授に「TOEFLどれぐらい取ればいいんですかねぇ」と不安な顔をして聞いたところ、「うーん、でもあんまりTOEFLのウェイト高くても留学生ばっかりになっちゃうからねぇ。TOEFL足切りには使ってないし、50点でも受かる人はいるよ」といわれました。
 院試を担当したこともあるお偉い教授の方で、一受験生にそんなことを言っていいのかと内心思いつつ、「TOEFLのウェイト高くても留学生ばかりになる」という話には思わず「確かに!」と共感してしまいました。
 ちなみにこの教授の名誉のためにこの話は僕の記憶違いの可能性もあると補足しておくので、あんまりこれを当てにして勉強をさぼらない方がいいですよ。

 ちなみに、僕がこの会話をしたときは願書提出直前で、僕はすでに87点を取っていました。
 ただ、僕はこの時別の専攻の冬入試のためにさらに高い点数を取ろうと考えていた(気が変わり結局その冬入試も受けなかったが)のですが、この教授との会話でその気力が失せました。

 さて、対策ですが、具体的な対策は他のサイトにお譲りします。
 僕が参考にしたのは次のようなサイトがあります。

www.path-to-success.net

www.path-to-success.net

 「どれぐらいの時間勉強すればいいの?」という質問に関しては、その人の英語力次第なので一概には言えないと思います。
 とりあえず一旦受けてみて、どれぐらいの点数がもらえるかというのを実感して、あとは中国TPO(無料の過去問)で対策するのが良い(もちろん問題集とかで基礎も固めつつ)のではないでしょうか。
 僕は1回目は60点でした(ちなみに僕も60点行くとは思っていませんでしたが、意外と点数もらえます)。

 とはいえそれが答えでは不安かと思いますので一応僕の例を書いておきます。
 僕はさっき87点を取ったと言いましたが、院試だけでなく就職も考えていたので、できるだけ高い点数を取ろうとしていました。
 勉強した期間としては2月末から6月中旬にかけて勉強しており、その間に3回TOEFLを受けています。
 その間大学の授業はとらず、院試の専門科目の勉強も全くしていませんが、インターンやら研究室やら2週間海外旅行に行ったりやらで5月末まで忙しかったので、割と後半でスパートをかけた(ほぼ毎日終日勉強した)感じです。
 これはこうした方がいいとかそういったことではなく、ただの一サンプルとして受け止めてもらえればと思います。

 あ、ちなみに、TOEFLの提出日ですが、許容される受験日は8月中旬までとなっているのに、提出するテストスコアを選ぶのは願書の提出日までになっています(2023年度の場合)。
 なので、結局6月中旬ぐらいまでにTOEFLを受験するのが現実的になります。
 僕はこれに6月に気づいて焦りました。

ステップ2: 願書の書き方

 まず前提としてなんですが、願書は口述試験で聞く話のタネだと僕はとらえています。
 人数が多かった場合に書類選考があるという話はありますが、200人以上受けた2023年度でさえ書類選考がなかったので、それはめったに起こらないのではないかと思います。
 つまり、願書自体にそれほどの価値はなく、それをベースにした口述試験の内容に価値がある、と思っています。
 (色々あって僕は面接官の経験が数度あるのですが、これはその経験からの推測です。)

 とはいえ願書が変だと口述試験で挽回できなくなってしまうので、もちろん必死で書くわけですが、(少なくとも2023年度形態の)願書で最も難しいのは「論文を紹介して興味のある研究分野について1ページ以内に記入せよ」という最後の設問だと思います。
 これに関しては「東大に行くこと」が目的で、「東大で研究すること」は手段だった僕も相当悩みました。
 だいたい大学4年頭の時点で興味のある研究分野なんて定まっているわけがないし、そもそも志望研究室を20も上げないといけないということは第一志望に行けない可能性も高くて、なのに志望研究分野なんて聞いて意味あるのかと思いました。

 しかし、ここでも先ほどの教授の言葉がヒントになってきます。ちなみに、(特定されないようぼかして言いますが)この教授は複数の専攻を兼任しており、複数の専攻の入試形態に詳しかったです。  その教授によると「A専攻はやりたいことで入れる人を見ているけど、電気系専攻は能力で入れる人を見ているよ。口述試験があるのはオンラインで入試をやっているから替え玉かどうか僕らは分からない。だから、(研究分野を聞くのも全く無意味ではないんだろうけど、)口述試験を課して、ちゃんと本人に筆記試験の結果に見合う力があるのか見てる」といわれました。
 やっぱり一受験生にそんなことを言っていいのかと内心思いつつ、この教授のおかげで僕は楽になれました。
 あ、ちなみにやっぱりこの言葉も僕の記憶違いかもしれません。

 それはともかく、僕は口述試験で「東大に行きたいが一番大きな理由だ。興味のある分野としては願書に書いた通り○○や××があるけど、一つだけでなく興味が分散している」と正直に伝えるという前提で、願書はとりあえず今興味がある分野について丁寧に書くことにしました。

 願書自体の書き方ですが、僕は論文の導入/イントロのような書き方を意識しました。
 つまり、「○○は社会に××のような利益をもたらす。しかし~~という問題がある。これを解決するために注目されているのが△△である。」という話を8割方して、「△△の先行研究としては…がある。これらには☆☆のような課題があるのでそれを解決したいor◎◎を使った新たな△△を研究したい」という話を残り2割でするのです。

 社会への影響等の一般人に身近な側面を切り口にして、そこから研究したい分野へとどんどんレイヤーを下げていく感じです。
 ちなみに最初の方は一般人に身近なことを説明するので、割と当たり前のことを長々説明することになるかもしれませんが、それをネットの記事とかでいいので引用した文を使って説明をすると説得力が出ます。
 (論文のイントロってそんな感じですよね?)

 ちなみに僕は「○○(問題)を解決したい」とは書きましたが、「どうやって」については一切書きませんでした。
 でも、それで問題なかったようです。

 補足: 口述試験の対策も参照してください。

ステップ3: 専門科目の対策

 ちょっとここに書いていると長くなってしまうので、記事を分けることにしました。
 こちらの記事をご覧ください。

sekakota.hatenablog.com

補足: 口述試験の対策

 色々分析する前に僕の口述試験がどんな内容だったかを説明しておきましょう。
 確か5人ぐらい?の先生たちとの面接で、一人一人順に僕への質問のターンが回っていく、みたいな感じでした(多分人や面接官によると思うのでこれは僕の場合です)。
 質問の内容は、うろ覚えですが、ほぼほぼ次のような感じで多分漏れはないと思います。

  1. リーダー格の先生1に「志望理由、修士課程で行いたい研究内容、修士課程終了後のキャリアパスについて教えてください」と聞かれた。
    (自分の面接官の経験から)願書の内容をさらうあいさつ代わりの質問だなと確信した。これは願書と相違ない内容が言えていれば問題ない。 (逆に詰まるとそこを次の質問で詰められる。)ただ、僕はステップ2: 願書の書き方で説明した通り、志望理由が願書に書かれていないところにあったので、それを最初に正直に話した。 東大に行きたい理由は優秀な人から刺激を受けたいからというような方向性で話した。 また、やりたい研究内容は願書の内容に触れつつも、興味が分散していることを強調した。
  2. 先生2に、試験の出来と試験に出なかった分野に関して質問された。
    試験の出来については「外部受験にしてはできたほうだと思う」と(我ながら生意気に)答えた。僕は問題3(情報理論、信号処理)と問題4(ディジタル回路、アルゴリズム)を選んでいて、その後個別の出来と理由を聞かれ、アルゴリズムについての質問が始まった。なお、筆記でアルゴリズムが特にできなかったような記憶はないから、単にその先生の得意分野なんだろうなと思って答えていた。インスピレーションで質問を選んでいるのか、試験内容がマージソートだったので、他に知ってるソートについて教えてください的な質問が飛んできた。僕がいくつか言ったソートアルゴリズムの中からこのソートの計算量オーダーは?みたいな感じで聞かれた。分野としては全く院試の試験範囲と同じものだったので答えに困ることはなかった。
  3. 先生3に、願書の内容で触れた技術について質問された。
    願書で「これを解決するために注目されているのが△△である。」的な感じで触れた△△について説明した。ここら辺に関しては僕もネットで調べながら書いており全然素人で詰められるかなと思っていたが、△△という技術の超導入だけ説明したら、質問が終わった。どうやら先生たちも専門ではないのでそれ以上質問が浮かんでこないらしい。
  4. 先生4に、卒論と修士でやりたい研究が違う理由について聞かれた。
    僕は大学での研究と修士でやりたい内容の研究が違うのだが、その理由について正直に話した。
  5. 最後に、趣味を聞かれた(雑談として)。
    基本的にすらすら答えたので、25分ある口述試験の時間の中で、15分で先生4までの質問が終わってしまった。場が沈黙してしまったので、リーダー格の先生1が趣味を聞いてくる始末となった(もちろん雑談として)。

 図に書いて説明するためにA43枚の紙の持ち込みが許可されているのですが、全部身振り手振りで説明したので僕は使いませんでした。

 もともとステップ2: 願書の書き方の教授の話があったので、あまり興味のある分野方面の知識を勉強しておくことに身が入らなかったのですが、まさかここまで聞かれないとは思いませんでした。
 結局、僕がした対策は当日に願書の内容をすらすら言えるようになるまで練習しただけで、願書で上げた論文も深くは読まず、口述試験時には完全に内容を忘却していたというのに、まったくそれについての質問が飛んでくることはありませんでした。
 (僕の願書の書き方だとイントロダクションがメインになるので、論文は(時間がなかったので)後で読もうと思って、願書を書いた当時は軽くしか読んでいませんでした。結局「後で」が来ることはなかったのですが)

 さて、以上から、僕の経験に則ると口述試験対策は筆記試験対策の延長線上でできるという感じになりそうです。
 ただ、院試の問題が解けるレベルの筆記試験対策だけではだめで、内容や概念を理解する(または覚えるでもよいが。教科書以上のことは聞かれなかった)ような対策が必要そうです。

 あと、僕の話に関して言うと、僕はそもそも子供のときからプログラミングをやってて大得意なので、その得意分野を聞かれたからすらすら答えられたというのはあります。
 でも、口述試験で聞かれて答えたことは、完全に筆記試験用に勉強したアルゴリズムの教科書に書かれている内容そのままでした。

 まあただ、興味のある研究分野についてあまり聞かれなかったという話ですが、他のブログを見てみると修論計画について詰められたとという話もあります。
 なので、このセクションに書いてある情報はあまりあてにならないかもしれません。
 でも、どうしても口述試験対策の時間がなかったときは、最初の興味のある研究分野についての質問で、興味が分散していることを強調しておくと、答えられなくても仕方ないね、となるかもしれません。

おわりに

 この記事では院試は思ったより簡単だよということを強調して書いてきたつもりですが、油断は禁物です。

 僕が思ったより簡単と思ったのは院試の勉強が終盤に差し掛かってきてからであり、それまでは僕はずっと焦りと不安と闘いながら暇さえあればトップスピードで勉強して、という生活を送っていました。
 院試が終わった今となっては、最初から勉強すべき項目が分かっていたらこんなに焦ることはなかったなと思いますが、多分僕は焦りと不安があったから色々と打ち破ってこれた困難があるように思います(なんかジャンプの主人公みたい)。

 僕は、専門科目の試験は満点を目標にしていました。
 大学の入試なら満点なんてありえませんが、基本問題8割、応用2割の大学院入試では、満点もあり得ない話じゃないと思います。
 試験当日、各大問で半分ほど解けず、とても焦りましたが、このままではいかんと頑張った結果、2周目で完答することが出来ました。
 あとで教科書を見直したら結局2問ほど間違えていましたが、それでも、目標を高く掲げた故の焦りがあったからこそ、この大逆転が起こったのだと思います。

 まだ院試が簡単だと思えなくて、すでに焦りを感じている人はそのままで、院試が簡単だと気が抜けてしまっている人は、満点を取らなきゃ落ちるぐらいに考えてみてください。
 それぐらいの焦りを感じながらの方が、きっと本番でいいパフォーマンスを発揮できると思います。

 ちなみに、この記事は僕という一サンプルの経験に基づいたもので、全員に当てはまるものではないと思います。
 なので、僕/私の院試もこの記事と同じだった!という感想でも、この記事とは違った!という不満でも、後輩のためにぜひコメント欄に残していってもらえればと思います!

【東大院試】外部受験組のための電気系工学専攻の専門科目対策

はじめに

 この記事は東京大学 大学院工学系研究科 電気系工学専攻を外部から受けて第一志望の研究室に合格した僕(どんぐり)が考える、外部が受かるための専門科目の対策法についてまとめた記事です。

 この記事は以下の記事(以下、前回の記事という)の続編になっているので、先にこれを読んでおいた方がいいかもです。

sekakota.hatenablog.com

そもそも専門科目とは

 電気系工学専攻の院試で受ける試験は1. TOEFL、2. 専門科目、3. 口述試験の3つがあります。
 電気系工学専攻の専門科目は2020年に問題構成が大幅に変わっており、それ以降以下の6つの大問から2問を選んで150分以内に解くという内容になっています。

  1. 電磁気学
  2. 電気回路
  3. 情報工学
  4. 情報工学
  5. 固体物性
  6. 制御・電気エネルギー工学

 大問は2つの中問から成り立っていて、中問は4~6、たまにそれ以上の小問から成り立っています。
 大問はだいぶざっくりとした名前をしていますが、電磁気学以外はさらに二つの分野・科目に分かれて、それぞれが中問を一つずつ作ることになります。つまり、僕が選んだ大問3と4だったら、それぞれ情報理論と信号処理、論理回路アルゴリズム・プログラミングの中問がある感じです。
 (以上は2023年時点の分析です。)

専門科目対策の基本方針

 前回の記事で話しましたが、外部が落ちる確率が高いのは、頭脳面だけではなくどんな分野が出るかが分かっていないからだと僕は思っています。
 なぜかというと、院試は数学で言えばf(x)=4x3+2x+1を積分してくださいみたいな基本問題が8割方で、f(x)=√sin(4x3+2x+1)を積分してくださいみたいな応用問題は2割ぐらいしか出ないからです。
 それでも、「積分が出る」ということを知っていなければ、その基本問題さえ解けません。

 同じような分野を習っていても、大学によってその分野の個々の概念の扱い方の重さや学ぶ深さは違ってきます。
 それにより東大生にとって授業ノートを見返して期末テスト対策の延長線上で済む院試対策は、外部にとっては資格試験レベルになってしまっています。
 だから専門科目対策の基本方針は「まず東大では何を学んでいるかを知る」であるという話をしました。

 ではどうやって「東大では何を学んでいるか」を知ったらいいのでしょう。
 勘のいい方はもうお気づきでしょう。そう、東大にもぐりに行けばいいn

 「どうやって『東大では何を学んでいるか』を知ったらいいの?東大生に聞こうと思っても電子情報工学科や電気電子工学科出身の知り合いなんていないよ?」

 安心してください。これをやるのに誰にでもできる簡単な方法が存在します。
 それは、志望研究室の先輩に聞くということです。

「東大では何を学んでいるか」を志望研究室の先輩に聞こう!

 少なくとも僕の経験では、志望研究室の先輩は自分の研究室を目指す後輩に親身になってくれるようで、メールで「東大ではどんな教科書を使ってるんですか?」的なことを質問すると、丁寧に答えてくれました。

 とはいえ、全く会ったことのない人にはそこまで親身になってくれないでしょうし、こちらとしても顔も合わせたことのないのにお願いするのは図々しいので、まずは研究室訪問をしましょう。
 研究室訪問は、先輩とお近づきになって煮え切らないカレとの関係を発展させるチャンスであると同時に、研究室の雰囲気を知り、20も選ばないといけない志望研究室選定の判断基準を増やす機会にもなります。

 ちなみに、教授側もこちらを見るから、院試で受かるためには研究室訪問しておいた方がいいとか、研究室の研究内容を完璧に理解して行かないと評価が下がる、みたいに思うかもしれません(少なくとも僕はそう思っていた)。
 しかし、(電気系工学専攻では)全くそういうことはなく、教授側がこちらを評価していることはないですし、訪問しなかったからと言って院試で受からないということはありません。
 それに、大学4年頭の時点で研究内容を完璧に理解している人なんていないと教授も分かっているので、その点は心配しなくて大丈夫です。

 むしろ、自分のために研究室訪問をしましょう。

研究室訪問の仕方

 あなたがこの記事を読んでいるのがいつごろか分かりませんが、研究室訪問するのに、早いも遅いもありません。
 どこかのサイトは大学3年生のうちに研究室訪問した方がいいみたいに言っていたような気がしますが、全くそういうことはありません。

 強いて言えば、向こうも繁忙期があるので、願書提出時直前に訪問を打診するメールを送ると、すぐに訪問可能でなかった場合に詰む可能性があるので、余裕をもって訪問するのがいいと思います。
 それを除けば、研究室を決めるタイミングや専門科目を勉強したいと思ったタイミングなど、自分が必要になったタイミングで行けばよいと思います(とはいえ研究室を決めるのも専門科目を勉強するのも早いに越したことはない)。
 僕は院試以外のことで忙しかったので遅くなり、6月後半に2つの研究室に行きました。

 やり方は「研究室訪問 仕方」みたいにググると出てくるので調べてみてください。
 訪問打診のメールを出し、日程が決まったら聞きたいことを用意して実際に訪問します。
 せっかくの機会ですから、ちゃんともれなく聞けるように訪問する前に聞きたいことはリストアップしておきましょう。
 どんなことを聞けばいいかも「研究室訪問 質問」みたいにググると出てきます。

学生に院試で使った参考書を聞く

 研究室訪問したら(というか訪問打診のメールにもその旨は含めるべきだが)、先生だけでなく学生とも話しましょう。
 そして学生から、院試の際に使った参考書や東大の学部で使われている教科書の情報を引き出すことになります。
 ここら辺は、単に質問すればいいといえばそれまでですが、学部の授業では教科書を使ってなくて先生が作ったノートで対策したとか、選択授業だったので受けている人を探さないといけないとか、そういう外部の人に簡単に情報を渡せない状況になった場合はコミュ力が物を言います。

 以下では、コミュ力がなくてもできる場合の例として、自分がどうやったかを説明しておきます。
 コミュ力に自信がある人は以下は読まなくて大丈夫です。
 (そんな心配しなくていいって?まあ確かに。理系だもんn)

 僕の場合、そもそも研究室訪問の際は純粋に研究室の雰囲気を知ることしか考えておらず、使ってる教科書を聞くという発想はなかったので、研究室訪問中はただ学生に研究室のことを聞くことしかしていませんでした。
 その後、時間がだいぶたった頃にその発想が出てきて、メールで質問をすることになります(学生のメアドは研究室のホームページに載っている)。

 みなさんは研究室訪問の際に聞くという選択肢もあるわけですが、僕がメールで質問をしたのは結果的によかったかもしれないと思っています。
 なぜなら、対面でどんな教科書使ってるんですか?と聞いたところで先輩がその場で教科書名を覚えているとは限りませんし、メールで質問するからこそ、教科書をAmazonのURLで教えてもらったり、東大で出回っている有用なノートを送ってもらうことができたりするわけです。(あ僕がもらえたとは言ってない)
 それに何より、お互い時間をかけて書くから、質問も回答も丁寧かつ明確になるところがメールのいいところです。

 聞き方としては、「院試の際に使った参考書(東大の学部で使われている教科書)など」を教えてくれないかと聞きました。
 この聞き方は「仮に授業で教科書を使ってなくても院試の時には何か参考にしたはずだから何かしらは送ってくれるだろう」というような含みがあります。(我ながら意地が悪い)
 ただ、聞いた相手が自分と同じ科目を受けていなかった場合は相手が無駄に教科書の情報を送って終わりになる欠点があります。
 自分は二つの研究室で一人ずつにメールを送ったところ自分が受ける科目の情報が手に入りましたが、そうでなかったらそのために研究室訪問を増やしてもいいかもしれません。

 なんて、自分の先輩への聞き方を書きましたが、質問した時はそんなに深いことは考えていません。(笑)
 このセクションはただの一サンプルとしてあんまり当てにせず聞いてもらえればと思います。

余談

 以下は本筋とは若干それるけど、他に僕が考えていたことについて書きます。

メールのマナーについて

 いつか自分の大学の教授が近頃の学生はメールを打つ機会がないからマナーがなっていないと嘆いていましたが、手紙を「~へ」から始めて「...より」で終わらせることを習うように、メールにも同様のマナーがあります。
 メールはいかなるときにいかなる人に送る場合でも、そのマナーを守るべきなのです。

 そのマナーは例えば、件名は空欄にしないこと、本文は宛名、挨拶、名乗り、用件、締めの言葉、署名の順に書く、などがあります(詳しくはネットで調べましょう)。
 教授に書くときはもちろん、学生に書く時も、このマナーを忘れないようにしましょう。

研究室訪問で聞くこと

 具体的な研究室訪問で聞くことの例はネットで調べてもらうとして、研究室訪問について(自分の大学の)先輩から教わったアドバイスがあります。
 それは、研究で大事なことは「何をやるか」ではなく、「誰とやるか」であるということです。
 極端な話、研究内容が興味あるものでも研究室の人間関係が悪かったら研究は辛いものになるし、研究内容に興味がなくても人間関係がよければそのうち面白くなるということです。
 それを教えてくれた先輩には、研究室訪問では教授がいないところで学生と話すことも必要だと言われました。
 なので、僕は研究室訪問をした際、学生には研究だけでなく、さりげなくその人のことや研究室全体の雰囲気のことも質問していました。

 でもこうやって学生自体に興味を向けることは、別のメリットもあります。
 それは、自然と傾聴の姿勢になることで自分に対する学生の印象が高まり、そのあと参考書を聞くときも円滑に進むかもしれないということです。(いやマジメに)
 ぜひやってみてはいかがでしょうか。

大問3と4を選んだ理由

 選ぶ大問は得意なものを選んで勉強すればよいと思いますが、ここでは僕が大問3と4を選んだ理由について話しておきます。

 まず最初に、ちなみに大問3と4を選んだ理由は、僕が電子工作を趣味にしていて、電子回路やプログラミングが得意だったからです。
 とはいえ大問2の電気回路を選ばなかったのは、大量に文字が出てくるのと割と複雑めな回路が出題されていたので、手計算や途中の図を書くのが重そうだったからです。
 というか大問2の計算量は尋常じゃない気が…。

 大問3と大問4は、情報理論(シャノンの情報理論とかのやつ)と信号処理(フーリエ変換とかz変換とか)、論理回路(AND、OR、NOT回路とか)とアルゴリズム・プログラミング(C言語が書けることとデータ構造とかが分かる必要あり、データ構造は自分は自分の学部では習わなかった内容だった)という内容になっています。
 これらの科目の難易度は人によると思いますが…、個人的にはとても簡単な部類だと思っているので、解く科目を迷っている人にはお勧めしたいと思っています。
 それに、他の大問を詳しく見てないので分かりませんが、大問3と4は計算量が少ないんじゃないかなと思っています。なぜなら、大問3と4を合わせても一番重い計算はマルコフ遷移の定常状態の確率を求める連立方程式1個だけだからです。
 あと、2020~2022年分なら過去問の解答がこのブログにあるのもおすすめポイントです。

sekakota.hatenablog.com

 ただ、プログラミングの難しさは人によると思うので注意が必要です。
 プログラミング慣れしていると大問4のプログラミングの問題は5分で解けます(多分)。
 プログラミング慣れするためには、実際に書いたプログラムをコンパイラに通して、こういう文法も書けるんだ/書けないんだということをたくさん試すといいと思います。

 または、たくさんプログラムを書きたい人は競プロのA問題、B問題ぐらいを解くのもありなんじゃないでしょうか。
 ただ、競プロはプログラミング慣れのための十分条件であって必要条件ではないので、難しかったらやる必要はないです。
 あと、院試用のアルゴリズムの勉強(と競プロをC++で解いたならC言語のポインタの理解)はどちらにせよ別でやる必要があります。

 C言語の文法の理解で最も難しいのはポインタだと思います。
 それも自分でいろいろ実験して覚えるのがいいと思います。
 過去問でいうと2020年の問題4が解ければポインタの理解は十分にできていると言えるのではないでしょうか。

sekakota.hatenablog.com

おわりに

 卒論に追われながら書いているので文章がだいぶ拙かったかも。
 みなさんの検討をお祈りしています。

【院試解答一覧】東京院工学系研究科電気系工学専攻

東京大学大学院工学系研究科電気系工学専攻の院試の解答一覧

2020-2022年の難易度の順番は個人的には問題3が2022>=2021>2020、問題4が2020>2021>=2022かなと思います。

2022年

sekakota.hatenablog.com

sekakota.hatenablog.com

2021年

sekakota.hatenablog.com

sekakota.hatenablog.com

2020年

sekakota.hatenablog.com

sekakota.hatenablog.com

2019年

sekakota.hatenablog.com

2017年

sekakota.hatenablog.com

【院試解答】東大院工学系研究科電気系工学専攻 2020年 問題4

免責

 この解答・解説は当ブログ管理人のものであり、間違っている可能性もあります。
 この記事の記載内容によって生じた損失や損害については、当ブログ管理人は一切責任を負いません。

 が、間違っている箇所や、よりよい解法があれば後から見に来た人のためにもコメント欄に残していってもらえると、幸いです。

 あと、解説でこれが解ければ院試は受かる、的なことを言っていますが、一回しか院試を受けたことがない管理人の所感なので真剣にはあてになさらず。
 でももちろん、管理人が実際にそう感じたことを書いています。

問題

 東大院工学系電気系工学専攻2020年問題4

解答

※昔から電子工作を趣味としている管理人は、問題4の難易度の感覚がバグっているので、「難しい」と記載したもの以外はあまり参考にしないでください。

I

(1) 難易度:普通※

(2) 難易度:普通※

X=0, 0, 0, 1の順

(3) 難易度:普通※

(4) 難易度:普通※

(5) 難易度:普通※

(1) 難易度:普通※
{9, 7, 8, 1, 6, 4, 5}
問題のコードはC言語と違って配列のインデックスが1スタートなので注意。

(2) 難易度:普通※

(3) 難易度:普通※

要素の数をnとして、O(n log n)

(4) 難易度:難しい

本解:

void sort_by_heap(int array[], int n) { for(int i = 0; i < n - 1; i++) make_heap(array + i, n - i); }
本解を改行したもの:
void sort_by_heap(int array[], int n) {
  for(int i = 0; i < n - 1; i++) make_heap(array + i, n - i);
}
参考解:
void sort_by_heap(int array[], int n) {
  for(int i = n; i > 1; i--) {
    make_heap(array, i);
    swap(array, 1, i);
  }
  for (int i =1; i <= n / 2; i++) swap(array, i, n - i + 1);
}
ヒープソートの話かなと思ったので最初参考解を思いついたが、as few lines as possibleという問題文の指示が気になったので本解の方を思いついた。もっとも、どんなプログラムであれ改行無しで書けば1行になるのだが。

どちらもmake_heapを実行するとarrayの先頭が最大値になることを利用している。以下は本解の解説。

make_heapの引数は先頭アドレスarray + i、サイズn - iの配列を渡すという意味である。本来先頭アドレスarray、サイズnの配列から部分配列を切り出してmake_heapに渡す操作を行っている。ちなみに配列はメモリ上で、(インデックスが1スタートのこのプログラムにのっとって言うと、)アドレスarrayarray[1]array + 1array[2]、...、array + n - 1array[n]という風に配置されている。

for文の()の中の書き方のコツはイテレータ変数(解答でいうとi)の初期値と最終値だけ見ることである。今回は初期値がi = 0で、条件式i < n - 1i = n - 2の時まではtrueになることから最終値i = n - 2になることがわかる。make_heapに渡した引数の方も初期値と最終値だけ考えればよく、初期値が(array, n)、最終値(array + n - 2, 2)であることがわかる。別にi = n - 1まで回してもいいのだが、その時はサイズ1の配列をmake_heapすることになり何も起こらないので条件式をi < n - 1に設定している。ちなみにi <= n - 2としてもよい。こちらの方が直感的かもしれない。

(5) 難易度:普通※

arrayをサイズnのint型配列とする。
1. まず、make_heapを用いてarrayにmax heapを作る。
次に、arrayの先頭array[1]はmax heap中の最大値となっているので、
それをarrayの最後の要素array[n]とswapする。
2. n2 = n-1, n-2, ..., 2に対して下記を実行する。 先頭アドレスarray[1]、サイズn2のarrayの部分配列をarray2と定義する。 array2はarray2[1]の要素以外はmax heapの条件を満たしている。 array2[1]もmax heapの条件を満たすため、 push_down(array2, n2, 1)(つまりpush_down(array, n2, 1))を実行し、 木の下方に向かって並べ替える。 その後、array2[1]はまたmax heap中の最大値となっているのでarray2[n2]とswapする。
以上の手順により並べ替えられたarrayは先頭から昇順に並んでいる。
仰々しく書いてしまったが要はヒープソートをやっている。コードで書くと次のよう。
void heap_sort(int array[], int n) {
  make_heap(array, n);
  swap(array, 1, n);
  for(int n2 = n - 1; n2 >= 2; n2--) {
    push_down(array, n2, 1);
    swap(array, 1, n2);
  }
}
計算量オーダーは(4)がO(n2 log n)、(5)がO(n log n)なので(5)の方が効率的になっている。

関連記事

sekakota.hatenablog.com

sekakota.hatenablog.com

sekakota.hatenablog.com

【院試解答】東大院工学系研究科電気系工学専攻 2021年 問題4

免責

 この解答・解説は当ブログ管理人のものであり、間違っている可能性もあります。
 この記事の記載内容によって生じた損失や損害については、当ブログ管理人は一切責任を負いません。

 が、間違っている箇所や、よりよい解法があれば後から見に来た人のためにもコメント欄に残していってもらえると、幸いです。

 あと、解説でこれが解ければ院試は受かる、的なことを言っていますが、一回しか院試を受けたことがない管理人の所感なので真剣にはあてになさらず。
 でももちろん、管理人が実際にそう感じたことを書いています。

問題

 東大院工学系電気系工学専攻2021年問題4

解答

※昔から電子工作を趣味としている管理人は、問題4の難易度の感覚がバグっているので、「難しい」と記載したもの以外はあまり参考にしないでください。

I

(1) 難易度:普通※

(2) 難易度:普通※

(3) 難易度:普通※

PCで書くのが面倒だったので載せませんがカルノー図を書きます。

(4) 難易度:普通※

(5) 難易度:普通※

(1) 難易度:普通※

ハッシュテーブルに一般的な書き方があるわけではないと思うので、書き方はなんでもいいと思う。

(2) 難易度:普通※

if(check == NULL) {
  table[H(x)] = new;
} else {
  while(check->next != NULL) check = check->next;
  check->next = new;
}

(3) 難易度:普通※

int search(int x) {
  struct node *check = table[H(x)];
  while(check != NULL) {
    if(check->value == x) return 1;
    check = check->next;
  }
  return 0;
}

(4) 難易度:普通※

xを格納するノードを消す際にその子ノードを消さずに親につなげること。
また、xを格納するノードのメモリを開放すること。

関連記事

sekakota.hatenablog.com

sekakota.hatenablog.com

sekakota.hatenablog.com

【院試解答】東大院工学系研究科電気系工学専攻 2017年 問題3

免責

 この解答・解説は当ブログ管理人のものであり、間違っている可能性もあります。
 この記事の記載内容によって生じた損失や損害については、当ブログ管理人は一切責任を負いません。

 が、間違っている箇所や、よりよい解法があれば後から見に来た人のためにもコメント欄に残していってもらえると、幸いです。

 あと、解説でこれが解ければ院試は受かる、的なことを言っていますが、一回しか院試を受けたことがない管理人の所感なので真剣にはあてになさらず。
 でももちろん、管理人が実際にそう感じたことを書いています。

問題

 東大院工学系電気系工学専攻2017年問題3

解答

 この年度の解答は難しいものだけ載せておきます。
 あとで他のも追加するかも。

(5) 難易度:普通

(6) 難易度:難しい

関連記事

sekakota.hatenablog.com

sekakota.hatenablog.com

sekakota.hatenablog.com

【院試解答】東大院工学系研究科電気系工学専攻 2019年 問題3

免責

 この解答・解説は当ブログ管理人のものであり、間違っている可能性もあります。
 この記事の記載内容によって生じた損失や損害については、当ブログ管理人は一切責任を負いません。

 が、間違っている箇所や、よりよい解法があれば後から見に来た人のためにもコメント欄に残していってもらえると、幸いです。

 あと、解説でこれが解ければ院試は受かる、的なことを言っていますが、一回しか院試を受けたことがない管理人の所感なので真剣にはあてになさらず。
 でももちろん、管理人が実際にそう感じたことを書いています。

問題

 東大院工学系電気系工学専攻2019年問題3

解答

 この年度の解答は難しいものだけ載せておきます。
 あとで他のも追加するかも。

(7) 難易度:難しい

符号語の数をM、符号語の長さをnとすると情報速度R=logM/nである。

関連記事

sekakota.hatenablog.com

sekakota.hatenablog.com

sekakota.hatenablog.com