« 合理的な意思決定 | トップページ | NICOGRAPH2025にて学会発表予定 »

今更コンソールプログラミング?

2025年11月24日 (月) 投稿者: メディア技術コース

メディア学部の渡辺です。こんにちは。

現在、メディア学部ではカリキュラム改訂が進んでおり、今年度は2年次生科目が一斉に入れ替わっています。特に大きく変化したのが「メディア専門演習」で、これまではセメスター制、つまり14週間かけて一つの科目としていたのですが、新カリキュラムではクォーター制、つまり7週間で科目が完結します。そのため、我々教員は従来の内容を大幅に変更しなければならなくなりました。

旧カリキュラムでの私のテーマは「リアルタイム3DCGプログラミング」というテーマで、C#言語を使って3Dのプログラムを作成するというものでした。クォーター制に移行する際、単純に前半と後半に分割して2科目にできると楽なのですが、最初にC#言語の基礎を学び、その後に3Dの理論的な話を学んでから自由作品を作るという行程だったため、そんな簡単にはいきません。色々悩んだあげく、前半学期は「C#コンソールプログラミング」、後半学期を「C# 3Dプログラミング」とすることにしました。

「コンソール」とは、各OSに搭載されている文字列表示やコマンド入力ができるアプリのことです。(実際はもっと別の様々な意味もあるのですが、今回は上記の定義で説明していきます。)Windows11 の場合は、「コマンドプロンプト」や「PowerShell」といったコンソールアプリが標準で搭載されています。このコンソールに文字列を出力したり、キーボードから文字列を入力して処理を行うようなプログラムの作成がこのテーマの目的ということになります。これだけ見ると非常に地味に感じると思いますし、実際 3D や GUI 表示とかに比べれば地味なんですが、プログラミングを学ぶ環境としてはとてもシンプルで扱いやすいんですね。また、どんな OS、どんなプログラミング言語でもコンソール入出力機能は必ず存在するので、新たなプログラミング言語を学ぶ際には非常に良いとっかかりになります。

とはいえ、これだけだと本当に地味で学生にとってもつまらないものになりかねないので、後半ではコンソール上で文字によるアニメーションを表示したり、ゲームなどを作成できるような機能を教えました。ただ、これを実現するためにはマルチスレッドプログラミングにも手を出す必要があり、終わってみたらかなり高度な内容まで扱うテーマとなってしまいました。コンソールでアニメーション表現なんて、かなり年配のプログラマーじゃないとやってないと思いますが、今時の学生達にはどのような印象を持たれたのでしょうか...

(メディア学部教授 渡辺大地)

授業紹介」カテゴリの記事

« 合理的な意思決定 | トップページ | NICOGRAPH2025にて学会発表予定 »