この記事は 夏のブログリレー 33日目の記事です。
この記事では東京科学大学の一部の講義内容を取り扱っていますが、すべて学生有志により執筆されており、大学が公認するものではないことをご留意いただきたいほか、本稿についての問い合わせを大学に対して行うことはお控え願います。
また、基本的には 2026 年度のシラバス・講義内容に基づいています。将来的には講義内容等が変更されうることに注意してください。受講を検討している方は当該年度のシラバスを熟読されるとよいでしょう。
「プログラミング創造演習」のすゝめ
東京科学大学 情報理工学院 情報工学系 では毎年「プログラミング創造演習」という講義が開かれていることをご存知でしょうか。
詳細についてはシラバス等の資料をご一読いただきたいのですが、概要だけを簡単に紹介すると、学生が各々プログラミングに関連する何かしらのテーマを設定し、それに取り組むというものです。
毎年、本当に多種多様なテーマがあるようで、本年も一口にプログラミングといえど、コンパイラの基礎にはじまり、証明支援ツール、アルゴリズムの応用、ヒューリスティック最適化、Web 開発、などなど....本当に様々な分野・レイヤーにまつわるテーマ・発表がありました。
1Q, 2Q の 2 四半期にわたる授業ですが、講義自体は初回のオリエンテーションと中間発表、そして最終発表くらいで、それらを除けば学生自身が主体となって取り組んでいくことが求められます (が、テーマを設定の自由度が非常に高く、基本的には自分の好きなテーマを設定できるため非常に楽しいです。)
講義そのものは週に 6 時間ですが、上述の講義以外は出席が求められないどころかそもそも授業自体がないので、好きな時間に好きなだけ取り組むことができます。(もちろんアルバイトやサークル活動等をすることもできます。)
講義室自体は受講者に対して解放されているため、他人に邪魔されない作業スペースとしてもそれなりに優秀といえるでしょう。
......などなど、プログラミングやコンピュータサイエンスが好きな学生にとっては本当に夢のような講義ですので、情報工学系に進学される皆様はぜひ履修していただければと思う次第です。
注意点
プログラミング創造演習は「手続き型プログラミング基礎」(1Q) / 「手続き型プログラミング発展」(2Q) という講義に干渉する形で開講されています。(シラバスでも述べられていますが) これらの講義は、C/C++ 言語の基礎を学ぶための非常に重要な講義ですから、本当にプログラミングが初めてで、C/C++ の基礎も怪しいといった方は、創造演習ではなく、こちらを受講されるのがよいかもしれません。(現代には様々なプログラミング言語が存在しますが、しかしやはり、大学という機関でコンピューターサイエンスを学ぶにあたっては、C/C++ の基礎知識は必須であるといって差し支えないでしょう。)
FAQ
Q. 絶対 が貰えるって本当?
A. オリエンテーションによれば、「そのような事実はない」らしいです。
テーマ例
今年の受講者は 23 名でしたが、そのうちの数名のテーマについてご紹介します。(みんなありがとう!)
受講を検討している方は、ぜひ温度感の参考になさってください。
@uni_kakurenbo
pure-Go を用いて、.wav や .falc 等の一部の音声フォーマット/コーデックのデコーダやエンコーダおよび音声処理を行うフィルタなどを実装しました。

関連ブログ:「pure-Go で FFmpeg の subset を実装したい!」
@n3
シークエント計算の証明をチェックできる C++-like な言語を作成しました。

論理学や形式証明に興味があったのでこのテーマを選びました。Pythonで証明の探索を実装し、得られた証明を C++ で実装したカーネルが検証する、という機構まで実装しました。
カリーハワード同型対応、自動証明、コンパイラやLSPの仕組み、などが理解できていい勉強になりました。
GitHubのリンク: https://github.com/n-and-n3/ProofAssistant
(適当に作ってるので汚いですが...)
@Haru_18
Roslyn (正式名称: .NET Compiler Platform) という C# のコンパイラ基盤を用いて、Unity によるゲーム開発を手助けするツールを作成しました。
計 4 ツール作成しましたが、一番最初につくった「クラス図ジェネレータ」が一番好きです。
今回学んだ Roslyn の知識を活かして、今後も痒いところに手が届くようなツールをつくっていこうかな、と思います!
リンク: https://github.com/haru018/UnityArchitectureTools
@Ida-ji
AHC (AtCoder Heuristic Contest) の過去問を解いたりコンテストに参加したりして、ヒューリスティック問題に対する実装力や理解力を深めました。
70 時間くらい AHC をやったらレートが 700 くらい上がりました。
関連ブログ: 「3分半で分かるかもしれないAHC020」
@fken_57
React と Go、D3.js などを組み合わせることで競技プログラミングを支援するサイトを作りました!グラフと配列とランダムテストに対応。Web 初心者ながら基本的な Go/React プログラミング、Clean Architecture を学習するのにいい機会になりました!
@genMira
React と Go でタスクを管理するためのアプリを作りました。今まで web サイトを作るときにはずっと Vue を使っていたので、React を勉強するいい機会になりました。
@rurun
ArCoder と競技プログラミングを通じて発展的なアルゴリズムの学習に取り組みました。
明日のブログリレーの投稿者は @ramdos です。お楽しみに!