5年間の学生生活を終えて

夏に一人旅で行った島根の足立美術館の庭園

はじめに

新冨です。 2024年3月には、既に3本の記事を執筆し、投稿しています。

yutashx.hatenablog.com

yutashx.hatenablog.com

yutashx.hatenablog.com

これらの記事は、それぞれテーマがあり、それを逸脱しない範囲で私見を主張していました。 本記事は、学生生活で感じたこと、学生生活を経て得られた・変わった考え方など、これまで執筆した記事で扱いきれなかった内容に関して雑多に触れていきたいと思います。 本記事が学生生活最後の記事になります。

記事を執筆するモチベーション

これまで数々の私の記事を読んできた読者の中には、なぜ私がここまで記事を書くのか、疑問に思っている方もいると思います。 各記事の”はじめに”に記事執筆のモチベーションは書いていますが、上述の疑問を持っている人の中で、それで納得する人は多くないでしょう。

私がここまで文章を執筆している根底の理由は大きく分けて2つあります。 自己表現の欲求を満たすため、瞬間の記憶の記録の重要性を理解しているからです。

1つ目の理由、自己表現の欲求を満たすためについて述べたいと思います。 私がこれまで書いてきた文章は会津大学という狭い範囲を対象にした、いわゆるニッチな人向けの文章です。 しかし誰も書いてない、独自性があり、価値のある内容を提供している自負があります。 それらの記事を通して、読者に新しい知見を提供し、読者のこれからの行動や選択に影響を与えることができれば、それは私にとって喜びになります。

2つ目の理由、主観の記憶の記録の重要性について述べたいと思います。 人の思考や感情は絶えず変化するため、文章を執筆する行為は、その瞬間瞬間の思考や感情を記録し、将来に渡ってそれらを振り返ることができる手段です。 これは自己成長のための重要なツールとなり得ます。

これらの理由が原動力となり数々の記事を執筆してきました。

趣味開発の変遷

私の大学生活は、大きく分けて2つの時期に分けられます。 研究室に所属する前の期間と研究室に所属している期間です。 前者の期間では、学部の授業科目を履修しながら、趣味開発で様々なものを作って遊んでいました。 後者の期間では、研究活動が大半を占めるようになり、ほとんど趣味開発の時間は取れなくなりました。 研究を効率的に進めるためのツールなどは半分趣味程度の感覚で作っていました。

私のプログラミングをして、最初に作成した成果物は中学生のときのiOSのオセロアプリでした。 当時はiOSアプリで一発当てたいと漠然と考え、親にiOSアプリ作成の本をねだり、当時サポートされたばかりのSwift (確か2014年くらい) で試行錯誤しながら作成した記憶があります。 ある程度完成した段階で、iOSアプリの作成が難しいと感覚的に理解しました。 そこで高校生になったとき、PythonでSlackBotを作成しました。 中高時代は、コピペの次はぎで、あまり理解せずにコーディングしていたような気がします。 また授業や部活で、あまりプログラミングをする時間が取れませんでした。 そこで大学の進路選択する際は、趣味のプログラミングが授業となる情報系の学部を迷わず選択しました。

大学に入学してからは、授業と並行しながら、LINE Bot、Webページの作成、SSHサーバーの構築、ARアプリの開発などを行っていました。 やはり授業だけでは、実践的なアプリケーションを構築することはできないので、積極的に興味のある技術を学び、成果物を作成した覚えがあります。

少し個別の経験を詳しく書いていきたいと思います。 Gitはやはり難しく、研究室で共同作業し経験を積むまでは苦労した記憶があります。 Gitの理解は、GitとGitHubの違いが説明できれば及第点に達していると思います。 また私は、共同開発の経験とともに、Gitサーバーをセルフホストしたことでより理解が深まった記憶があります。

学部2年生のQ3にあったネットワークの授業の前に、予習しようというノリで、夏休み期間中に自宅にRaspberry PiSSHサーバーを建て、インターネットに公開しました。 このとき、公開して10分で22番ポートにインドネシアからアタックが来て、インターネットの怖さを実感しました。 同時にポートやユーザー名をデフォルトから変更する意味、ファイアーウォールをつける意味を実感しました。

学部の授業を受けていると、何度となく大学のワークステーションとローカルでファイルのアップロードとダウンロードを繰り返すことがあります。 そこで当時の私は、sshfsで大学のワークステーションファイルシステムを自身のPCにマウントしていました。 あるときsshfsの接続がなぜかアタックと誤認されて、使用してたIPアドレスがISTCが管理・公開してるIPアドレスブラックリストに載り、ISTCに解除願いを出しに行った記憶があります。

研究室では、研究の実験データを保存、閲覧するためにRAID1で組んだファイルシステムにdocker ComposeでWebサーバーとSambaサーバーを噛ませて、実験データから自動で分析結果のHTMLを生成する仕組みを構築したりしていました。

飛び級の長短

私は、学部を3年で卒業し、修士課程に進みました。 飛び級に関する詳細は、こちらの記事で触れています。

yutashx.hatenablog.com

私が飛び級をして、良かったと思える点は1点あります。 それは、飛び級した人のみ限定の大学からの1年間の給付金がもらえたことです。 この給付金は、飛び級したからと言って必ずしももらえるわけではなく、その年の予算次第で貰える人数が変動するものであります。 自分の年は学年で6人のみ対象だったようです。 この給付金と多少のバイトで、お金に対する不安は無くなり、学問に集中ことができました。

私が思う飛び級の悪い点は、2つあります。 欠点の1つ目として、飛び級をしたと他人に言うことで、色眼鏡をかけられ、肩書きにより自信への期待値を上げてしまう恐れがあります。 ある学生と飛び級した学生がいたとき、どちらの方が優秀だと期待するかと言われれば後者です。 ある一定の働きをしたとき、前者の学生であれば期待値以上の評価され、後者の学生であれば期待通りの評価ということになりえます。 就活中にこの構造に気づき、それ以来飛び級をしたことを全面に出すのは賢くないと思うようになりました。 そもそもこのような評価尺度の中で生きる人間が、飛び級するのが間違いなのかもしれないです。

私に取っての欠点の2つ目は、飛んだ1年でもっと様々な経験をしておけばよかったと後悔したことです。 やはり大学院の在学中に、他の人に比べて知識や経験が劣っていると実感する場面が多々あり、その度にもう一年しっかり勉強しておけば良かったのではないかと思うことがありました。

これらが飛び級をする長所と短所になると思います。 別に就活に有利に働くとかはなかったと思います(自分が全面に出してなかったというのもあると思いますが)。 私は、飛び級をすることで何者かになりたかったのだと思います。 しかし、何者にもなれませんでした。 ただそれで良いと思える心構えを大学院では得られました。

個人的には、飛び級は、飛び級をして余った1年で明確にやりたいことが定まっている人以外にはお勧めできないです。 また自分の代では、学年の約11%(確か27人?)が飛び級するような学年でした。 そのため飛び級の人はその辺にたくさんいます。 余談ですが、飛び級をした人は、朝早く起きて確実に一限に間に合い、しっかりと試験で点数を取ってくる人であるのは間違いないです。

大学側は、飛び級を推奨する話しかしないので要注意です。 飛び級に少しでも興味をもった人は、なぜやるのか、利点と欠点を冷静に見極めることが重要です。 就学支援室に行けば、飛び級の人がそこそこいるので、相談にはお勧めの場所です。

博士後期課程への想い

博士後期課程に興味はありますが、ストレートで行くのはやめました。 博士後期課程に行かなかった理由として、次の6つの理由があります。

  1. 研究室の研究以外の業務が多すぎる
  2. 基礎学力が足りない
  3. 大学に同期が少ない
  4. お金の工面が面倒
  5. 修士の研究テーマが合わない
  6. 大学のお金が少ない

研究室では、研究以外にボランティア活動やTA業務、研究室訪問をした学生の対応など行っていました。 これらが複数重なり、常に何かしらの締め切りに追われており、腰を据えて体系的に何かを勉強する時間をとる心の余裕がありませんでした。 分野の教科書を通読する時間があまり取れず、締切の都合でひたすら結果を出すことを求められ、分析や考察がかなり甘くなるという問題を修士課程の中盤あたりから感じていました。

会津大学の博士後期課程は、全体的に人数が少なく、日本人の学生となると更に人数が少なくなります。 そのような環境に耐えられる自信がありませんでした。

以前自分で試算した結果、学費、生活費、遊びのお金を全て合算すると1年間の学生生活には約200万円必要であるとわかりました。 そのため博士後期課程にいるためには最低でも3年、約600万円の工面をする必要があります。

修士課程では、深層強化学習による自動運転をテーマに取り組んでいました。 深層強化学習の部分は非常に興味をそそられましたが、自動車にあまり興味がなく、研究のモチベーションが湧きづらかったです。 半ば無理をしていた節はあります。

最先端の研究の再現実験をするために、最新のGPUや大量のVRAMが求められる場合がある。 特に深層強化学習は、マシンリソースが大量に求められる研究分野です。 しかし研究室にあるのは古いGPUや少ないVRAMを持つGPUでした。 それらのマシン上で動かすために、研究対象と関係ない改良を求められ、迫り来る締切に追われながら、そのような改良を施すことを求められることがありました。 時間的・精神的にそのような余裕がなかったため、自身のデスクトップPCを研究室に持ち込み、実験を回していたこともありました。 知人の話を聞く限り、やはり旧帝大の方が研究リソースは多そうです。

これらの理由が相まって、私は博士後期課程への進学をしませんでした。 楽観的な見方ですが、これらの問題は社会人になり、仕事をしながら独学で勉強し、別の大学へ進学すれば解決する可能性はあると思っています。

お金に対する考え方

お金に対するリテラシーを早いうちから身につけておくことは、人生を豊かにすると私は思います。 特にお金はお金に稼がせることができる、この視点を持つことが重要であると私は思います。

私は高校2年生の頃から株やインデックスの投資を始めました。 自分が持っているお金を市場に投じることで、日々の政治や経済の動向への興味関心は向上しました。 また高校のときに世界史を専攻していたことで、歴史と地続きの政治、資本主義の成り立ちを知っていたことも幸いしました(蛇足ですが、近代の世界史を学びたいという人は、映像の世紀がおすすめです)。

学生は伸び代の塊であると私は考えています。 学生の内の1〜2年の努力が、将来何倍にもなって返ってくるのが容易に想像できます。 実際自分が大学院の2年間で得られた経験、精神性、心構え、思考、文章執筆能力は貴重な財産に既になっています。 「謎の半導体企業が儲かる!学生もNISAやろう!」みたいな話に踊らされることなく、今本当に必要なことは何か、目先のことに囚われずに俯瞰的に考えることが重要であると私は考えます。 回収に時間がかかると思いますが、自己投資が最も効率的な投資になると今は思っています。

時間に対する考え方

時間をどう使うか非常に難しい時代です。 SNS、動画配信サービス、ソーシャルゲームを始めとする時間を潰すコンテンツは、一生かかっても消費しきれないほどの量存在します。 その中で、やるべきととと娯楽をいかに折り合いをつけて共存させるか、非常に難しいテーマであると思います。 コンテンツ提供者は、コンテンツ上により長く人が滞在するように、消費している人の好みに最適化されるように設計しています。 いかにコンテンツの呪縛から逃れるかが試されている時代となったと私は思います。

真に何かやりたいことがあると思っている人間は、コンテンツの呪縛に囚われることなく、やりたいことをやれるはずです。 この落合さんの言葉を強く信じて生きたいと思います。

note.com

おわりに

振り返ってみると、学部1、2年は成績を取るのに集中し、3年生は研究をかじり、修士課程はひたすらに研究室で研究やその他のタスクをこなす修行の日々だったと総括できます。 学生生活を通して様々な経験を積むことができました。 これまで支えてくださったみなさんには感謝してもしきれません。 ありがとうございましました。 そしてこれからもよろしくお願いします。

おすすめのコンピュータ関連の書籍

紋別カニの爪

はじめに

新冨です。 以前、続・会津大学のすすめで、会津大学のカリキュラムの問題点を指摘しました。

yutashx.hatenablog.com

それはカリキュラム通りに勉強した場合、一通りの基礎科目を学び終わる前に研究室選択をしなければならない、という問題です。 この問題に対処するためには、カリキュラムの進行よりも早く独学で基礎科目を勉強する必要があります。 そうは言っても、学部1、2年生の間は授業科目が多く詰まっており、自主学習の時間を捻出するのも一苦労です。 貴重な自主学習の時間を下手な資料(Webの記事や本)に費やすのは本望ではないはずです。 そこで本記事では、私がコンピュータサイエンスの各分野で良さそうだと思う資料をいくつか紹介したいと思います。 本記事が、意欲的な学生の一助になれば幸いです。

前提条件

紹介する資料は、すべて流し読みをしたことはあります。 しかし、すべての資料を熟読した訳ではありません。

私は、大学ではコンピュータやコンピュータシステムの設計と構築を学ぶSYフィールドに所属しながら、研究では3次元再構成のアルゴリズムや深層強化学習による自動運転というソフトウェアの設計に取り組んでいました。 そのため授業はコンピュータアーキテクチャ寄りの授業を多く履修し、研究では画像処理、CG (Computer Graphics)、深層学習の分野に取り組んでいました。 研究用のコンピュータを設定する過程で、ネットワーク、Linuxの知識もつきました。 このような背景から、私は画像処理、CG、深層学習、ネットワーク、Linux、CPUが多少知識があります。 一方で、私はセキュリティ、データベース、アルゴリズムに関しては疎いという自覚があります。

本記事は次のような構成になっています。

コンピュータアーキテクチャ

コンピュータアーキテクチャは、コンピュータの仕組みや設計に関わる分野で、学部3年生のQ1に取り組む内容です。 命令セット、CPUの仕組み、アセンブリなどを学ぶことができます。

性能の高いソフトウェアを構築するためには、コンピュータアーキテクチャの理解が欠かせません。 私は、C言語ポインターの仕組みは、コンピュータアーキテクチャを学んでから初めて腑に落ちました。 最近話題のNVIDIAGPUが凄さを理解するには、この分野をある程度理解している必要があります。

このコンピュータアーキテクチャを学ぶ上で金字塔とも言える本は「コンピュータの構成と設計」通称「パタヘネ本」です。 この本は、コンピュータアーキテクチャの授業の教科書でもあるので、早めに買っておいて損はないと思います(数年おきに版が更新されるので注意。英語版は既に第7版があるので、日本語版もいずれ第7版が出るはずです)。

この本の発展的な内容を扱う、大学院生向けのコンピュータアーキテクチャの本として「ヘネパタ本」もあります。 こちらの本も会津大学の大学院のAdvanced Computer Architectureの教科書となっています。

どちらの本も会津大学の図書館にあるはずなので、気になる方は閲覧してみてください。

CPUを作る

コンピュータアーキテクチャをさらっと眺めた後に、実際にCPUを作ってみましょう。

手を動かしてICでCPUを作りたい方はこの本がおすすめ

手を動かしてソフトウェア上でCPUを作りたい方はこの本がおすすめ

OSを作る

CPUの仕組みがわかったら、OSを作るのもいいかもしれません。 通称「みかん本」

Linux

一般的なOSの仕組みがわかったら、実用的なLinuxの仕組みを知るのもいいかもしれません。

コンパイラ

LinuxC言語で書かれているので、C言語コンパイラーも作りたくなるかもしれません。

www.sigbus.info

コンピュータシステムの理論と実装

これまでの紹介を読んで、「コンピュータアーキテクチャからコンパイラーまで全部学びたいけど、それぞれの本を読む時間なんてないよ」という方に朗報です。 コンピュータアーキテクチャからコンパイラーまで全てがこの1冊で学べます。 通称「Nand2Tetris」。

NANDという電子素子からスタートし、論理ゲート、加算器、CPUを設計します。そして、オペレーティングシステムコンパイラ、バーチャルマシンなどを実装しコンピュータを完成させて、最後にその上でアプリケーション(テトリスなど)を動作させます。 O'Reilly Japan - コンピュータシステムの理論と実装より引用

ネットワーク

コンピュータ単体の仕組みはわかったから、次は複数のコンピュータを繋いで通信したくなるかもしれません。 それではTCP/IPを学びましょう。

この辺りで得た知識を使い、自分でSSHサーバーを建てると、インターネットの怖さがわかります(私はSSHサーバーを建てて5分でインドネシアから22番ポートへ攻撃がきたことがあります)。

インターネットは分かったから、Webを知りたいと思った方はこの本です。

画像処理

画像処理を知りたいと思った方は、まずは画像処理の分野の広さを理解しましょう。 画像処理の教科書的な本です。

ディジタル画像処理 [改訂第二版]

ディジタル画像処理 [改訂第二版]

  • 公益財団法人画像情報教育振興協会(CG-ARTS協会)
Amazon

実践的な内容をやりたければ、OpenCVやscikit-learnでググると良いでしょう。

コンピュータグラフィックス

コンピュータグラフィックスと一言で言っても、かなり広い分野です。 まずは、この本で分野の広さを実感しましょう。 先ほどの画像処理の本と姉妹本です。

コンピュータグラフィックス [改訂新版]

コンピュータグラフィックス [改訂新版]

  • 公益財団法人画像情報教育振興協会(CG-ARTS協会)
Amazon

線形代数ってなのためにやるの?」という方には、この本がおすすめです。 少し古いですが、コンピュータグラフィックスと線形代数を絡めた本です。

コンピュータグラフィックスを学んでいくにつれて並列計算の重要を理解してきたあなたにはGPUが必要です。 GPUを学びましょう。 GPUを理解するためには、先述のコンピュータアーキテクチャなど低レイヤーの知識があると理解が深まります。

深層学習

GPUを理解したあなたは、コンピュータグラフィックス以外にGPUが使えることに気づいたかもしれません。 そう、一般的な並列計算もGPUで扱えるのです、GPGPUです。 GPGPUは、GPUをコンピュータグラフィックス以外の分野にも使おうという応用技術のことです。 NVIDIAは、2006年にCUDAというGPGPU用のソフトウェアや実行環境のことを構築しました。 深層学習にNVIDIAGPUが多用されているのもGPGPUの環境が既に構築されていたためです。

深層学習の分野は、凄まじい速度で発展をし続けています。 最先端の研究では、毎週のように革命的な発表がなされています。 そのため、今日学んだ知識は明日には無用の長物になっている可能性がある分野です。 この分野を学ぶ気があるのであれば、それを理解した上で進んだ方がいいと思います。

深層学習をやりたいのであれば、まずは画像を分類するCNN (Convolutional Neural Network) を作りましょう。

画像や音楽を生成したくなったら生成Deep Learningを読みましょう。

この次あたりにTransformerを学ぶと良いと思いますが、Transformerに関する良書を知らないので、ここでは推薦できないです。 深層学習に関するトピックを網羅的に扱っているCVMLエキスパートガイドも読んでおくと良いかもしれません。

cvml-expertguide.net

Transformerを学んだらGPT (Generative Pre-trained Transformer) 周りも気になり始めるはずです。 そしたら大規模言語モデルに入門しましょう。

ここまで来たら、2024-03-22時点での最先端の研究領域まであと一歩です(多分)。

深層学習の研究の最前線を知りたい人向け

コンピュータビジョン関連で、最先端の研究内容を日本語で知りたい方は、コンピュータビジョン最前線がおすすめです。 この本は、各シーズンに1冊出版されており、毎回非常に興味深いトピックが比較的わかりやすく書かれています(少なくとも論文を読むよりマシ)。

本来、1本の論文を読むのに、その分野の背景知識をある程度持っている必要があり、その背景を知るためには更に何本も論文を読む必要があります。 そのため1本の論文を読むために、読むべき論文は芋蔓式に増えていきます。 それに対して、コンピュータビジョン最前線は、そのような背景を簡潔にまとめ、最先端の研究内容までシームレスに解説している記事が多いです。 最先端の研究を簡潔に知りたい方には、特におすすめです。

最先端の研究成果をリアルタイムに知りたいという方は、Twitterを確認することです。 こちらのAKという方は、おそらく本人が興味を持った深層学習関連の研究内容を簡潔にまとめ、ツイートしています。

https://twitter.com/_akhaliq

Meta, Google, Microsoft, NVIDIAといった大企業の研究部門のアカウントや著名な研究者のアカウントのフォローでも最先端の研究を追うことができます。

他に最先端の研究を知るためには、arXivがあります。 arXivの立ち位置はあまり理解していないので、ここでは説明を省略します(この辺に興味がある人間は、勝手に調べられるでしょう)。

3次元再構成とSLAM

実は「画像処理とコンピュータグラフィックスどちらもやりたい!」という欲張りな方のための分野があります。 3次元再構成とSLAMです。 3次元再構成とは、カメラなどのセンサーから得られたデータを用いて3次元モデルを作成する技術のことです。 この3次元再構成と関連している分野として、NeRFや3D Gaussian Splattingがあります。 SLAMとは、Simultaneous Localization and Mapping、つまり自己位置推定と環境地図の作成を同時に行う技術のことで、ロボットの制御に使用されることがあります。

3次元再構成は、私が卒論で取り組んでいたテーマであり、思い入れのある分野です。 Open3Dと呼ばれる3次元データ処理に特化したOSSのライブラリがあります。 そのOpen3Dに含まれる3次元再構成ソフトウェアに関する私が書いた解説が下記の記事になっています。

zenn.dev

卒論でOpen3Dに触れるにあたり、当時は日本語の解説記事が全くなく、非常に苦労した記憶があります(仕方ないから英語で読んでた)。 私が卒論を書いた翌年の秋に出版されたこちらの本があれば、私はそのような苦労をする必要がなかったでしょう。

SLAMは、3次元再構成と共通して使われる技術がいくつかあり、親戚みたいなものです。 SLAMに興味を持ったのであれば、入門本をおすすめします。

3次元再構成もSLAMも、常に誤差と計算量との戦いを強いられます。 誤差をいい感じに丸め込むためには、統計的な知識が必要です。 また計算量をやりくりするためには、様々な仮定を置くことで理論的に導出される近似式を用いたり、C++でソフトウェアを書くことでコンピュータの性能を最大限に発揮する必要があります。 結局のところ、計算負荷が高い処理をやるためには、ある程度コンピュータの仕組みを理解している必要があります。

おわりに

本記事を読み、コンピュータアーキテクチャを理解して、コンピュータの性能を最大限発揮し、htopコマンドで全てのコアの使用率を100%もしくはnvidia-smiコマンドでGPU使用率を100%にする人材が増えることを期待しています。 また「この本が、この記事が入っていないぞ!」という方がいれば、どうぞご自分で紹介記事を書いてください。 別の方の視点ということで、その紹介記事のURLを本記事に貼りたいと思います。

会津大学大学院博士前期(修士)課程のすすめ

卒業旅行で行った網走

はじめに

修士(コンピュータ理工学)の新冨です。私は、会津大学大学院の博士前期(修士)課程で情報技術・プロジェクトマネジメント(PM)専攻に所属していました。

本記事は、会津大学大学院博士前期課程 情報技術・プロジェクトマネジメント専攻に所属していたひとりの学生の活動、大学院で積んだ経験や得られた能力についての記録です。

この文章は、これから大学院への進学を検討している学生、PM専攻の内情を知りたい学生を対象としています。 この記事を通して、読者に有益な知見を提供できていたら幸いです。

私が修士課程の1年目を終えた時点での感想を述べた記事はこちらになります。

yutashx.hatenablog.com

会津大学大学院博士前期課程

博士前期(修士課程)

会津大学大学院博士前期(修士)課程は、いくつかの授業科目単位、10つのセミナー単位、修論(もしくは相当)の単位を取れば修了することができます。 会津大学大学院には、2つの専攻があります。 コンピュータ・情報システム学(CIS)専攻と情報技術・プロジェクトマネジメント(PM)専攻です。 私はPM専攻に所属しており、私が入学した年(AY2022)は授業科目の単位は22単位取る必要がありました。 今ではPM専攻もCIS専攻もどちらも授業科目単位は16単位で良いようです。 授業のスケジュール感は学部と一緒なので、こちらの記事を参考にしてください。

yutashx.hatenablog.com

PM専攻とは

会津大学大学院の修士課程の学生の内ほとんどは、コンピュータ・情報システム学(CIS)専攻に所属しています。 私の代には、学生は80人ほどいましたが、4人がPM専攻という状況でした。 またPM専攻の存在を認知している学生は会津大学の中でもあまり多くありません。

u-aizu.ac.jp

例えばこの記事は、明示していませんが、CIS専攻のことについて触れています。

note.com

PM専攻の大きな特徴の1つは、修論を書かない代わりに4回のテクニカルレポートの執筆及び発表があることです。 その4回のテクニカルレポートの執筆と発表を合わせることで、修論と等価なものとして認めるそうです。 それに対して、CIS専攻は、通常の修士課程と同様に修論を1回書いて終わりです。

PM専攻では、2年間を4つのアリーナと呼ばれる期間に分割し、それぞれの期間の最後にテクニカルレポートとその発表をします。

PM専攻では、その名の通りプロジェクトを運用するため、複数人のメンバーで共同でプロジェクトに取り組むことが推奨されています(「推奨」という表現を使ってる理由は後述します)。 プロジェクトのテーマは毎年教員が決めており、こちらのWebサイトにテーマが列挙されています。

http:// https://u-aizu.ac.jp/curriculum/graduate/it-specialists/features/project.html

またセミナー科目は、CIS専攻とPM専攻で異なります。 PM専攻のセミナーはこちらのWebページに列挙されています。

u-aizu.ac.jp

私の場合は次のセミナー科目を履修しました。

  • PM研究セミナー
  • カンファレンスプレゼンテーションセミナー
  • 教育セミナー
  • Teaセミナー
  • コンテスト

私の博士前期課程での活動

大学院へ進学した経緯

こちらの記事に動機が書いてありますが、もう少し具体的な事柄を追記して簡潔に書き直したいと思います。

yutashx.hatenablog.com

前提

私は、コンピュータが嫌いではない、むしろ好きです。 コンピュータの仕組みを知れるのは楽しいです。 1日8時間ほどディスプレイを見ていても肩は凝らないし、苦ではないです。 自分で組んだソフトウェアが、ピタゴラスイッチのように精密に安定して噛み合ったときの達成感他では得難いです。 このような前提のもと次の4つの理由が組み合わさって院進を決めました。

  • 研究への興味
  • 博士号への憧れる
  • 当時の精神状態
  • お金

前半の2つについては、次に述べたいと思います。 後半の2つについては、余力があれば後日別の記事で書きたいと思います。

研究への興味

私の研究の動機は、一言で言うならまだ見ぬ新しい面白いソフトウェアアプリケーションを作りたいからです。 学部2年生の後半の頃に"ARポーズエフェクト"というiOSのARアプリを作成し、会津若松市のデジタル未来アート展にアプリを出展しました(オリジナルのページが消えていたので、Internet archiveの URLを添付しています)。

https://web.archive.org/web/20230127075702/https://www.city.aizuwakamatsu.fukushima.jp/docs/2022022800015/

このとき用意されたAPIを叩くだけでは面白いアプリケーションが作れないと漠然と思いました。 用意されているAPIの裏側の技術や理論を知れば、より面白いものが作れるのではないかと考えて、そこから研究に興味を持ち始めました。 実際最先端のソフトウェアアプリケーションは、研究成果由来のものが多いです。 最近話題のChatGPTなども、GPT-3の研究成果をもとに開発されています。 研究の一端を知ることで私の直感は間違っていないことが分かりました。

博士号への憧れ

博士号ってかっこよくないですか? 私はかっこいいと思います。 また博士号は、医師免許といった資格とは違い、世界で通用する資格です。 医師免許の場合、国ごとに資格を取り直す必要があるそうです。 その点博士号は一度取れば良いらしいです。 また肩書きに"Dr."を入れられるそうです。 そのため名刺などには"Dr. oo"と書けるそうです。

私の2年間の活動

私の2年間のスケジュール
私は学部から所属する研究室で、もう1人の同期の学生と共に2人で、研究室で決められたプロジェクトに参加することにしました。 私は、深層強化学習によるスポーツ走行の自動運転というテーマでPM専攻のプロジェクトに2年間取り組みました。 プロジェクトへの参加の経緯は、こちらに書いてあります。

yutashx.hatenablog.com

私は、卒論ではRGB-Dカメラを用いたオフライン三次元再構成についての研究に取り組んでいました。 卒論の内容を洗練させることで、修士1年の6月には国際学会に提出しました。 修士課程では、強化学習によるスポーツ走行向けの自動運転をテーマに研究・PM専攻のプロジェクトに取り組んでいました。

毎週研究セミナーと教育セミナーに相当するゼミを、それぞれ1回やっていました。 前者のセミナーは、研究の進捗について報告する場、後者のセミナーは、関連研究の論文を紹介する場として機能していました。 自身の発表は1ヶ月に1度回ってくるという頻度で行っていました。

その時点でのまとまった研究成果を国際学会や国内の研究会に筆頭や共著の形で論文を執筆していました。

2回のコンテストは、現実世界の自動運転レースに参加しました。 1回目のレースは4人で参加、2回目のレースは12人で参加しました。

Teaセミナーでは、アリーナの発表の直前に、アリーナで使用する資料の初稿を発表する場として、知り合いのPM専攻の方と行ってました。 研究室内輪読回では、わかりやすいパターン認識と深層学習を使用し、毎週1回研究室内のメンバーで読み合わせを行っていました。 どちらの本も途中で終了する形となってしまいました。

私は、3次元再構成の卒論が終わる間際に、NeRFという研究・研究分野の存在を知りました(NeRFの簡単な解説)。

NeRFのオリジナルの論文

arxiv.org

NeRFに非常に興味を持ちましたが、NeRFがニューラルネットワークを使っていうことだけしか理解できず、とりあえず深層学習を勉強しようと考えました。 そこで大学院にいる深層学習に詳しい・興味がある学生を集めて、深層学習第二版を用いて深層学習の輪読会を毎週1回開くことにしました。

最終的に7人のメンバーが集まり、毎回の輪読会が刺激的でした。 前期の内に深層学習第二版が終わったので、その次に統計学入門の輪読会を行いました。

修士2年になってからは、私がその輪読会を抜ける形となりました。

就活は、12月から3月の間行っていました。 詳しい就活の内容に関しては、こちらの記事を参考にしてください。

yutashx.hatenablog.com

4月の上旬に就活を終え、4月の中旬から8月上旬までは内々定を承諾した会社で内定者インターンを行いました。 週に2回8時間のフルタイムで働くことになりました。 内定者インターンでは、大規模なソフトウェアの構築の方法やコーディングのお作法、良いPull Requestの作り方など学ぶところが多数ありました。 そこで得られた経験は、その後の研究やプロジェクトマネジメントに非常に役に立ちました。 また、時給も良かったため、夏休みの一人旅や新生活の準備費として役立っています。

定期的にいくつかの授業、修学支援室のTAを行っていました。 授業のTAに関しては、先生からのお願いなので断ることができませんでした。 修学支援室で得られた会話や人脈は他では得難いものだったので、働けてよかったです。

ボランティア活動として、東京の青梅市で開催されている子どもIT未来塾という活動に2年間参加していました。 活動の概要はこちらのページにまとまっています(本来のURLはページがNot Foundだったので、Internet ArchiveのURLを載せています)。

https://web.archive.org/web/20230325030604/http://www.sato-zaidan.or.jp/r04/kobetu-3-2-2.html

部活では、トライアスロン部に所属しながら、スイム練とイベントと飲み会に参加する人になっていました。 毎週2回のスイム連に行く努力はしていましたが、やはり研究などが忙しく、行けないときも多々ありました。

活動を通してのPM専攻の学生のスケジュールの例の疑問点

会津大学のPM専攻の紹介ページには、PM専攻の学生のスケジュールの例が記載されています。

PM専攻の学生のスケジュールの例

u-aizu.ac.jp

私からすると、このスケジュールには2つ疑問点があります。

  1. 1年生のQ1で8単位を履修していること
  2. 国際学会の論文執筆が遅過ぎること

1つ目に関して、私からすると、大学院の授業を1学期で8単位を取るのは、かなり無茶をしていると思います。 確かに授業科目のみに集中できる環境であれば、1学期で8単位を取ることは不可能ではないと思います。 しかし、その場合、PM専攻のアリーナIの活動がほとんどできないと思います。

2つ目に関して、PM専攻の学生は、国際学会で論文を発表することが推奨されています。 国際学会で論文を発表することが、セミナー科目の単位の要件です。 発表しなかった場合、テクニカルレポートに加えて、修士論文を発表することが求められます。 そのため、国際学会での発表は何としてでも行いたいところです。 しかし、このスケジュールでは、最後のアリーナであるアリーナIVで、国際学会の論文を執筆しています。 仮にこの国際学会の論文がリジェクトされた場合、修士論文を書くことになりますが、あまり時間のない状況での修士論文の執筆となります。

この2つの観点から、私からするとこのスケジュールは、かなり無茶や博打をしているスケジュールのように感じます。

修士課程で身についたこと

私が修士課程の2年間で身につけた能力の内、身につけた、伸ばせた能力は次のようなものがあると考えています。

  • 行動に対する説明力
  • 言語化能力
  • 記録を残す重要性
  • スケジューリング能力
  • 立場を考えたコミュニケーション

行動に対する説明力

とにかく大学院では、1つの行動を起こすと、その行動の説明責任が求められます。 あれがしたい、これがしたいと言うと、なぜそれをやるのか、今やる必要があるのか、他にもっと良い選択肢はないのか、という言葉が返ってきます。 例えば、ある実験を行い、ある手法で評価したとき、次のような質問が来ます。

「なぜその実験を今したのか。別の実験の方が優先順位は高くないのか」 「実験で使用したAのパラメータはなぜその値に設定したのか」 「その計測方法の精度はどれくらいなのか」 「その評価手法は妥当なのか。別の手法の方が妥当ではないか」 などなど、質問や指摘をされます。 そのような環境で過ごすことで、常に選択した行動を説明できるようになりました。 別の表現としては、目的と目標意識を常に持つようになったとも言えるかもしれません。

言語化能力

論文を執筆するということは、ある事象を簡潔に厳密に文章で表現することを求められます。 指導教官や共著の学生と議論を重ねることで、より良い表現を学ぶことができました。 修士課程に在籍中に、徐々に厳密な言葉遣いや文章表現が身についてきてから、自身の思考が明瞭になってきた気がしました。 考え事をしていても、頭の中のモヤモヤが残っていることがあったのですが、修士課程の1年目が終わる辺りで、それがなくなっていることに気づきました。 このとき初めて自分の言語化能力が向上していることを実感しました。

記録を残す重要性

研究や長い期間に渡るプロジェクトを行っていると記録を残す重要性を実感できます。 自動運転の研究を行っていると、実験環境、使用したデータ、自動運転モデル、走行動画、ラップタイムなど1回の実験で生成されるデータの量は多く、また記録されるデバイスもそれぞれ異なるため、それらをまとめ一括で保存する仕事が重要になります。 記録をしておかないと、後の実験レポートや論文を書くときに情報が足りないといったことや、再現実験ができなくなる危険性があります。 私は、研究のプロジェクトを2人以上のチームで行なっていることから、自己完結できず、常に方針決めや仕事を振る際にコミニュケーションを取る必要があります。 なぜその方針に決定したのか、他にどのような選択肢を考慮したかといった過程の情報は、結論と同様に重要です。 修士課程の初期の頃は、この重要性に気づいておらず、記録を取ることを怠っていました。 この怠慢により、なぜこのタスクを行なっているのか不明になることがありました。 また様々な知識を文章化しておくことで、新たにプロジェクトに参加したメンバーに対して、いちから説明する必要が減り、「この文章読んでおいて」ということが可能になりました。

スケジューリング能力

PM専攻で4回のテクニカルレポートの執筆や、数々の論文の締切を経験して、スケジューリング能力が向上したと思います。 損切りポイント、先にやっておけば、後々楽に進められること、今やっておかなければ忘れてしまうから、今の内に記録しておこうなど、先を考えて行動することが多くなりました。 また多くの終わらない実験計画と締切の狭間でもがき続けた結果、将来起きる未来を想定し、最悪のパターンを想定し、一番マシな転び方を考えことが多くなりました。

立場を考えたコミュニケーション能力

数々のプロジェクトの運用や様々な立場の人が集まる場での講義の主催などで、色々な立場の人間と話すことがありました。 また日々の進捗報告用の文章や論文執筆を通して、どこまでが客観的事実なのか、どこからが主観が入り込んでいる文章なのか常に意識して書くようになりました。 その結果、相手や読み手がどこまで理解しているかを想定してから、自分が話し、文章を書く習慣がつきました。

特に研究室内の12人から構成される学生のプロジェクトを3ヶ月回したのは良い経験でした。 タスクの依存関係を頭の中でシミュレーションし、待機状態の人を極力減らすように努める必要があり、マネージャーの苦労が少しわかった気がします。 最近では、世の中で開催されている大きいイベント等を見ると、裏方の人間の苦労に想いを馳せるようになりました。

修士課程の良し悪し

良い点

私にとって、修士課程で良かった点は次の項目が挙げられます。

  • 上述の能力が得られる
  • 学割の恩恵を引き続き得られる
  • 遊ぶ時間も増える

前半2つに関しては、その通りです。 「遊ぶ時間が増える」に関してですが、私は修士1年の頃、後述する焦りや疲労でかなり疲弊していました。 もう1年この勢いは維持するためには精神力も体力も足りないと考え、適度に力を抜くことを覚えました。 そこで稼働する日は、しっかりと稼働し、休む日はしっかり休むことを意識しました。 やはり学生でしか実現できない時間の使い方があることも自覚したため、修士2年は全力で休日を満喫しました。

夏には、東京から寝台列車で島根まで行き、そこから青春18きっぷ日本海側の鈍行で会津に帰ってくるという1週間の旅行をしました。 卒業旅行では、北海道の知床、熊本の阿蘇に行くといった経験もしました。

乗車したサンライズ瀬戸・出雲

結果的に大学生活で多くの日本の土地を訪ねることができました。 色付いている場所が、私が訪れた場所を意味しています。

私がこれまで訪れ、写真を撮った場所の地図

悪い点

中学校や高校の友人などがライフステージを上がっていることに対する焦り、自分のやっていることは本当に価値があるのかという不安、何個終わらせても消化しきれないタスクリストを見るときの徒労感や絶望感、休日中も頭の片隅に残るタスク、訪れない休日などが挙げられます。

PM専攻についての感想

良い点

CIS専攻の修士論文を書き、発表する場合、1回しか機会がありません。 しかしPM専攻のテクニカルレポートを書き、発表する場合は、4回機会があります。 つまり試行錯誤の機会が多いです。 私の場合、やはり回数を重ねることで洗練された目的意識、プロジェクトの運用、文章表現、プレゼンテーション資料ができた実感がありました。

PM専攻を修了すると、大学から修士号(コンピュータ理工学)とITスペシャリストの修了証がもらえます。

u-aizu.ac.jp

通常の緑の学位記の証書入れに加えて、青色の証書入れももらえます。 この青色の証書入れをもらう他の手段として、成績優秀者として表彰される方法があります。 他の人が緑の証書入れ1つしか持っていなのに対して、PM専攻を修了すれば緑と青の2つもらえるため、ある種の優越感に私は浸れました。

学部と修士で得られた学位記とマウスパッド

先述の通り、私は研究室の同期と共に2年間プロジェクトに取り組みました。 Gitの導入による共同開発の効率化、ミーティングの進行、タスクや進捗の管理、相方が不調の時の檄の入れ方、チームメンバーの得手不得手を考慮したタスク分割、など様々なことを学べました。

PM専攻の場合、取り組むプロジェクトによっては、世間一般のいう「プロジェクトマネジメント」の知識が通用しないことが多いです。 特に研究志向の挑戦的なプロジェクトを進める場合、不確定要素が多く、マネジメントに非常に苦労すると思います。 そのギャップを実感し、不確定要素の切り崩しからPM専攻は始まります。 そういった環境で揉まれた結果、私は修士課程の終盤ではプロジェクトの帳尻合わせを行い、何とかプロジェクトテーマの大きなマイルストーンの内1つを達成することができました。

悪い点

私は、CIS専攻の修士論文を1回書くだけの方が楽だと思います。 PM専攻の場合、2年間でチームでテクニカルレポートを4本仕上げる必要があります。 私のチームは、それぞれのテクニカルレポートのページ数はそれぞれ約25、40、90、70ページ程になりました。 2人で書いているとはいえ、それなりに大変です。 幸いにテクニカルレポートの言語は、条件付きですが日本語が認められていたので助かりました(詳しい条件は学生課等に聞いてください)。 負荷的には、おそらくテクニカルレポート1本あたり修論1本なので、4回修論書いている負荷になると思います。 ここの負荷は完全にプロジェクトごと、チームごと、指導教官ごとに変わると思います。

PM専攻の現状の制度に対する疑問

AY2022に入学した私目線のPM専攻の現状の制度に対する疑問です。 時間が経ち改善されている場合もあるので、興味がある方は自身で調べてみてください。

PM専攻は、かつて別の名称だったコースを最近PM専攻という名称に変えたそうです。 その名残からか、学生ガイドやPM専攻の文章で表記揺れが多々発生している気がします(私が同一視しているものが実は別々という可能性は否定しきれませんが)。 また明文化されていない規則や慣習が多数あります。 特にセミナーの単位要件やテクニカルレポートの提出要件についての記述が曖昧です。 そのため、規則や要件などの文章を読み、曖昧な表現があった場合、いちいち専攻長や学生課に聞く必要がありました。 PM専攻というコースで、2年間に渡って私はある種のデバッガーのような立ち回りをしていました。

先述の通りPM専攻は1つのテーマを選択しプロジェクトに取り組みます。 一方で学生ガイドを読む限り、アリーナごとにテーマを変えてよさそうに見えます。 一見すると矛盾があるように見えますが、 2年間で取り組む大まかな1つのテーマを決め、そのテーマの範囲から逸脱しない領域内でアリーナごとに異なるテーマに取り組んで良い、ということが実態のようです。 指導教官の話を聞く限り、アリーナで執筆したテクニカルレポートを1つの修論とみなして、教授会に審査がかけられるようです。 そのためアリーナ間で大きく異なるテーマを扱った場合、教授会で審査する際に、なぜそれぞれのアリーナで大きく異なるテーマを行ったのか説明を求められる可能性があるそうです。 学生課もしくは専攻長から事前にこの仕組みの説明をして欲しかったです。

PM専攻は、複数人で1つのプロジェクトに取り組むことを推奨しています。 1つのプロジェクトに1人で取り組むことも可能です。 ここで1人でプロジェクトに取り組んでいる学生のことを「ソロ学生」とでも呼びましょう。 学則の都合なのか分かりませんが、PM専攻長はソロ学生を複数人まとめて1つのチームを組ませます。 ここで改めて学生、プロジェクト、チームの関係性を整理してみましょう。 私の場合は、学生が2人で、1つのプロジェクトに、1つのチームとして取り組んでいました。 私が知っているソロ学生の場合、学生が3人で、3つのプロジェクト、1つのチームという形態がありました。 私は、このソロ学生のチームの存在意義に疑問を感じます。 またチーム内のソロ学生同士でのミーティングは、Teaセミナーの対象にならないという罠もあります。 これも学則などに明記はされていません。

PM専攻は、CIS専攻よりも学生間での交流を求めている特色があります。 チームでプロジェクトに取り組むことや数々のセミナーの仕組みは、その証だと思います。 しかし、PM専攻の学生間での交流の場が用意されておらず、私は最初のTeaセミナーを行うのに苦労しました。 たまたま同期のチームメンバーが、他のPM専攻の学生と繋がりがあったため、何とかTeaセミナーを行うことができました。 このような場は、本来大学側がPM専攻のオリエンテーション等で設けるべき場であり、学生間の繋がりを当てにしてはいけないと私は思います。

私が大学院に向いていると思う人間

大学院は、1つでも好きなことがあり、追求できる人間であれば来るべき場所に思えます。 追求した結果、分野の限界を越えるのか、己の限界が先に来るのか一心不乱に試せる場所だと思えます。 学部生の前半は授業に忙殺され、社会人になったら仕事の合間を縫わなければそのような時間は作れません。 学部生の後半から大学院の期間は、それが許される貴重な時間だと思います。

他に大学院に向いている人間の特徴としては、一心不乱に努力できるが、その努力する対象を探し続けている人間だと思います。 不屈の精神、崖っぷちの状況でもしがみつく覚悟がある人、1つのことをやり通す胆力を持っている人は向いていると思います。 その強さがあれば、あらゆる困難を乗り越えることができるからです。

博士前期課程を終えた感想

会津大学大学院博士前期(修士)課程で得られた経験は、所属していた研究室、指導教官、所属していた専攻、共に活動していた同期の学生の4つの要因が非常に大きいです。 例えば、研究とは関係ない最近流行りの技術について議論できる指導教官や同期がいたのは幸運でした。 また指導教官のお墨付きをもらえるくらいに同期のチームメンバーとの相性に恵まれました。 修士課程に入ったからといって、必ずしもこれらの経験が手に入るわけではありません。 ぶっちゃけ再現性のない経験です。

私は、修士課程を修了したことで、学部だけでは絶対に見えなかった景色が見えたと感じています。 私自身の能力も明らかに向上した自覚があり、ソフトウェアエンジニアとしての視座も高くなったと思います。 実際に修士課程に在籍している際に得られた能力が、実際に就活や内定者インターンで役に立った実感があります。 修士課程は、決して楽ではありませんでしたが、私にとっては、修士課程を修了する価値はあったと断言できます。

生存者バイアスだと思いますが、人生で一度くらい死ぬ気で何かに打ち込まないと見えない世界はあると考えています。 やれあそこの研究室はブラックだ、ここの研究室は楽だ、といって目先の損得勘定で物事を決める人もいます。 覚悟を決め努力をした学生は、そのような学生とは基礎能力や思考の深みが違うように私は感じます。

おわりに

私は、指導教官、ラボのメンバーからもパワー系、フィジカル系という称号をもらっていることから、それなりに体力はあるのだと思います。 そのため私の活動記録は、多くの学生にとっては参考にならない可能性はありますが、悪しからず。

私にとって博士前期課程は人生の修行でした。 辛いときもありましたが、ここでしか得られない経験を積めました。 私は、この修行を経て自身の思考が深まり、視野が広がったと感じています。 後悔はしていません。 むしろ感謝しています。

私は飛び級をしてPM専攻を修了しましたが、職員曰くそのような学生は会津大学で初めてらしいです。 やったね。

続・会津大学のすすめ

会津大学の正門と磐梯山


注意事項

本記事は2019年4月から2024年3月の5年間、会津大学に学生として在籍していた人物の文章です。全ての文章は筆者の主観に基づいており、勘違いや誤りが含まれる可能性があります。 またこの文章は客観的な大学案内ではなく、一人の学生による会津大学に対する思いの吐露、という位置付けを前提に読んでください。 特に授業の質や教員に対する意見、学生生活の特定の側面に関する評価などは、他の学生によっては異なる見解が存在する可能性があります。 この記事を執筆した2024年3月19日以降、この記事の内容は古くなっていきます。適宜公式が提供する最新の情報を参照してください。



2024-03-21 誤った内容や誤解を招く表現があったので一部文章を修正をしました。 指摘をしてくださった方にはこの場を借りて感謝を申し上げます。



2024-03-24 私が執筆した関連記事のURLを追加しました。


はじめに

お久しぶりです。会津大学修士2年の新冨です。先日、博士前期課程の修了が決定し、晴れて修士号を獲得できることになりました。 自分は会津大学に2019年4月に入学し、2022年3月に飛び級で学士号を取得し2022年4月から2024年3月まで会津大学大学院の博士前期課程に在籍していました。 会津大学には学部と修士課程合わせて5年間お世話になりました。 飛び級に関する記事は別途こちらの記事でまとめています。

yutashx.hatenablog.com

本記事の目的と対象読者

会津大学の学生は技術系の記事を書くことは多いですが、学生の生態系に関する記事や役立つテクニックをまとめた記事はあまり多くないように感じます。 かつては有志による会津大学Wikiがあったようですが、今は廃れてしまいました。 私が学部を卒業する頃に書いた、学部生視点の「会津大学のすすめ」はこちらの記事になります。 余談ですが、自分が2年前、学部を卒業する間際に執筆した「会津大のすすめ」は毎年3〜4月頃にSNS等で拡散され、多くの方々に読まれているようです著者冥利に尽きます。

yutashx.hatenablog.com

本記事は、「会津大学のすすめ」から修士課程の2年間を経て、増えた知識や経験を加えて「続・会津大学のすすめ」という題にしました。 「会津大学のすすめ」の全ての項目について触れている訳ではないので、本記事と「会津大学のすすめ」を併読することをおすすめします。 本記事の目的は、等身大の会津大学生の内情を伝え、また読者の学生生活がより豊かになることです。

この記事は学問を志す人間向けに書いています。学位さえ取れれば良いという考えの学生が一定数いるのは理解していますが、私はそのような学生に否定的な立場で記事を執筆しています。 大学に入学したのであれば、私は、大学が提供するものを使い尽くし、知識・経験を積み、人脈を築くことで、学費の元を取るべきだと考えているからです。 対象読者は、会津大学への進学を考えている高校生、会津大学に在籍する学生です。

本記事の目次は次の通りです。

  • 会津大学の授業やカリキュラム
  • プログラミング言語
  • 会津大学のコンピュータの環境
  • 買うべきコンピュータ
  • 学生の質
  • 学生の住処
  • サークル
  • 就職活動
  • 学費の元を取る方法
  • 学生生活を豊かにするテクニック
  • おわりに

2024-03-24追記 会津大学大学院博士前期課程に興味がある方は、こちらの記事をお勧めします。

yutashx.hatenablog.com

本記事と上記の修士課程から外れたテーマに関しては、こちらの記事にまとめています。

yutashx.hatenablog.com

会津大学の授業やカリキュラム

キャンパスカレンダー

会津大学のキャンパスカレンダーは、1年を4学期に分割し、それぞれをQ1(クォーター1、1学期)、Q2、Q3、Q4と呼びます。 Q1は4月から6月中旬、Q2は6月中から8月上旬、2ヶ月弱の夏休みを挟んで、Q3は10月上旬から12月上旬、Q4は12月上旬から2月上旬、そして2ヶ月弱の春休みとなっています。 またQ1、Q2、夏休みをまとめた期間を前期と呼び、Q3、Q4、春休みをまとめた期間を後期と呼びます。 1コマ45分、多くの授業科目は1回あたり2コマ、多くの授業科目は1学期ごとに開講されること、科目ごとの単位数の違い、シラバスの読み方、水曜日は午後休みになりがち等の説明は割愛します。

u-aizu.ac.jp

u-aizu.ac.jp

カリキュラム

会津大学の時間割は、順調に単位を取れば3年生の前期で殆どの授業単位を取り終えられるように組まれています。 2024年3月現在、会津大学の学部は、科目単位が120単位、卒論単位取得すれば、卒業、つまり学士号を取得することができます。

u-aizu.ac.jp

1、2年生で努力をし、順調に科目単位を取っていった場合、1年生で50単位、2年生で96単位、3年生前期で120単位とれます。 そのため、この早さで科目単位を取った場合、3年生後期以降、授業を取る必要がなくなります。 学部2年生の後期に研究室を選択します。 選択した研究室によっては、指導教官により履修を推奨される科目があります。 1、2年生のときは、学年を6つのクラスに分割し、2クラスごとに1つの教室で授業を開講することが多いです。 そのため基本推奨科目のような履修者が多い科目は、同じ時期もしくは異なる時期で3回開講されることになります。 博士前期課程では、16単位の授業科目の単位、セミナー科目8単位、修士論文の単位を取れば博士前期課程を修了することができます。

会津大学のカリキュラムは、IEEEACMと呼ばれるコンピューターサイエンスの総本山とも呼べる学会が策定したカリキュラムに則って構築されています。

u-aizu.ac.jp

u-aizu.ac.jp

カリキュラムは複数の授業科目から構成されており、会津大学の場合、大雑把には1〜2年生ではコンピューターサイエンスの様々な分野の概論、3〜4年生では分野ごとの専門科目を学ぶように構成されています。 2024年3月時点では、会津大学には必須科目はなく、履修することを推奨する基本推奨科目が設定されています。 基本推奨科目で基礎知識や技術を網羅的に身につけ、そこから専門性を積み上げるという形となっています。

授業やカリキュラムに対する私の考え

学生の中には「この基本推奨科目は履修放棄して良い」という主張を声高にする短絡的な思考を持つ学生がいますが、そのような学生の発言には注意しましょう。 ~この発言は、高々数年しか学んでいない学生が、その道の専門である教員方が練り上げたカリキュラムや授業の価値を真っ向から否定することを意味します。


2024-03-21の修正 全ての授業科目が「その道の専門家である教員方」が担当している訳ではないそうです。 授業科目によっては、非専門の教員が授業科目を担当することもあるそうです。 また本記事の初稿で私は、大学のカリキュラムを権威主義的な立場で肯定すると同時に、後述の文章で批判的な立場も取るというダブルスタンダードな主張をしていました。 そのため、今回の訂正で大学のカリキュラムに批判的な立場に主張を統一したいと思います。


確かに授業科目によっては教員の当たり外れがあります。 先ほど説明した通り、多くの基本推奨科目は、履修者が多いため、同じ授業が複数回、教員を変えて開講されることがあります。 そのため気に入らない教員がいる場合は履修放棄ではなく、受講するクラスを変更するといった対応をするのが望ましいでしょう。

一方で、会津大学のカリキュラムは欠点があると私は考えています。 私が思うに最も致命的な点は、研究室選択が2年生のQ3に行われるのに対して、基本推奨科目を取り終えるのが3年生のQ1であるということです。 学部2年生のQ3から学部3年生のQ1にかけては半導体設計論、論理回路設計論、コンピュータアーキテクチャ、OS論、オートマトンといった現代のコンピューターの本質と言っても過言ではない授業科目が開講されます。 そのような授業科目を受講している最中、受講前に研究室を決めなければなりません。 私はこのような状況は、コンピュータアーキテクチャ半導体設計論といった分野への潜在的に興味を持ちうる学生が、それに気づくことなく他の研究室を選ぶという、学生にとっての機会損失だと考えています。


2024-03-24追記 そのような意欲的な学生に向けて、おすすめのコンピュータ関連の書籍をまとめました。 興味がある方はこちらも読んでみてください。

yutashx.hatenablog.com


授業の難易度

会津大学では、日本語と英語が公用語として定められています。授業や学内メールでは、日本語と英語の併記、または英語のみでやり取りされることがほとんどです。 そのため、英語が苦手だと人は相当苦労すると思います。 学部2年生から3年生への進級にあたり、一定のTOEICの点数の獲得が進級条件として定められています。 私の記憶が正しければ2020年度は400点で、2023年度では450点が条件として定められているはずです(あまり自信がないです)。 今後もこの条件は厳しくなっていくはずです(かつて某学長は600点を目標としていました)。 私はセンター試験しか知らないので、センター試験を基準に話すと、センター試験で8割ほど取れているのであれば、英語に関する心配は不要でしょう。

プログラミング言語

C言語

会津大学は、C言語を最初に学ぶプログラミング言語として定めています。 C言語を最初に学ぶ言語として定めているのは、私は次の理由があるからだと考えています。

  • 開発されてから50年以上使われている
  • 非常に多様な分野で使われている
  • 非常に多くのライブラリが存在する
  • コンピュータの性能の限界を引き出すことができる
  • C言語の文法が他のプログラミング言語の文法に多大な影響を及ぼしている

長く使われ続けている技術は、「枯れた技術」と言われることがあります。 これは良い意味で使われており、枯れた技術は、バグが出し尽くされており、安定して運用できる実績があることが多いです。 またソフトウェアを効率的に実装する上で、ライブラリと呼ばれる汎用的な再利用可能なプログラムをまとめたものが使えることは非常重要です。 長く使われている言語はその分、その言語の資産とも呼べるライブラリが豊富に提供されています。

C言語はポインタを始めとするコンピュータのハードウェアを直接操作することができます(他にも理由があると思いますが、自分はこれしか知りません)。 そのためコンピュータを構成するプロセッサーやメモリといったハードウェアに成熟している人間が、コンピュータの性能を最大限に発揮させるためにC言語は欠かせない言語です。 一方で、私は、プロセッサーとメモリの関係、メモリ上のデータの配置構造、いわゆるコンピュータアーキテクチャを知らない段階で、ポインタを理解するはかなり難しいことのように感じます。 私自信、学部1年生のときはポインタ自体は使えるようになりましたが、なぜポインタが存在するのかはイマイチ理解できていませんでした。3年生のコンピュータアーキテクチャを学んだ時に初めてポインタの仕組みを理解できたという実感もあることから、そのように考えています。

趣味で学ぶプログラミング言語

趣味で学ぶべきプログラミング言語はどれか、という議論は大抵の場合不毛だと私は考えています。プログラミング言語は、言語ごとに得意な分野(組み込み機器、3Dゲーム、画像処理、Webページ、科学計算、データ分析など)があるので、やりたい分野をまず考え、そこから必要な言語を選択するのが良いと思います。 会津大学には、特定の言語を布教する人物がいますが、複数の言語を操った上でのその言語を布教しているのであれば信用して良いと思います。 その言語しか知らないのに、「○○言語が最強!」とだけ主張をしている人がいれば、その人とは距離を取った方が良いと考えられます。 視野が狭いと思います。

会津大学のコンピュータの環境

AINSネットワーク

会津大学にはAINSという大学内ネットワークが構築されています。 AINSネットワーク内には、1000台近くのLinuxマシンと数百台のmacOSを搭載したマシンが接続されています。 Windowsのマシン群は隔離された別のネットワークに存在します。 学生はSSH経由でそれらのにマシンにアクセスすることができます。 ほとんどのマシン間でユーザーのディレクトリを共有しているため、どのマシンにログインしても同一のファイルシステムを利用することができます。 興味がある方は会津大学情報ネットワークシステム運用管理 及び 教育研究環境整備業務仕様書と題された仕様書を読むと良いと思います。

SSHの重要性

私はSSHを制するものが大学のワークステーションの環境を制するという持論があります。 SSHの使い方を覚えることで、大学のネットワーク内にいるような環境をインターネットが繋がる限りどこでも構築することができます。 これは授業や研究の次のような場面で役に立ちます。

  • 大学のマシン内にあるファイルを自宅から編集できる(C言語の授業などに役立つ)
  • 回路設計用のCADアプリケーションを転送することで、自宅から回路設計ができる(論理回路設計の授業など)
  • Dynamic Port Forwardingを利用することで、自宅からIEEE ExploreやACM Digital Library にアクセスすることができる(研究で非常に役に立つ) blog.icttoracon.net

研究室内に自身のPCを置けるといった人は、個人のVPNを貼ることが可能です。 これは大学のファイアーウォールに穴を開けることになり、当然セキュリティリスクが伴います。 やる際には自己責任で行ってください。

買うべきコンピュータ

学生生活を送る上で、自分のコンピュータを一台持っておくと便利です。 便利ではありますが、なくても学生生活を送ることはできます。 会津大学の演習室は24時間空いているので、そこで授業の課題をこなせば問題ありません。 新入生であれば、配布されているPC選択の資料を参考にしてください。

学生の質

テストの点数、評定が高い人間が優秀と見做されていた高校までとは異なり、大学では多様な視点から学生を見ることができます。 コンピュータサイエンス全般に詳しい学生、語学が堪能な学生、高いGPAを取るのが得意な学生、ある領域に関して特化している学生、コミュニケーション能力が高い学生など会津大学には能力が持つ学生が、私の知る限り多数います。 稀にオールラウンダーのような学生もいます。

一方で、会津大学はそこそこの人数の学生が留年する大学でもあります。 私は、入学式のオリエンテーションで「ストレートで卒業できる人は学年の75%である。4人に1人は留年する」と当時の学生部長(だったはず)に言われました。 当時は冗談だろうと思っていましたが、実際そのようになりました。 留年と一言で言っても、必ずしも単位を取れなかったという負の要因だけではなく、留学していた都合で留年してしまったという場合もあります。


2024-03-21修正 留学した場合は、休学扱いになるはずなので、この文章は誤りです。 私の知る限り、留年が起きる条件は、単位を取れなかったことを含む進級条件を満たせなかった場合です。


会津大学単科大学であるため、転専攻といった逃げ道はありません。 「コンピュータに興味がないけど、共通試験の点数が低かったから受験する」と言った中途半端な気持ちで入学すると苦労するかも知れません。もしかしたら入学したことをきっかけにコンピュータに興味を持ち、覚醒する場合もあるかもしれませんが。

会津大学に入学してしまった学生に対する逃げ道は、退学か編入です。 時々会津大学から他の大学に3年次入学している学生がいるようです。


2024-03-21修正 本記事を執筆した当初、「逃げ」という表現には、会津大学のレベルの低さに呆れてよりレベルの高い大学に逃げるの意味合いも持たせてるつもりでした。 しかし、この表現では外部の大学に編入した学生に失礼である、という指摘を受けたため訂正したいと思います。 初稿の文章を受けて、気分を害した方がいれば申し訳ありません。 以下修正した文章になります。

会津大学に入学した学生が取る進路は、主に卒業、退学、編入のいずれかになります。


会津大学は、大学の規模の割に国際性が豊かなのは間違いないです。 学部の授業では、同じ授業でも教員によって日本語の場合と英語の場合があります。 大学院の授業は、ほとんどの場合英語で行われます(日本人の学生しか履修していない場合は日本語で行われる場合も稀にありますが)。 私は、学部1年生の頃、創明寮で暮らしていました。 私は、創明寮で多数の留学生と交流し、雑な英語を喋っても、意外と通じるという経験が得られ、英語で会話することに躊躇いがなくなりました。 創明寮についての記事はこちらを参考にしてください。

yutashx.hatenablog.com

研究室では、外国人の教員が主宰する研究室には留学生が集まりやすい傾向があります。 私の隣の研究室も外国人の教員が主宰する研究室で、多数の留学生と交流することができました。 私が所属していた研究室とその研究室と合同で行うゼミも当然英語で行いました。 発表資料や原稿も英語で行うため、最初の方は苦労しましたが、今はもう慣れました。 また卒業論文修士論文の発表もすべて英語で行います。 私の場合、普段のゼミから英語でやり取りをしているので、そこまで苦ではなかったのですが、慣れていない学生は、非常に苦労していそうです。

このような経験から某大学ランキングで評価されている国際性の高さは、嘘は言っていないと私は思います。 ただし、必ずしも日本人の学生が留学生と、外国人の先生と流暢にコミュニケーション取れているわけではないのが現状です。

学生の住処

この記事が分かりやすくまとまってます。 UBICに住人がいることを除いては自分の体感とも一致します。

soukouki.hatenablog.jp

サークル

会津大学には、技術力が人間の価値であるという、かなり偏った思想を持つ人間が生まれます(かつての私)。 また様々な人がいる場で内輪でしか通じないネタを発することで、場を凍りつかせる、興醒めさせる学生もいます。 技術サークルのみに属し、技術バイトのみやる人の場合は、それ以外の価値観の人と接する機会が少ないと思うので、気をつけた方がいいかもしれません。

一方で、会津短期大学の学生とサークル活動を共にすることで、異なる環境の人々と触れ合う機会が生まれます。そうした交流を通じて、適切な言葉遣いや振る舞い方を学ぶことができます。

就職活動

会津大学の学生は、キオクシアといった大手企業、LINEや楽天といったメガベンチャーAWS Japanといった外資に就職することがあります。 私の知る限り、多くの学生はSIer(System Integreter)として名の職に就きます。 私は、世間の言う「SIer」が指す仕事内容があまりにも幅広いと考えており、「コンピュータを使う仕事」以上の理解をできていません。 そのためここの説明は割愛します。

私は学部のときに就活はせず、修士1年のときに初めて就活をしました。 私の就活事情の詳細は、こちらにまとめています。

yutashx.hatenablog.com

例えば24卒(2024年度から就職する人のこと)の場合、2022年度時点での学部3年生や修士1年生が一般的に就活の対象学年となります。 私の感覚的には、早い人であれば秋頃から就活を始め、2022年内に内々定を取る人が出てきます。 そして殆どの学生が春休み前後で内々定を取る人を取ります。 一般的な就活は、2023年度の6月から就活解禁と言われていますが、情報系は分野柄か、私が知る限り、その時点で殆どの学生が就活を終えています。

私が聞いた限り、会津大学はコンピュータに強い人材を輩出する大学として社会から認識されているようです。 これは会津大学の一部の現役の学生と多くの卒業生の努力により得られた知名度だと私は考えています。 この知名度は、会津大学に属する/属していた人間ひとりひとりの努力が結実したものであると私は考えています。 そのため会津大学に入学したからと言って、そこで歩みを止めるのではなく、そこからの自己研鑽が重要になってくると私は考えています。 実際会津大学のカリキュラムをこなしただけでは、実践的なソフトウェアを作ることは難しいです。 これはコンピュータサイエンスと実務に差があるため、このような現象が起こります。 学生の中でもその差を自ら埋めることができる学生は非常に貴重な人材だと私は思います。

学費の元を取る方法

学費の元を取る方法は、人によって様々な捉え方があると思います。 私は、大学でしか提供できないことを使い倒すことが、最も効果的に学費の元を取る方法だと考えています。 具体的には、次の3つを十分に活用できれば元を取ることができると思います。

  • 教員やTAに質問したり議論すること
  • 回路設計用のCADを使用すること
  • 大学が契約している学術レポジトリにアクセスして大量に論文を読むこと

教員やTAに質問したり議論すること

まず教員とは何かについて説明したいと思います。 教授、上級准教授、准教授というのは肩書です。 そのためOO准教授」を「OO教授」というような本来とは違う肩書きで呼ぶのは誤りです。 多くの学生はこの辺りをあまり気にしないですが、本来は気にするべきです。 「OO先生」という表現は、肩書き関係なく使うことができます。 博士号を持っている、つまり世界でその分野に最も詳しい人間であることを意味しています。 教員であるからと言って必ずしも博士号を持っているわけではありません。 ~~ 研究室を主宰している教員は、博士号を持っています。 大学には、そのような博士号持ちの教員が多数います。 そのような方々は、大学外の講義をする際には、時給数万円になるそうです。 社会的にはそれくらいの価値がある人材としてみなされています。~~


2024-03-21修正 かつては修士号持ちで研究室を主宰していた教員もいたようです。 また教員の価値を時給換算の表現で価値の高さを分かりやすく表現しようとした結果、誤解を招く文章になりました。 以下修正した文章です。

多くの教員は、専門知識が深く、文章執筆やプレゼンテーション応力が高く、また国内外の学術会や産業界との交流を持っています。


大学に所属する学生は、そのような方々と、アポイントメントさえ取れば自由に議論できる環境が整っています。 また研究室に所属した際には、指導教官と闊達に議論できる場が設けられます。 そのような機会を有効に活用することが、学費の元をとる1つの手段だと、私は考えています。 またTA (Teaching Assistant)に質問することも同様です。

回路設計用のCAD

会津大学は、回路設計用のCADとしてCadence社のツールを導入しています。 噂によるとビジネスライセンスであれば、1本あたり数億円するらしいです。 会津大学には、そのライセンスが少なくとも100本近く(80人ほどの学生が同時に使用できる数はある)あります。


2024-03-21修正 実際の契約内容は知らないので、上述の内容は誤っている可能性があります。 以下修正した文章です。

会津大学には、学生が自由に回路設計用のCADを使える環境が整っています。


大学が契約している学術レポジトリにアクセスして大量に論文を読むこと

IEEE XploreやACM Digital LibraryはIEEEACMというコンピュータサイエンスを代表とする学会が運用する学術レポジトリです。 自分の理解では、IEEE XploreやACM Digital Libraryの契約は、その学術レポジトリ内の論文の閲覧権のことを指しています。 IEEE Xploreの場合、25本のfull-paper(25本分の論文と読み替えても問題ない)の閲覧権1人/1ヶ月辺り、$47 (約7000円)かかります。

https://www.ieee.org/membership-catalog/productdetail/showProductDetailPage.html

しかし、会津大学に所属する学生は、本数制限なく論文を読むことができます。

その他

まとめるとIEEE XploreやACM Digital Libraryにある論文を沢山読み、回路設計用のCADを使い、教員と議論することが最も良いと、私は考えています。 つまり回路設計寄りの研究室に行けば最も学費の元を取りやすいのではないのでしょうか(暴論)。 大学が提供する奨学金を受け取ることや大学の補助を使い留学へ行くこと、大学の施設を存分に使うことも、学費の元を取る手段の具体例だと思います。 また大学が契約しているOfficeのOneDriveの容量は1TBあるので、積極的に使用すると良いでしょう。

学生生活を豊かにするテクニック

講義とテストの時間割のカレンダーURLの入手方法

多くの学生が、時間割アプリをダウンロードし、自身の手で時間割を入力しているのを散見します。 しかしそのようなことは不要です。 大学側が、同じ機能を実現するカレンダーを提供しています。 学務システムから次のような手順で講義とテストの時間割が自動更新されるカレンダーのURL手に入ります。

学務システム→休講・スケジュール→カレンダー連携

このURLを普段使いしているカレンダーアプリにインポートすれば、自動で時間割が同期されます。

ELMSで設定されている課題の締め切りのカレンダーURLを入手する方法

ELMSで設定されている課題の締め切りのカレンダーURLも入手することができます。

ELMS→カレンダー→カレンダーをエクスポートする→カレンダーURLを取得する

おわりに

私が5年間の学生生活で得られた経験や知見の中で、他の学生にとって有用そうな内容を書き起こしました。 この記事を読んだ読者がより良いキャンパスライフを送れることを願っています。

就活を終えて

新潟の眼鏡岩の夕日

就活を終えて

はじめに

会津大学大学院 修士2年の新冨です。 先日アップロードした会津大学大学院 修士1年を終えての記事で、就活については後日別の記事を書くと宣言したので、就活に関する記事を書きたいと思います。 私は、インターネット上の情報を参考にしたのであれば、自分も他の人の参考になる情報をインターネットにアップロードするべき、という思想を持っています。 ある種のgive and takeを成立させるためにこの記事を書きます。 この記事は、経歴、自己分析について、就活準備、内定獲得までの経緯、やっておいて良かったこと、参考になった本や記事から構成されています。 またこの記事を参考にするかどうかは自己責任でお願いします。 「これをやれば必ず内定を取れる!」とか銀の弾丸のような内容は書いてないので悪しからず。

経歴

プログラミングは大学に入学する前からやっていたが、Slackbotを作る程度で本格的にコンピュータを勉強し始めたのは大学に入ってからです。 大学の授業だけでは技術力が身につかないという意識があったため、ひたすら手を動かし、実際にコンピュターを動かすことで、OSやネットワークについて勉強していました。 このとき技術系のサークルには一切入らず、ひたすら独学で勉強し、趣味開発を行なっていました。 学部は飛び級(詳細は3+2(飛び級)のすすめを参照)し、そのまま会津大学の大学院に進学しました。 対外的な取り組みとしては、2022年3月に会津若松主催のデジタル未来アート展で、ARアプリの展示を行いました。 授業や研究が忙しいことを理由(言い訳)にインターンには行ったことがないです。

就活の目的と目標を定める自己分析

自己分析の方針

11月中旬から自己分析を始めた。本格的に自己分析をするにあたって、LabBaseに書いた自己紹介文(後述)をもとに、思いつくことをひたすら継ぎ足していきました。 移動中など他に考えることがないときは、結構な頻度で就活の目的や目標、自身の強みとは何かを考えていました。 ひたすら、なぜそう思うのか、なぜそれをやりたいと思うのかを考え続けた結果、なぜ今生きているのか、何を目的に生きているのかを考えるところまで行き着いた(哲学の領域に踏み込んだ気がする…)。 最終的に次のような項目を書きました。 - 自己紹介 - 自己PR - 研究 - 語れるエピソード - 将来像 - 企業の候補 - 逆質問リスト - 将来成し遂げたいこと - 生きる目的 - 企業に求めること

実際の自己分析の一部

実際に自分が書いた自己分析の一部をここに載せたいと思います。参考になれば幸いです。 1月末ににこれらの内容を書き終えた気がします。

  • 企業に求めること

    • Computer Scienceの知識を活かせる
      • Computer Scienceについて他の人よりも意欲的に学習・研究してきた自負があり、またそれが自分の強みでもあると考えているから。
    • 次世代のデバイスおよびプラットフォーム作りに関わりたい
      • 社会に良い影響を与えられる
      • ワクワクするもの * グローバルに展開する/しているか
      • 海外に出ることで見識を広めたい、外貨を稼ぎたい
    • 待遇の良さ
      • プライベートで不自由しないお金と時間が欲しい
    • 裁量権を早い段階で得られるか
      • 考えることは増えるが、自由度が増し、より良い解にたどり着ける自信がある
    • 専門性を身につけられるか
      • 上記の条件を満たしていれば必然的につくと思うが、リスクヘッジとして、他の会社でも求められる専門性が欲しい
      • 器用貧乏は嫌だ
  • 将来像

    • エンジニアリングに対して深い理解をもつプロダクトマネージャー
      • コードを書くのは好きだが、大学で自分よりも上手にコードを書ける人を沢山見てきたため、コードを書くのはそのような人に任せるべき
      • スポーツや研究で個人とチームどちらでもやる機会があったが、チームの人がやる気があれば、個人よりも高い成果を出せることがわかった。
      • チームをまとめることが得意
        • 先読みする力が他の人よりある
        • 積極的に発言する
        • 他の人の立場になって考えられる
        • ストレス耐性がある程度ある
    • プロダクトの方向性
      • プラットフォームの構築
        • 多くの人に対して影響を与えることができる
        • 個々のプロダクトでは効率が悪い
      • 未来を感じさせるようなもの
      • 教育
      • 仕事の効率化
      • 地方創生

このような形で自己分析をしており、自己分析を含む就活関連の情報は全てNotionにまとめて管理していました(Notionは学生プランあるからおすすめ)。 先日Notionの就活関連の文章の文字数を数えてみたところ、6万字になっていました(求人情報のコピペとかあるから、全て自分で書いたわけではないけど)。 就活は自分の人生を左右するイベントだと思っていたので、自分としてはこれくらいして妥当だと思います。

企業選択

職種としては、XRエンジニアとサーバーエンジニアの2つ就活することにしました。 3次元再構成やAR/VRアプリに非常に興味があったので、それらを仕事でできそうな職種であるXRエンジニアを志望しました。 一方でXRエンジニアは、そもそも最近できた職種で、求人枠があまりないと思っていました。 あったとしても大抵の会社は中途採用のみのようなところで、正直あまり望みはないと思っていました。 次に、自分はサーバーを動かすことが好きだったので、サーバーエンジニアとして志望することにしました。 サーバーエンジニアはXRエンジニアよりも間口が広く、新卒採用枠もそれなりにあると考えたからです。 これらの職種と先ほどの求める企業の要件を満たすところを、次のサービスやデータベースで探しました。

これらのツールを駆使し、10社ほどピックアップし、応募締め切りが早い順に出していきました。 いくつかの企業は自分の技術力や経歴に見合わないのではないか、と思った企業もありましたが、まあ新卒なんだし、行きたいと思ったところ出してみるか精神でエントリシートを出していきました。 ちなみにですが、大学が提供している就活サービスは一切使いませんでした。

就活準備

4月に研究室の先輩の勧めでLabBaseに登録し、プロフィール欄を埋めました。 夏休みに研究室から逃げ出したいと思い、本格的な就活をする前に、インターンで経験を積んでおく方が良いと考え、夏のインターンを申し込もうと思いました。 夏のインターンはR&Dで2社申し込んだが、どちらも落ちたので、結局夏休みは研究室にこもってました。 11月ごろに大学のキャリアプランの授業で、内定をもらった先輩の話を聞こうの会があったので、それに参加し、先輩の就活の実体験を聞けました(履修してなくても聞きに行けるから、みんなも行ったほうがいいよ)。 ちょうどこの辺りから本格的に就活を意識し始めた気がします。

エントリーシートについては、志望動機など全て一度自分で書き、ChatGPTに「私の就活の自己PR文です。評価し、10点になるように添削してください。(自分で書いた文章)」のような形で、採点し、問題点を指摘してもらう形で修正を繰り返していました。 就活の序盤では、最初に自分で書いた文章は7点ほどで、4往復やり取りを繰り返すことで、最終的に8〜9点になりました。 就活に慣れてきたあたりで書いた文章は、1発で8点を出せるようになり、自分自身ChatGPTの影響で、文章を書く能力が上がっている実感がしました。

また先の自己分析の内容で触れた「語れるエピソード」に関しては、ARアプリの展示や産学連携、ボランティア活動の内容等をまとめました。 この語れるエピソードを考える際には、あなたのクラウドキャリアの始め方:Blog #2 – 面接に向けた自分の強みの整理の技術や経験に関する質問にうまく答えるための準備方法がかなり参考になりました。いや参考になったと言うより、このフォーマットに従って書きました。

下記の質問を参考にしながら、あなたの経験をできるだけ詳しく書き出してみてください。
* その経験を通して、何を学びましたか?(ソフトスキル、テクニカルスキル)
* どのような人たちと一緒に働きましたか?(チーム、外部顧客、請負業者など)
* 様々な人たち共に活動した中で直面した課題は何でしょうか? そして、それをどのように乗り越えましたか?
* どのような技術やツールを使いましたか?
* どのように課題を解決し、成果を上げましたか?
* その経験を通して得られた最も大きな成果はどのようなものでしたか?
* そのプロジェクトは成功しましたか? 成功したかどうかをどうやって把握しましたか?
* そのプロジェクトの中であなたは何を成し遂げましたか? そのプロジェクトの成功をどのように計測しますか?
* その経験を最初からやり直せるとしたら、あなたはどこを改善・変化させますか?

これはどこの会社を受けても役立つ知識だつと思います。

内定獲得までの経緯

就活のスケジュール

11月中旬から自己分析を始め、12月にエントリーシートを出し、1月に初めての面接を受けました。 とりあえずどこか受けてみるかと考え、LabBaseでスカウトが来た会社に申しみ、エントリーシートやコーディングテストをパスし、面接に臨みました。 初めてだったこともあり、非常に緊張し、要領の得ない回答をしたり、思いついたことを喋り、また研究内容をしっかり答えられず、面接している最中に「これは落ちたな」と実感しました。 実際落ちていました。 そこから1ヶ月は研究が忙しかったため、就活を一切しませんでした。 しかし、その間、ひたすら、なぜ前回の面接に落ちてしまったのか、どのような話し方をすれば良いのか、どのような振る舞いをすれば問題ないのか、家と大学を往復する間は考えていた。 またその頃すでに就活を終えた先輩がいたので、話を聞いたりし、参考にしました。

話を聞き、考え、文章に起こすことはしていたが、面接官と歯車が合えば問題なく話せる自信があったので、面接練習に関しては一切やりませんでした。

結局6社受けて、内定2社、辞退1社、選考落ち3社の結果になった。 内定を1つ目取れた時は、これで就職浪人生しなくて済むという安心感を持てました。 また第一志望は、企業に求めることををほとんど満たす会社から内定をもらえたので、非常に満足し、今までやってきたことが全て報われたという達成感に浸りました。

一方で、第一志望の会社からの内定連絡を受け取った後、すでに内定を出してもらっていた会社と選考中の会社それぞれに辞退メールを出す必要がありました。 これが非常に辛かった。 文面自体は、ChatGPTに書いてもらい、すぐに完成したが、送信ボタンを押すのが辛かった。 少なくとも数年、長ければ生涯働く可能性のある会社を今、この瞬間決めるという重い決断(自分はそう思ってる)をしていいのかという葛藤は10分ほどありました。 おそらくこれに関しては、どの会社に受かったところで抱く感情だと思います。 メールの送信ボタン1つに自分の人生の重みを実感しました。

やっておいてよかったこと

自己紹介、研究紹介、趣味開発を紹介するスライドをそれぞれ作っておくと良いと思います。 自分の場合、それぞれ1枚、2枚、2枚スライドを作成し、10分弱で説明できるようにしておきました。 もし時間に余裕があるなら、自分が興味ある分野や細々とした成果物を載せられるだけ載せておいた方が良いと思います。 自分はNeRFのスライドを載せたら、実際に1回だけ使う機会があり、備えあれば憂いなしとはこのことなんだなと実感しました。 特に面接官から振られた話題に対して、「その話題に関連したスライドがあるので、それを使いながら説明していいですか?」と言える時点で、面接官は「お、こいつできる学生じゃん」と思わせられます(多分)。

趣味開発も兼ねてHugoを用いてポートフォリオサイトも作成しました。 Markdownで文章を書くことができるので、非常に便利です。 ポートフォリオサイトを作っておくと、おそらく技術力は最低限あると思われるので、エントリーシートが通りやすくなると思います(そんな気がする)。

またChatGPTによる志望動機の添削は、良い文章を書くためには必須だと思います(多分みんなやってると思うし、禁止されてないし)。

またLabBaseにはお世話になりました。

他にやったこととして、複数の企業の説明を同時に聞ける合同説明会にも行ったことである。 視野を広げると言う意味では必要だった時間だと思う。 しかしどの企業も正直しっくりこなかったし、自分で企業を探した方が良かったと思いました。 ただし、こう言えるのも、一度は合同説明会に行ったからであり、後戻りのしにくい決断をするためには、ひたすら情報収集に徹するべきだと思います。

参考になった記事と本

上から順に自分が参考になったコンテンツを並べていこうと思います。

先ほど紹介したAWSのブログ、エピソードの語り方に関してはこの記事が参考になります。

aws.amazon.com


就活ですぐ役立つか分からないけれど、自分の人生にどのように向き合うべきか考えさせられた本です。


面接中どのように振る舞えばいいか参考になりました。 直接面識があるわけではないが、自分の高校のOBらしいので、いつか会ってみたいです。


情報系の学生が就活をするにあたってどのような心構えで望めばいいのかは、これらの記事を参考にしました。

note.com

note.com

note.com


キャリア論 speakerdeck.com

noteかhatenablogで気になる会社名で検索すると面白い情報が見つかるかもしれないです。

終わりに

選考の過程でフィードバックをくれる会社は非常に良い会社だと認識しました。 面接やインターンのフィードバックをもらうことで、自分でも気づいていなかった、言語化できていなかった自身の強みや弱みを知ることができてい非常に良かったです。 実際、面接官からフィードバックでもらった自身の強みとして、キャッチアップ能力が高いこと、相手の立場に立って考えられることを挙げてもらいました。 このようなこともあり、就活を経て自己肯定感爆上がりしました。 また就活を通して、自分が何をしたいのか、何のために生きるのかを再確認できました。

情報系の企業特有かもしれませんが、就活は全てオンラインで完結して、物理面接は結局1回もやりませんでした(内定通知書を取りに会社に行ったけど)。 また1回もスーツ着ませんでした。

研究を頑張ってきた自負がありましたが、研究内容を深く聞かれたところは、ことごとく落ちているので、若干落ち込みました。

この就活で得られた教訓としては、就活は企業とのマッチング、一期一会の出会い、落とされても、この会社とは馬が合わなかったんだなと思い切る心構えが必要だと思いました。 そもそも就活中の学生の心構えとしては、「この俺を落としただと?この企業は見る目ないな」というスタンスで臨むのがちょうどいいと思います。 自分はこの心持ちで選考に望んでいました。

最後になりますが、いつかこ就活している人がこの記事を読み、就活の参考にしてくれたら幸いです。

会津大学大学院 修士1年を終えて

会津大学の桜

はじめに

お久しぶりです。会津大学大学院 修士2年の新冨です。 この文章は、この1年間自分が何をしてきて、何を学んだか、修士1年を終えた時点での立場からどのように感じたかを書いたポエムです。 あくまで私自身の主観に基づく文章なので、読み流してもらって構いません。 またこの文章は自分で草稿を書き、ChatGPTに清書してもらい、それをまた自分で清書しています。

プロジェクトマネジメント

研究室にある積読

会津大学修士課程は、コンピュータ・情報システム学専攻(CIS)と情報技術・プロジェクトマネジメント専攻(PM)の2つのコースに分かれています。2つのコースの主な違いは、修士論文の要件です(詳細は履修案内を参照してください)。CIS専攻では修士論文が修了要件ですが、PM専攻では2年間で4回の半年ごとのプロジェクト成果発表が修士論文に相当するとされています。 私は入学当初CIS専攻でしたが、入学して2日目に指導教官から「専攻を変えないか?」と提案され、結果的にPM専攻になりました。大学側はPM専攻の学生数を増やしたい意向があったようです(要出典)。私がPM専攻に入る前は、2022年度入学のPM専攻生は、PM専攻長の研究室(Y研)の学生だけでした。そのため、2022年度のPM専攻生は、Y研と私の研究室の学生のみです。

CIS 専攻の研究進捗セミナーや修士論文の発表方法は、卒業論文発表と大差ありません。しかし、PM専攻の評価指標は独自のものです(テクニカルレポートの審査)。半年ごとのプロジェクト成果発表は、規則上は学生課にレポートを提出するだけでよいとされていますが、実際にはスライド発表を行います(研究室によるかもしれません)。また、レポートの形式は決まっておらず、プロジェクト成果発表の評価基準から必要な項目を推測する必要があります。通常の論文形式では不十分で、プロジェクトのマネジメント方法や個々の貢献度など、追加で記載する必要があります。これらの追加項目は、自分たちで方法や書き方を見つける必要があります(PM専攻長に過去のレポートを見せて欲しいと要望したけど無視されちゃった...忙しいのかな...)。

私は卒業論文で3次元再構成を研究していましたが、修士のプロジェクトでは自動運転をテーマに選びました。プロジェクトのテーマは卒業論文とほとんど関連がなく、複数の分野(車両力学、ロボティクス、教師あり学習強化学習、シミュレータ、sim-to-real、自動運転)を扱う必要がありました。それぞれの分野について調査しながら、プロジェクトの成果を出し、プロジェクトマネジメントを行うことが求められました。最初の半年間は、文句を言いながらもやる気を見せていました。正直、CIS専攻にしておけばよかったと思ったこともありました。しかし、修士1年を終えてみると、何が必要か、何が分かりやすいか、評価してもらうためにどのような情報を書けばいいかなど、自分で考える力が身についたと感じています。半年ごとの成果発表により、振り返りを行い、良かった点と悪かった点を考慮し、次の半年間に活かせるため、発表やレポート、プロジェクトの進め方の質が向上している実感があります。指導教官も同様の感想を持っていました。また、PM専攻では半年に1回成果発表を行うため(8月と2月)、2回分の成果を持って就職活動に臨むことができます。そのため、就職活動で研究内容について尋ねられた際には、自信を持ってこれまでの研究成果を話すことができる利点があります。

総括すると、PM専攻は、全ての責任を自分で取りたい、取る覚悟がある人に向いているかもしれません。2023年度はPM専攻の学生が増えたとのことで、うれしいです!(一緒に茨の道を歩もう)

ボランティア活動

活動拠点の近くのタイ料理屋のトムヤムクン

子供IT未来塾では、小学5年生から中学3年生を対象に、Raspberry Piを使用してプログラミング、センサー制御、音声認識・合成、Webスクレイピングなどの技術を教えるボランティア活動を行っています。 自分はそこでTAとして子供達にプログラミングを教えていました。集中力に欠ける子供たちにプログラミングを教えることは大変でしたが、彼らが興味を持って集中できる方法を毎月試行錯誤することは楽しかったです。特に、自分が主に指導していた生徒が最終的に良い作品を作成し、発表することができたときは感動しました。子供IT未来塾は6月から10月まで、月1回の土日に開催されます。私たちは金曜日に東京の青梅に向かい、土日に指導を行い、日曜日の夜に会津に戻るスケジュールでした。月曜日の朝9時からTAを務めることは大変でしたが、それでも充実した経験でした。

未来塾では、参加する講師やTAが作成した教科書や教材を使用しており、毎年内容が改訂されます。2022年まではLibreOfficeで教科書を作成し、プライベートGitLabで管理していましたが、今年からはLaTeXで作成し、GitHubで管理するようになりました。このため、Gitコマンド、GitHubLaTeXの使用が必須になりました。 長期的に未来塾を続けるためには、教科書を改訂できる人材を増やす必要があります。未来塾には会津大学だけでなく、他大学の学生や教授、社会人TA、高校生TAも参加しています。そこで、私たちの研究室が主催して教科書作成講座を開催し、非情報系の方々にも教科書の更新を手伝ってもらうことになりました。 講座の資料や演習の作成、開催時期の調整、Raspberry Piの配布手配など、多くのタスクをこなす必要がありましたが、全3回、1講座あたり4時間という長めの講座を無事に終えることができました。 一連の講座の開催にあたり、事前に根回しを行ったり、先回りして行動することの重要性を学びました。これらの経験は、今後のボランティア活動やキャリアにおいても役立つことでしょう。

子供IT未来塾は、プログラミングやIT技術を学ぶ子供たちにとって貴重な機会を提供するだけでなく、ボランティアとして参加する大学生や教職員にとっても、教育やコミュニケーション、プロジェクト管理など、多くのスキルを身につけることができる場です。これからも、未来塾を支える人材が増え続けることで、より多くの子供たちがIT技術を学び、未来のIT業界を支える人材が育っていくことを期待しています。

研究と論文執筆

研究で使用するレーストラックを敷いた体育館

修士1年では、私は6月に国際学会の筆頭著者1本、7月に国際学会の共著1本、12月に研究会の筆頭著者1本の論文執筆の機会に恵まれました。私の研究室では、締め切り駆動執筆(deadline-driven writing)が一般的で、研究結果が出る前に締め切りが設定され、その期限に合わせて結果を出すスタイルです(ただし、これは私個人の感想かもしれません)。

このため、結果を出すまで、満身創痍で実験に取り組み、論文を書き上げることになりますが、正直なところ、このプロセスは好きではありません。実際に論文を執筆するたびに、自分自身の言語化能力や研究遂行能力の低さを痛感します。一方で、執筆を繰り返すことで自分の経験値が向上している実感があります。最近周囲の人から「なぜそこまで研究のモチベーションが高く、持続できるのか」と何度か聞かれることがありました。確かに、心身ともに消耗しながらも続けている理由について考えてみました。結論として、コンピュータや最先端技術が好きで触れたいという思いや、大学院生として研究することが当たり前だという心構えがあるため、継続しているのだと思います。

授業

授業で扱ったFPGA

大学院の授業は、学部と大差ないものややりがいのあるものがあるなど、玉石混合の印象です。大学院の授業の成績は、ほとんどがテストではなく、レポートやスライドの発表によって決まります。全体的には、学部より簡単にAを取得できると思います(大学院生にとっては、授業よりも研究が主要な活動だからです)。私は毎クオーター2科目(4単位)履修していました。

輪読会

本州最北端の石碑のNeRF

卒業論文に関連してサーベイを行っていた際に、NeRF(Neural Radiance Fields)という技術に出会いました。当時、卒業論文でRGB-Dカメラによる3次元再構成を研究していたので、複数のRGB画像から非常に滑らかな3次元モデルを生成する技術に大変驚きました。興味がある方は以下の論文をお読みいただくことをお勧めします(私はNeRFの専門家ではありませんが、個人的な好みで選びました)。

  • NeRF(オリジナル論文)
  • Instant-ngp(ハッシュ化によるNeRFの高速化手法)
  • Block-NeRF(都市レベルの規模に拡大したNeRF)
  • NeRF2Real(NeRFのシーンを強化学習用のシミュレータとして扱い、現実世界でロボットを動かす)
  • MERF(メモリ効率化し、リアルタイムで動作可能なNeRF)

さらに詳しく知りたい方は、Awesome-NeRF(https://github.com/awesome-NeRF/awesome-NeRF)で興味深い論文を探してください。また、NeRFを体験してみたい方は、iOSアプリのLumaAI(https://lumalabs.ai)を使ってみてください。

卒業論文に取り組んでいた時点で、私はニューラルネットワークや深層学習の知識がありませんでした。しかし、NeRFはニューラルネットワークを使用しているため、NeRFの論文を理解するには深層学習の勉強が必要だと考えました。そこで、深層学習を研究している人や数学に強い人など興味を持つ人たちを集めて、有志で輪読会を開催しました。課題図書として選んだのは深層学習 第二版です。

選定理由は、2022年の3月ごろに改訂版が出たばかりであり、深層学習という幅広い領域を網羅的に扱っているという評判を聞いたからです。輪読会では、毎週1回、とある研究室の図書ラウンジに集まり、担当者が1章ずつ説明するスタイルで進めました。このおかげで、CNNやTransformerの概要を把握することができ、修士の研究で利用しているCNNの理解や、最近の生成系AIが何をやっているかを雰囲気レベルで理解することができました。 また、輪読会のメンバーは非常に優秀で、正直、会津大でこのレベルのメンバーが集まるとは思っていませんでした。輪読会での議論の時間も楽しかったですし、輪読会が終わった後の雑談時間もとても楽しかったです。

TA

本気を出した会津の冬

私は学部の授業や修学支援室でTAを務めていました。振り返ってみると、メールマナーを守れていない学部生が多くいることに気づきました。CCを外したり、返信先を無視したり、敬意のない文面を書いたりする人にたびたび出会いました。宛先、差出人、質問内容を簡潔に明記し、質問内容を理解するために必要な背景知識や資料を添付することを心がけてほしいと思います。

部活動

友人と行った恋人坂
友人と行った長岡の花火大会
同期が出場したインカレ(香川県
いつもお世話になっている芦ノ牧温泉の足湯

私はトライアスロン部に所属しており、日々の練習が研究などのストレス発散にちょうど良いです。大学院に進むと同期が減りますが、部内で築いた人間関係は貴重だと感じています。この1年間、コロナが社会的にフェードアウトし、部活のイベントが増え、部として活動的な年だったと思います。学年関係なく親しくなった部員同士で旅行に行く機会も増え、楽しかったです。残り1年で悔いのないよう楽しんで過ごしたいと思います。

就活

就活で東京に行った時に時間があったから寄った日比谷公園

就活期間は、自分が将来何をしたいのか、何を成し遂げたいのかを見つめ直す機会となりました。期間としては、12月から3月の約4ヶ月就活をしていました。最終的に満足できる結果で終わり、自分の経験が評価され自己肯定感が上がりました。就活の詳細についてはこちらの記事でより詳しく書いています。 yutashx.hatenablog.com

終わりに

プロジェクトマネジメント、ボランティア、研究・論文執筆、授業、輪読会、TA、部活、そして就活を経験し、あっという間に修士1年が終わりました。Google Mapsのロケーション履歴で行動を分析してみたところ、2022年には大学に2204時間滞在したことが判明しました。1年が8600時間であることから、土日祝日を含めて1日平均6時間大学にたことになります。6月と11月にあった40連勤(もっとやってたかも)では精神的に消耗し、大学院生の大変さを身をもって体感できました。1年間で得られた教訓として、大学院生活を送るためには体力、精神力、そして根性が非常に重要であることを学びました。また、私は目を瞑れば1分ほどで寝付ける体質であり、それが恵まれていることに気づきました。正直、このペースをもう1年続ける自信はありませんが、残り1年を精一杯頑張っていきたいと思います。

3+2(飛び級)のすすめ

f:id:yutashx:20220322083804j:plain
会津大学正門

3+2(飛び級)のすすめ

この記事の目的と対象

「すすめ」とは言っているものの、飛び級を経て当時の自分が感じたこと、考えたことをここに書く(実質ポエム)。 これから3+2をやる人の役に立てば良いとも思っている。

3+2とは

会津大学内での飛び級のこと。 学部を3年で卒業(もしくは退学)し、大学院の修士課程を2年で終えるという意味である。 他には4+1があり、これは学部を4年で卒業し、大学院の修士課程を1年で終わらせる。 自分は3+2の卒業する方法を選んだ。 大学内では飛び級することをオナーズプログラムと称することがある。

3+2の過程

以下自分の年のことを書く。年によっては飛び級の条件が変わるかもしれないので要注意。 学部2年に進級するときにGPAが3.5以上あると3+2候補生になる。 そして3年生の前期終了時に単位数が105以上、GPAが3.75以上あると3+2の卒業コースに申し込むことができる。 3年生の後期に卒業研究の単位を履修し、会津大学の大学院の入試を合格し、卒業論文と通常の単位合わせて128単位取得することで卒業できる。 詳しくはシラバスを参照すること。 自分は3+2で卒業する方を選び、無事修了することができた。

動機

大学に入って以来、自分の物事の決め方の方針は選択肢を最大化できることである。

大学の成績を取ること、単位を早い段階で取ること、3+2をすることは後々自分が選べる選択肢が増えることに繋がると考えている。 成績が高ければ留学や研究室配属など大学内での決め事の際に有利に働き、単位を早く取り終えられればまとまった時間を3、4年生のときにとれ、3+2をやれば早い段階から研究に触れることができ、また3+2を途中で辞めたとしても研究経験を持ち4年生になれるという利点がある。

この3+2の制度は自分の生きる方針である選択肢の最大化に合致していたので3+2をやることにした。 私は人生をかけやりたいこと、自分にはこれしかないと思えることをまだ持っていない。私はそのようなことがある人が羨ましく、そのような人は迷わず突き進めば良いと思う。 しかしそうでない人は常に自分の進路、生き方に対して疑問を持ち、別の道が見つかればそちらへ流れる。 確かにそれは一つの生き方ではあるが、何者にもなれない。 私もその1人で、今も自分が生き方が正しいかどうか自信が持てない。 私は自信の深層心理のどこかに「何者かにならなければならない」という強迫観念に駆られているから、そのようなことを常々考えているのだと思う。 私の生き方の方針である選択肢の最大化という生き方は一見耳触りが良いが具体的に何をするのか定まっていない。 それよりマシな生き方が思いつかなかったので大学に入って以来そのスタンスを貫いている。

大学に入って以来その方針で生きてるとは言うものの、これを言語化できるようになったのは3年生の11月ごろで、それまでは無意識にそのような行動をしていた。

フレームワークやツールの使い方を覚えたとしても数年単位で新しい技術が出てくるため、大学生活の時間をそれに注力するのはあまり良い選択肢だと思わなかった。 ハッカソンとか外部のイベントに沢山出るのも良いかもしれないが、そのようなイベントに出るためには即興で何かを作れる技術が必要で、そのためにはフレームワークやツールをたくさん覚える必要がある。自分は大学生活の時間をそのような流行り物の技術を学ぶだけではもったいないと考えた(確かに流行り物を試すのは楽しんだけどね)。 コンピュータを使った仕事をしたいなら、たとえ低レイヤーを扱わない仕事内容だとしても低レイヤーを理解できた方が良いのは間違いないという持論がある。 そこで研究室は低レイヤーもできる所を選んだ(高レイヤーもできるよ)。

修士号カッコいい、博士号カッコいいとは常々思ってる。博士号は世界中どこでも使える資格だし、海の外の企業には博士号持ちのエンジニアが沢山いる。しかし修士号まではストレートで行きたいと考えているが、自分のお金で博士号に行く気になれない。会社からのお金で社会人博士とか良いかもしれない。

他大学への院進も考えたがやめた。 他の大学へ進学するためには進学先の研究室を予め決め、研究室の人と面談をし、進学先の入学試験を受ける必要がある。かなりの労力がかかる上に志望動機が定まっていないと確実に指摘され、落とされるのは目に見えている。当時は自分がなにをしたいのか定まっていないためやめた。

飛び級をすると確か選考を経た上で大学側から最大2年間毎月4万円の給付金がもらえる(まだ貰っていないので確か、としか言えない)。これをもらえればバイトの分のお金が毎月入ってくるので、バイトの時間を自分の好きなことに使える利点がある。また1年間大学に在籍する年数が少なくなるので、1年間分の学費と生活費を払わなくて済む。自分の計算だと1年間で大体200万円節約することにつながる。

色々書いたが結局のところ、研究に触れてみることで何か見えるもの、やりたいことがはっきりするのではないか、という期待も込めて3+2をやることを選択した。

スケジュール感

2年生の3月から本格的に研究室に通い始め、5月ぐらいから論文を読み始めた。第一学期は単位を取ることに集中した。夏休みぐらいにはテーマの方向性が決まっていたが、12月まで具体的にどのようなテーマをやるか定まっていなかった。同じく飛び級をする同期と11月くらいに話したとき「酷いデータだけど一応卒論書けるわ」と言われたときにはかなり焦った。卒論のテーマが決まっていない中、大学院入試用の研究計画書も書かなければならず、焦燥感には駆られたが何も出てこず段々と鬱気味になった。このとき卒業アルバムの写真撮影もあったが、自分は卒業アルバムに載る資格などないと思い撮影会場に行くことができなかった。自分は精神力が強いという自負が当時まであったが、そんなことはなかった。日に日に起きる時間が遅くなり、起きたとしても研究もどきなことしかせず日々を過ごしていた。日々の部活ぐらいしか息抜きをできるタイミングがなかった。妥当性のある研究計画書を締切3日前に何とか仕上げてそれを大学院入試用に提出した。卒論のテーマはその研究計画書の第一段をすることにした。ここでようやく卒論のテーマが決まった。時期にして12月下旬である。かなり焦りながら2月まで過ごし、一通りの結果が出ていない実験データを集め卒論発表の一週間前に指導教官に卒論もどきを提出した。すると指導教官から「これじゃ卒業できないよ。重箱の隅をつつくものでもいいから改善した結果を出して。」と言われた(うろ覚え)。それが火曜日のミーティングで、卒論発表が翌週の月曜日だったのでかなり焦った。そのためそこから3日で実験結果の評価をしやすくするツールをつくり、実験を何回も回し、何とか改善を示すデータを得られた。そこから1日で数値データをまとめ、考察し、次の日には卒論の構成を考えた。卒論発表当日の朝2時に発表スライドを指導教官に提出し、10時くらいに発表原稿を書き終えた。2時間ほど発表練習をし、15時過ぎから発表をした。かなりの強行軍で卒論発表を終えた。当日の朝2時に発表スライドを提出し、2時半にコメントを返してくれた指導教官には頭が上がらない。

大学院入試

3+2をやる場合他大学の大学院に進学することはできない。会津大学の大学院一択である。会津大学の大学院入試は夏と冬、時期にして6月と1月に入試があるが、3+2をする人は冬入試しか受けられない。11月頃に出願し、1月の下旬頃に入試を受け、2月の初めに結果が出る。入試内容として英語で研究計画をプレゼンで発表し、その後面英語で質疑応答をする。通常の入試であれば、その面接が10分で終わるらしいが、3+2の場合はなんと30分やる。

自分の場合はもちろん7分ほどのプレゼンと23分の質疑応答の計30分となった。何より辛かったのが試験の教室に入った後何一つ指示されなかったことだ。入試会場の待合室では「入室したら受験票を見せるように」と書いてあったので「受験票を見せますか?」や「プレゼンを始めていいですか?」を自分で聞かなければいけなかった。なんか一言くらい言ってくれればいいのに。普段であればなんてことないことだが、入試の本番ということで緊張した中でのこれはかなり焦った。プレゼンはあらかじめ用意していたのを喋るだけで、問題は質疑応答たった。20分ほどの間面接形式で英語を喋るのは初めてで焦った。研究を英語で進めていたこともあり、聞き取った内容に対する答えに使える単語は出てきた。しかし文法がめちゃくちゃで自分でも何言ってるか分からなかった。面接官の反応を見る限りおそらく伝わったぽいけど。 会津大学の大学院はかなり簡単と言われており、出願さえできれば受かるとまで言われている。合格率を見る限りそれは間違いないようだが、実際30分のプレゼンと質疑応答はしっかりと準備しないと悲惨な目に遭うと思う。多分。あと自分の場合はPCとプロジェクターの相性が悪く、映らなかった。そのため事前に配布したスライド資料を使って説明することで難を逃れた。

ラボ

自分机とPCとディスプレイ2枚とIPアドレスをもらった。またラボで使えるGPUサーバーもあるので、そこそこ良い環境がもらえたと思う。 研究室の先輩達は皆優秀で、尊敬している。分からないことを質問すると的確なアドバイスが返ってくるし、LinuxCLI関連の質問をすると喜んで答えてくれる。環境としてはかなり恵まれていると思う。今までそのような話で盛り上がれる人が少なかったので、自分はこのラボに入って良かったと考えている。まあラボのタイムマネジメントに関しては難ありだが。

3+2を終えて考えたこと

飛び級は一見凄そうに見えるが、いざ体験してみると失った1年間の大きさを実感する。 単位は3年生の前期で取り終えたので3年生の後期から4年生の前期までは好きなことにつかえたはず。 1年間の生活費は授業料込みで大体200万円なので、その1年間を200万円で売ったという捉え方もできる。 自由に使える1年があれば単位を気にせず好きな授業を取れたり、自分の好きなことを勉強したり、遊びに行ったり、インターンをしたり、一回くらい就活を経験することもできたはず。 どこに価値を置くかは人次第だが、このような後悔は常々していた。

しかしやはり研究をし、卒論を仕上げるという行為をしたことで、様々なスキルが向上したように感じる。計画する力、文章を書く力、微妙な語感の違いを捉える力、英語力、最先端を追うためにサーベイする力、論文を読む力、プレゼンする能力など他にも色々あると思うが、このような力が身についたと思う。指導教官がよく言っているが「卒論を書くことで猿から人間になる」と。言わんとすることは同意する。やはり卒論を一通り書いたことで他人に物事を伝えたいときに何が必要かを理解できるようになった。論文のフォーマットは人に目的を持って何かを伝えるときに汎用的に使えると思う。

教訓

Todoリストを付けておくと作業を中断したときに元に戻ってきやすくなる。雑でもいいからとにかくスケジュールを立てて、何をするべきか、しないべきかを明確にすることは重要。

終わりに

自分は遠い昔の記憶は大抵あてにならないと考えている。だからこそ当時感じた、考えたことを文章に残すことが大切だと思う。文章に残したことが、将来見返した時に自分がやったこととして認識することができる。この文章で表現できなかったこと、書きこぼしたことは自分の中で風化し、消えていくだろう。 飛び級をすることは人生で初めて完全に自分の意志で進路を決めたのではないかとぼんやりと考えている。自分の人生の主導権を握っている実感が湧いてきた。 他の飛び級を経験した人がどのように考え、選択したのか聞いてみたい。