まずは、十文字学園女子大学 人間生活学部 生活情報学科の教育カリキュラムを教えて下さい。
十文字学園女子大学自体が実学重視の所で、創立者の「十文字こと」先生が「身をきたへ 心きたへて 世の中に立ちてかひある人と生きなむ」と言って、それで女性の教育を始めたんですね。その中で、大学全体として実学を重視していくことを推進しています。特に、私が教えているのがプログラミングについてですが、そちらに関して言うと、コンピュータを使って何かを「やってみたい」と思っている方、ただ、PCには余り触れたことがない、いわゆるプログラミング超初心者の方向けのカリキュラムを組んでいます。最終的にはシステムエンジニアとして理系の大学と同じ所までステップアップさせていくよう教えています。
そのため最初は、ソフトウェアってなに?ハードウェアってなに?という所から始まります。簡単な概念の違いから教えて、プログラミングの授業に入っていきます。この大学ではJavaからやっているのですが、1年の前期では変数を表示してみましょうという所から始めて、IF 文とFOR文を教える所までで講義が終わります。本当に基礎の基礎まで徹底的にやる感じです。通常の教科書で1章割く所も、2,3章分にして、色々な例題を通じて学びを深くするよう心掛けています。
–Javaから始めるという点は、何か狙いがあるのですか?
強いて言えば、構造的な理解を促しやすいためでしょうか。3年前まではCをやっていたのですが、新しい開発がJavaに移っている所もありまして、メインをJavaに変えました。どちらにせよ、C やJavaと言ったプログラミング言語を学び、プラスでスクリプト言語を徐々にやっていくような形ですね。
学生は、Javaをまずは学んでいき、最終的にどの程度までできるようになっていきますか?
いくつかありますが、3年生の授業で、産学連携で会社の人を招いて学生がアイデアを出し、物を作って製品化していく、という授業がありましてその中で、この「MakEMaKe」というアプリが生まれました。例えばどんな眼鏡を入れたら自分が似合うかなとか、どんな風なお化粧したら自分が見栄えがよくなるのかなとかそういうのを実際にシミュレートするっていうアプリを作って、会社と一緒に作っていくというのはありますね。あくまで一例ですが、こういったアプリを作れるようになる学生もいます。
図:MakEMaKeのキャプチャー画面。メイクの他、自分にあったアイテムの試着が体験できる
図:新聞取材も受け注目されるアプリとなった。
また、卒業研究とかだと簡単なゲーム作成をすることもあります。大学のHPに載っているものが最近の事例になりますね。
アプリやゲームを作ることだけが目的ではないので、システムでも何でもいいけど作り上げるというのが一番重要かなと思っています。座学や演習で学んでも、なぜそれが必要かわからないこともあると思うんです。ですが、実際に物を一個作ってみると画像一個出すにもメモリーどれくらいいるかな、というのとRGBで値がどれくらいいるのかな、というのを計算してやってみるようになります。その時にハードウェアの時にやったVRAMが必要なんだとか、ソフトウェアの時にやったコードが必要なんだっていう一個一個が結構繋がるんですね。なので、一個一個の授業で縦糸を伸ばすのに対して、卒業研究で横糸を入れていくような形で学習していき、各々が制作物を作っていくようになります。
その他ゲームを作る以外にも、学生の場合教科書を使い終わった後に自分の後輩の学生に教科書を譲りたいというときがあります。その時にどういう学生がどんな教科書欲しがっていて、誰がどんなのを持っているのかというのをマッチングする為にシステムを作るとか、それがきっかけでサーバー上にシステムを作ってみる、といった事もほかのゼミでは行っています。
エンジニアインターンを見る学生へ向けて一言お願いします。
自分が作る制作物の先に、お客さんがいる事を特に意識して勉強をしていって欲しいです。多分こちらのサイトを見ている方は、プログラミングをやったりエンジニアを目指したりしている方だと思うので、学生によっては何かを作り上げることが大好きでやっている方もいると思います。エンジニアの仕事は、コンピュータに向かい合ってやる仕事が多いですが、その先にいるお客さんに喜んでもらえるという、実は自分が作った物でお客さんが喜んでくれる場面を見られる事が多い仕事だと思うんです。エンジニアをやっていて結構楽しい、実際仕事をしてみると楽しい所の一つではあると思うんですよね。なので、社会貢献と言うとあまりに高尚な感じになってしまいますが、その為に今やっている勉強をもう少し進めてもらいたいです。そこからフィードバックを得られればさらに楽しくプログラミングができるようになって、より良いサービスが生まれてくるようになると思います。