東京工芸大学 工学部 コンピュータ応用学科 教授 宇田川佳久さん インタビュー

今回は、東京工芸大学 工学部 コンピュータ応用学科 教授 宇田川佳久さんにインタビューを実施しました。工学部の視点からのプログラミングについての考え方、プログラミングの構造理解について学びたい方は必見の内容です。特に、文末のWordの数式挿入機能を使ったプログラミングの考え方は非常に参考になる考え方ですよ。

工学部コンピュータ応用学科の教育カリキュラムについてお教え下さい。

コンピュータ応用学科では、実践第一主義を掲げ、どのようなIT企業に入っても困らないようカリキュラムを組んでいます。入学した学生が何も知らない前提で教えるので、コンピュータはどのような仕組みになっているのかから教育して、プログラミングの教育へとつなげています。コンピュータ応用学科では、学年ごとに教えるプログラミング言語を変えていて、1年生はVB(Visual Basic)、2年生はC、3年生はJavaの順番で教えています。

3つプログラミング言語を教えているのは、どのような企業に就職したとしても活躍してもらうためです。1つのプログラミング言語を習熟しているだけでは、システムエンジニアとして将来通用しない可能性が高い。Cだけできても企業に、「うちはVBだよ」と言われて困ってしまうようではだめですからね。もちろん1つの言語ができれば他の言語を学ぶ際にスムーズに学べますが、3つくらいできていればある程度の応用が効きます。

その中で、IT企業で特に必要とされやすいVB、C、Javaを選定しています。もちろん、UNIXのシェルなどのスクリプト系言語も必要になる場合はありますが、それはまた先々で習えばいいと考えています。その他、補足的にJavaScriptも教えています。

4年間だけでバリバリコーディングができるところまではなかなか行きませんが、ひと通りの制御文の作り方、変数、計算ができるようにはなっていきます。

東京工芸大学工学部コンピュータ応用学科のHP『システムデザインコース(コンピュータに関する専門的知識、自在なプログラミング能力を有し、コンピュータシステム開発やネットワークの構築などにおける設計開発に必要な基本的知識が身に付けられる)』『アプリケーションコース(コンピュータのより便利な活用法、新しい利用方法を見出すなどコンピュータユーザのスペシャリストを目指す教育がされている)』に分かれ、ビジネスシーンで即戦力となる問題解決能力、プロジェクト遂行能力を得られるようなカリキュラムが組まれている。

企業からのこういう人材が欲しいとか、要望に応じてカリキュラムを変える、といったことはありますか?

そうですね。実践重視という観点から、企業の要望をカリキュラムに反映させている側面もあります。プログラミング関連の講義は強化する方向で進めています。また、それだけではなくデータベースについての講義も増やしています。システム構築、情報システム構築、構築技術全体をプランニングできる人材を育てようということで現在動いていて、現場で活躍する人間を講師として呼んでいます。ネットワーク系の企業からの求人も多いので、ネットワーク系の講義ですとかOSでいうとUNIXを必修化しようとか、ますますIT系の就職を意識したカリキュラムに変更しようとしています。システムエンジニアを志す学生には非常に良い環境が整ってきていると言えます。

コンピュータ応用学科にはどのような学生がいらっしゃいますか?

コンピュータというものに可能性を見出して、その道を進んでいきたいという学生が比較的多いと思います。ゲームからコンピュータに興味を持った学生もたくさんいますが、その多くはコンピュータが乗物の運行やネットショッピングなど様々な社会活動に役立っていることに気づき、コンピュータ応用学科に入学するようです。業務アプリケーションや組み込みの機器の制御などに興味を持っている学生も多く、企業で活躍をするための勉強をしています。もちろん、ゲームに興味を持ち続け、ゲーム関係の会社に就職する学生もいます。

最後に、プログラミングを学習する学生へのアドバイスをお伝え下さい。

まずプログラミングを少し学んだ段階でとてもダメだという人がいらっしゃいますが、自分でコードを書いて、動かさなければ上達しません。プログラミングも言語ですから、たくさん“例文”をインプットしないと、アウトプットできるようになりません。まずはインターネットや書籍のサンプルコードを動かしてみる。さらに部分的に作り直して動かしてみるという流れで学んでいくのが良いと思います。統合開発環境(IDE)のデバッグ機能を使えば、大きなプログラムの理解も可能になります。

苦手な人も多いですが、将来活躍するためには、コードを書けるだけではなく、構造の理解や順序立てて考える力を身に付け、設計までできるようにならないといけません。

構造の理解や順序立ての仕方についてですが、これはプログラミング言語を使い考える必要はないです。例えば、皆さん馴染みがあるWordでも学ぶことはできます。

「数式挿入機能」というものを使うのですが、例えばこのような式があるとします。

これはWordの「数式挿入機能」を使って書いているのですが、挿入>数式>分数とクリックしていくと、このような画面がでてきて、分数を挿入できるようになります。

続いて、該当する箇所をクリックして、挿入>数式>上付き/下付き文字とクリックしていくと、下記のような数式の”構造”ができます。

ここで何が言いたいかというと、一つの大きな数式をただ漫然と眺めるのではなく、どのような構造(例えばここでは”分数”の式になっていて、分母は”xy”、分子は”x^2”、”+”、”y^2”という構造になっている)になっているのかを考えながら数式を組み立ててほしいのです。

実はプログラミングもこれと同じ考え方で、大きいところから小さいところを見ていく、一つ一つ分解して構造を分けて考える、その上で式(コード)を組んでいくという流れに則って作業を行います。

高校の頃に習った公式を基に、試しに数式を作ってみると、意外と簡単にできると思います。これをコードに当てはめるならどうなるのだろう?という事を想像しながらやってみると、理解が早まると思いますよ。

おすすめの記事