2009年度の担当科目の紹介です

担当科目(2009年度)の紹介


2008年度からカリキュラムが変わりました。昨年度は前期で終了していた基礎ゼミを通年で行うようになりました。学校側で各種セミナーやイベントを用意し、そのうち半分を通常の基礎ゼミで構成しています。学校側で開催するものが入ってくるため連続してゼミを行えないところが不便に感じられました。 2009年度は新カリキュラム(以下新カリ)のゼミIが始まります。新カリのゼミTは2年次の必修科目となります。これに伴い新カリでは旧カリキュラム(以下旧カリ)でゼミI、UがそれぞれゼミU、Vとなります。ところが時間割では旧カリのゼミI、Uと新カリのゼミTが混在しているため、なれるまで注意しなくてはいけません。

旧カリでのゼミI、Uでは一度ゼミに所属したら卒業まで同じゼミに所属することになります。これに対し新カリのゼミTは選んだゼミの先生の指導を通年で受けるようになります。3年次からの新カリのゼミU、Vでは新たにゼミを選択できるようになっています。

ところで2年から3年に進級する際には進級要件というものがあって、必要単位数を満たしている必要があります。これを満たさない場合には留年ということになってしまいます。留年することで友人との付き合いが減り学校に来なくなったり、学費の負担が増えることで進路を変えざるを得なくなってしまう学生もいます。そこで進級要件を満たさない学生を減らそうという目的のもとで、2年生においても新カリのゼミTを通してきめ細かな指導をしていくことを考えています。ただし、将来的に進級要件を設けるか設けないかによって、次のカリキュラムが変わってくるものと思われます。

私の場合、以前入門ゼミと言って先生が個性的な授業を行うゼミが半期でありましたが、新カリのゼミTをその通年版のように捉えています。どのようなことをするかについてはゼミT(新カリ)のところをご覧ください。しかし、先生によっては新カリのゼミT、U、Vと通しで担当することを考えている先生もいるようです。このあたりの調整がこれから必要になってくるように思われます。

また、新たに2009年度からは博士課程後期の情報ネットワーク論特殊研究というものも担当することになりました。今のところインターネット上のデベロッパと共同で自分が提案したプロジェクトを完成させ、普及、およびサポートを行うことを目標にしています。

以下、今年の担当科目について去年の反省もふまえ解説していきます。

基礎ゼミナール(新カリ、1年生)

今年は担当からはずされてしまいました。おそらくゼミナールT(新カリ)を担当する先生の負担を減らすためなのでしょう^^さて、昨年度はとにかく文章を読ませ、それについて書く練習をしました。読んで書くという基本的なスキルを身に付けて大学の授業を聞くときに役立ててもらいたいと考えています。

まず、要約から始めました。最初は短い文章から始め、徐々に長い文章に進み、ポイントとなる部分をチェックしそれをもとに要約を書いてもらいました。それから、新聞の記事を与えて、こちらで用意したテーマについて文章を書く練習を行いました。その中の一例として2008年、10月の新聞を使ってリーマン破綻の影響に対する各国の対応について調べてもらいました。当時の作業を通してわかったことは今頃ちょっとはためになっているのではと考えています。また、北京オリンピックの年でもあったので中国人と日本人(邱 永漢 著)という本からの文章をテキストに使いました。

書いてもらった文章は毎回添削して返しました。ポイントを押さえている学生は始めたころはほとんどいなかったのですが、ゼミを終わる頃には客観的にまとめることができるようになっている学生が増えたようです。やはり早い時期にこのような練習は必要なように思います。

ゼミナール1、2(旧カリ)

2009年に入って、就職活動もさらに早まってきているようです。2008年末からの企業の対応を予想しているためか、学校で設けているガイダンスを見ても学生の参加が積極的になっているのを感じました。

2008年度からゼミナールTでは後期からプロジェクトについて企画を立てて運営してもらっています。予定ではゼミナールUの前期でプロジェクトを終わらせて成果の発表を行ってもらいたいと考えていました。ところがゼミナールTの最後に中間発表をしてもらった後は、就職活動に入ってしまうので内定を早くもらい落ち着いた学生を除くと、企画してもらったプロジェクトを終了させることは難しくなっているようです。

2008年度のゼミナールTの前期には、まずホームページの作り方から初めてCSSを使えるようになるところまでの実習を行いました。今回は前期の最後に恒例のホームページコンテストがあるため、それに備えて自分が作りたいページについて個人的な指導を行いました。

これは、実習の指導だけでは自分のページの製作過程を把握できない学生がいるためです。ページで何を表現したいのか、テーマに従い文章や、画像などのデータを用意する方法についえ指導します。そしてページとして表現する内容が増えてきたらリンクを設けて、ページをいくつか用意して構成を考えるようにし、余裕があればCSSなどを使ってページのデザインを決めるように勧めています。

学生は完成度の高いページを見慣れているために、データよりもデザインの出来の方に関心が高いようです。ページは見かけより情報が第一だということについて考えて直してもらいたいと思います。

ホームページコンテストにほぼ全員参加してもらいました。今回はリンクに失敗して評価の際に見ることができない、自分のページを作りきれないという学生はいませんでした。学生もなんとか取り組んでくれたようです。

ホームページコンテストではANHTTPDというWebサーバを使って自分のページを公開してもらいます。それを私の方でリンクのページから参照できるようにして、ゼミの学生に評価を行ってもらいました。評価はPerlで書いたスクリプトで評価結果のページをすぐに出せるようにしています。評価はデザイン、技術、内容の3点について評価を行っています。

結果としては、テクニック面ではそれほどの技術は使っていないものの、ギャグや独特な文章、GIFアニメを効果的に使った学生が1位となりました。かなり点数を集めていることから、どの学生からも高い評価を受けているように思います。また、デザインに凝った学生はそれに次ぐ点数を集めていました。

ゼミナールTの後期はプロジェクトについて考えてもらいました。プロジェクトは個人あるいはグループ単位で進めてもらいます。まず、企画を考えてもらい企画書を提出してもらいます。それについて面接を行い、企画の目的、スケジュールなどを確認します。ある程度きちんと企画書が書けていたならばそれについてプロジェクトを進めてもらいます。

今回もDoCoMoカップを目標にしたゲーム作成の企画もありました。おもしろいのは企業にインタビューを行いテレビのデジタル放送に伴い広告業界についての考えを聞くというようなものもありました。また、中学校におけるセキュリティリテラシーについて考えるために、母校で先生の協力のもとでアンケート調査を行うというものもいました。そして、ゼミの飲み会についての企画というのもあって、これは、最近の学生が飲み会を好まないという雰囲気があって、それを前提に考えたもので決して不真面目なものではありません。

今回は、社会に関心をもって企画を立てている学生が多く、学校の外に出ていろいろ活動をする学生が増えました。後期の最後には中間報告をまとめてもらいました。企画によってはこの時点でプロジェクトが完了している学生もいます。また、あまり進んでいない学生もいて、進行の具合は様々で個人差あるいはグループ間での差がでてきます。4年に入ってゼミナールUの前期で考えてもらいたいと思います。

ところでDoCoMoカップでゲームのプロジェクトを選んだ場合には4年の後期までかかる長期戦となります。前年度のゼミナールTでゲームのプロジェクトを考えたグループも就職活動と並行して作品を考えていました。今回は9月に作品を提出していましたが、残念ながら一次選考を突破することができませんでした。今回の大会スケジュールが大きく変わったために、それに合わせた対策が十分でなかったのかもしれません。

このゲームのプロジェクトでは、ゲームを作ったことがある学生はいません。プログラミングの勉強、音声や画像の準備などを最初から考えてもらう必要があります。まさにプロジェクト向けのテーマなのですが、初心者だけでその問題を解決することは難しいことだと思います。大会に参加したことのある経験者やゲームを作ったことがある先輩や友人の助言というものが大切になってきます。そのため、先輩や私にプログラミングについてわからないことがあれば聞くようにと言っているのですが、なかなかそのあたりのコミュニケーションが取れませんでした。やはり、作品を作り上げる際には助け合うためにコミュニケーションを交わすということが大切なように思います。

ゼミの活動は3年、4年の2年間しかなくその2年だけでは学部の先輩が指導して教えるというのは難しいように思えます。このような場合、大学院の学生が頼りになるのですが、最近は情報系では院に進学する学生がいなくなり残念です。

4年からはゼミナールUに入ります。ゼミナールTの最後の中間報告を受けて、それをもとに新たにプロジェクトを考えたり、さらに進めてもらおうと考えています。しかし、最初に書いたように就職状況が厳しくなっている現状ではプロジェクトを進めることは学生によっては難しくなるかもしれません。これは学生の状況を見て判断するしかありません。4年の前期というのは学生が集まらないのでゼミを進めるのが大変なのです^^;

ゼミナールUの後期はしっかりと卒論の指導を行います。3回の面接を行います。まず、テーマを選ぶところから始まり、次にそのテーマをもとに序論について書いてもらいます。序論を書く段階で、卒論の構成について指導します。12月中旬をめどに本論の中ほどまで書き進めてもらいます。

ゼミの学生が悩むのは何を書いたらいいのかというところにありますが、経営の情報系の学生だからといってそれに無理にテーマを合わせる必要はありません。書きやすいテーマを選び、そのテーマからデータをもとに客観的な文章で構成された卒論を書くことができるようになってもらいたいと考えています。

ゼミナールUの評価は3回の面接を通し論文の作成過程を通して評価を行います。卒論はテーマを考えて、それをもとに文章を構成し、まとめていくことが大切であると考えています。出席は取りません。テストはありません。

話が前後しますが、ゼミナールTの評価は前期、後期の活動および面接を通して評価を行います。出席は取りません。テストはありません。

ゼミナール1(新カリ)

まず、ページを作るためのデータを収集してもらいます。それから、そのデータをもとにHTMLを使ってページとして表現します。さらに、CSSやJavaScriptを使いページを表現できるようになってもらいたいと考えています。

後期は、さらにPHPやMySQLを使ってデータベースと連携したページ作りにチャレンジしてもらいたいと思います。このようにしてショッピングカートやブログなども作れるところまでプログラミングできるようになることを期待しています。

ツールとしてLinuxのLAMPに対しWindowsでXAMPPというのがあるので、これを授業で使っていこうと考えています。ツールを使うことよりも、データを集めること、将来顧客から仕様を聞き出しそれをページ上に簡単に表現できるようになるためのテクニックを身に付けてもらいたいと考えています。

また、データの収集を兼ねてちゃっかりRubyのプログラミングについても実習をしてみようかなと考えています。個人的にはこのあたりに力を入れたいと考えています^^;

今回、初めてとなるゼミTですので、どのように展開していくのか楽しみな授業でもあります。ページ作りに興味を持ってもらえるように、楽しい授業にしていきたいと考えています。テキストはオリジナルのテキストを用意します。

ゼミナールTの評価は前期、後期の活動および面接を通して評価します。出席は取りません。テストはありません。

コンピュータ基礎(新カリ)

一年の前期にコンピュータの基本を学んでもらうことを目標に設けられた科目です。二人の先生がペアになって教えます。

前半は益満先生がWord、Excel、ブラウザやメールの使い方について教えます。後半が私の担当でCのプログラミングの基本について教えます。

開発環境の使い方、変数の扱い方、繰り返し、条件分岐までの実習を行い、配列は扱わないということになっています。オリジナルのテキストを用意しています。

授業では、なんでプログラミングをするのか、何を作るのかということに重きを置いて取り組んでいきたいなと考えています。

また、私と益満先生が担当するコンピュータ基礎は高大連携のプログラムに入っていて、高校生も参加することになっています。

昨年度も約15名ぐらいの高校生が参加してくれました。高校生でも理解できるように平易な言葉で説明するようにしました。何とかif文まで理解してくれたように思います。if文をたくさん使うような問題や、途中で条件を満たした時に繰り返しから抜けるようなプログラムを書くあたりで、理解しづらくなっていたようです。

この授業では出席を取りたいと思います。出席およびレポートなどにより評価を行いたいと考えています。最終的な評価は益満先生が行います。教科書はありません。参考書は必要に応じ紹介していきます。

オペレーティングシステム論

2008年度まではオペレーティングシステム(OS)といってもカーネルに関する部分を中心に説明してきました。今年は演習を多く取り込んだものに変える予定です。

今までは、カーネルの機能を中心に説明してきました。OSの本質的な機能について興味を持ってもらいたいと考えていました。しかし、こちらからの一方的な説明になってしまい学生は退屈していたようです。こちらの説明にも工夫が必要かもしれませんが経営の場合、情報系以外の学生のことも考慮して何とか講義の内容に興味をもってもらう必要があります。

講義の際、途中でVMWareを使用してLinuxのコマンドの使い方について練習すると、新しいOSに触れて新鮮さを感じてくれたようです。このようなことから、2009年度は講義で一方的な授業にならないようにLinuxなどの実習を行いながら授業を進めていこうと考えています。

テキストの参考にしたい本は以下の2冊です。

UNIXプログラミング環境、Brian W.Kernighan、Rob Pike、石田晴久 監訳、アスキー出版局、2000
UNIXという考え方、Mike Gancarz、芳尾桂 監訳、オーム社、2001

このあたりの話を中心にLinuxを使ってOSのコマンドを使いこなせるようになってもらいたいと考えています。

授業は5号館の演習室を利用し、教材はイントラネットで公開するなどインターネットを効果的に利用した授業を行います。

講義中にレポートを提出してもらいます。これを評価の対象とします。出席はとりません。レポートは手書きで提出してもらいます。会社での小論文の試験や多くの資格試験および履歴書などでは手書きで文章を書く必要があることを考えると、このような手書きのレポート提出はしばらくの間、必要のように思えます。ペーパーレス化に伴い電子メールの使用は奨励されるべきものですが、教育の場では読みやすい日本語の文章を書く練習をしてもらいたいと考えています。

講義中に紹介した参考書を読むことで知識を深めることができます。また、わからないことがあれば授業中に質問してください。必要があれば資格試験についてアドバイスしますので、気軽に質問してください。

通信ネットワーク論

2008年度までのテキストで授業を進めていると、どうも内容が旧くなってきているように感じていました。旧いといっても基本的な部分の話なのですが、どうも現在の状況にあっていないような感じがしていたのです。

そのように考えていた時に次の本に出会いました。

Making Things Talk、Tom Igoe 著、小林 茂 監訳、水原 文 訳、オライリー・ジャパン、2008、3800円

この本では様々な電子機器が通信し合うことを利用して、それらの電子機器を組み合わせることにより何でも作れるようになるということを提案しています。

この本では通信のプロトコルに関してはシリアル通信から始めて、ワイヤレス通信まで含めた様々な通信についての解説をしています。これからは、このような新しい観点から通信ネットワークについて考えていく必要があるように感じました。

また、イントロで電子機器を組み合わせることでオブジェクト指向ハードウェアとして考えて欲しいとも言っています。オブジェクト指向プログラミングではオブジェクト同士がメッセージを交換してプログラムの機能を果たしていますが、これに対し電子機器は電子機器同士が会話することにより機能を実現していくと考えるのでしょう。まさにこの本のタイトルが言っているところだと思います。

従って、今年度の授業はこの本に沿った内容でテキストを考えていく予定です。また、日本のDesign Wave Magagine、インターフェイス誌で取り上げられた電子機器や国産のオープンソースのハードウェアであるGainerについても紹介していこうと考えています。

通信に関しては基本的なものを使っていますが、今までPCの単位で話をしていたものが電子機器のレベルで話ができるようになってきているのは非常におもしろいことだと思います。

オペレーティングシステム論と同様に授業は5号館の演習室を利用し、教材はイントラネットで公開するなどインターネットを効果的に利用した授業を行います。

また講義中にレポートを提出してもらいます。これを評価の対象とします。出席はとりません。レポートは手書きで提出してもらいます。会社での小論文の試験や多くの資格試験および履歴書などでは手書きで文章を書く必要があることを考えると、このような手書きのレポート提出はしばらくの間、必要のように思えます。ペーパーレス化に伴い電子メールの使用は奨励されるべきものですが、教育の場では読みやすい日本語の文章を書く練習をしてもらいたいと考えています。

講義中に紹介した参考書を読むことで知識を深めることができます。また、わからないことがあれば授業中に質問してください。必要があれば資格試験についてアドバイスしますので、気軽に質問してください。

情報システム演習III

今年は、開発環境に何を使用するか迷っています。Eclipseを使用してみようかとも思いましたが、携帯電話におけるプログラムの開発というのもおもしろそうなので、今回はNTTドコモのDojaを使用しようかなとも考えています。

Dojaはドコモカップでも使われています。こういうコンテストに参加させるためにもこのような開発環境の使い方を演習で取り上げることで学生にやる気を起こさせることになるかもしれません。

昨年度は完成度の高いフリーのパックマンライクなゲームでソースコードが公開されているものを参考にスケルトンから徐々に機能を付く加えていくようにテキストを構成しました。学生は興味を示してくれましたが、課題においては自分でオリジナルのゲームを作った学生はいませんでした。

Flashを使った授業では、個性的な作品を作ってくれるのに対し、Javaだけではプログラムを書くということが創造の邪魔をしてイメージどおりのゲームが作れないようです。だからといってゲーム用のフレームワークを利用させるのは余計なものを覚えさせるだけなので勉強にはならないものと考えています。

Javaでゲームを、それもできるだけオリジナルのゲームを作ってもらうためのテキストを用意することは教える側にとってチャレンジしがいのある課題かもしれません。

従って2009年度の前半ではJavaの基本のプログラミングについて練習します。また、オブジェクト指向プログラミングについて解説していきたいと考えています。

後半ではJavaを使ったゲームを作ることを目指しますが、なるだけ飽きない、楽しめるゲームを作るにはどうしたらいいかということにポイントを置いてテキストを作っていきたいと考えています。ゲームに関するアルゴリズムについても考えてもらいたいと思います。

そして、課題の提出時にオリジナルのゲームを作ってくれる学生が現れることを期待しています。

課題は2回ほど提出してもらうことを予定しています。課題で作ってもらったファイルは電子メールに添付してレポートを提出してもらいます。これをもとに評価を行います。また、毎時間、時間内に練習問題が解けたものについて名前を控え、評価の際に参考にしたいと思います。出席はとりません。試験はありません。出席もとりません。教科書はありません。参考書は必要に応じ紹介していきます。

マルチメディア通信論

2008年度はFlashを使用したアニメーションとActionScriptによるプログラミングについて練習しました。前半でFlashのアニメーションの作り方について解説しました。基本的なテクニックを中心に解説していきます。今回はテキストはページで提供しました。従来はブラウザを使ってテキストを見る場合には、実習室の15インチのディスプレイでは画面が狭く作業に集中できなくなるので印刷したものを配布していたのですが、Windowsのタスクバーの操作の説明を行っておくことで、作業に問題はなかったようです。結果、環境にもやさしい授業となりました^^

また、2008年度は授業回数が例年よりも多くとれたので、サウンドと動画の扱いについてそれぞれテキストを用意しました。例年、実習中にサウンドを扱った場合、うるさくなるかと思い授業で避けてきたのですが、今回試したところ確かにうるさくはなりますが、本人も鈍くなってきたためか(笑)授業に影響するほどではありませんでした。

この時の課題では、TAに作ってもらった音楽に自分が作ったアニメーションをシンクロさせてみなさいという課題を出したところ、見事な作品を作ってくれた学生もいました。また、ピタゴラスィッチのフレーミーみたいな作品を作れという課題でも大分動きの近いものもあり楽しめました。

残念なのは、携帯で撮影した動画をYouTubeで扱っているようなflvの形式に変換してみなさいという課題を出しましたが、変換用のソフトウェアを自分で探し使い方も自分で試しながら覚えるように指示したところ、この課題をこなした学生はいませんでした。ちょっと残念です。

さて、授業で練習するのは基本的なテクニックだけなので物足りない学生もいるかもしれませんが、習ったテクニックを使ってここまで表現できるんだということを示す練習問題を用意しています。そして課題は区切りとしてActionScriptの練習に入る前に1回出します。その時までに今までに習ったテクニックを使用して自分がイメージしたアニメーションを作ってもらいます。

課題提出時には基本的なテクニックだけでもすばらしい内容の個性的な作品ができるんだなと毎回感心しています。必要に応じてテクニックを覚えるような学習方法にしていくことが大切だと感じております。

後半ではActionScriptを使用して簡単なプログラムの練習を行います。シンボルに対するインスタンスの考え方に慣れてもらいオブジェクト指向の考え方も体験してもらいたいと考えています。

このように授業ではテクニックを学ぶよりはオリジナルの作品を創作することに重点を置いています。従って最初に基本的なテクニックについてサブモニタを使って解説するので、これを見ながら実際に試してもらいます。その後で練習問題を用意するので練習したテクニックを使用してどこまで表現できるのか練習してもらいます。

何よりも、実習を楽しんでいる学生がいるということが、こちらも教えていてうれしくなってきます。授業では基本的なところしかやりませんが、興味をもったらさらに勉強して個性あふれる作品をたくさん作ってもらいたいものです。

課題はアニメーションとActionScriptによるプログラミングについて、2回ほど課題制作用の時間を用意しています。課題用に作ってもらったSWFファイル並びにFLAファイルをメールに添付して提出してもらいます。これらのファイルをもとに評価を行います。また、毎時間、時間内に練習問題が解けたものについて名前を控え、評価の際に参考にしたいと思います。試験はありません。出席もとりません。教科書はありません。参考書は必要に応じ紹介していきます。

ネットワーク論特論(博士課程前期、修士)

大学院の授業です。コンピュータネットワークに関する応用について考えていきます。2009年度は情報系を希望する院生がいないので開講しない予定です。

講義要綱から抜粋しておきます。以下の通りです。

インターネットに関連する技術やプログラミングについて考える。

授業ではまずサーバ環境の構築、運用を考えてもらう。サーバの構築には基本的にLinuxのディストリビューションかFreeBSDのうち最新のバージョンのものを使用する。セキュリティを考慮した安定したサーバの稼動を目標にしている。その後でこのサーバ環境で動作させるWebアプリケーションを作る際に必要なプログラミング言語の実習を行う。言語としてC、C++、Java、またスクリプト系の言語としてPerl、Ruby、Pythonのうちそれぞれ一つを習得することを目標にしてもらいたい。

既存の技術について勉強するだけでなく、自分のアイディアを実現できるようになってもらいたい。そのため授業において最新の技術や流行についてディスカッションを行う。

サーバの構築、運用の経過およびプログラミングの理解の程度を見ながら評価を行う。ディスカッションを行う際に自分のアイディアをうまく伝えることができるか、質問に対して適切な回答を用意できるかなどについても評価の対象と考えている。

以上、抜粋です。

ただし、通信ネットワーク論でも書いたように、これからはネットワークを考えるに当たりオブジェクト指向ハードウェアという観点でハードウェア同士の通信についても考えてみてもらいたいと思います。

オブジェクトとしてのハードウェア(電子機器)同士が通信をすることによりどのような機能を実現し、どのようなシステムを実現できるのかのかについて創造を膨らませてもらいたいと考えています。

ネットワーク論特殊研究(博士課程後期、博士)

今回初めての開講となります。従ってシラバスからの抜粋にとどめておきます。

[講義内容]

次の3段階で研究を進めてもらう。

@まずオープンソースで公開されているwebアプリケーションのシステムについて分析してもらう。必要に応じてサーバに実装し動作を確認する。

AこのwebアプリケーションにないAPIや新たに機能として追加したいものについてプログラムを用意して組み込み、利用できるようにしてもらいたい。

B最終的に@、Aでの研究成果を参考にしてオリジナルのwebアプリケーションを設計し構築してもらいたい。その際、セキュリティに関して十分考慮した設計を行ってもらう。合わせて、ネット上で十分な機能を発揮できるかテストを行ってもらう。

Bの段階ではインターネット上で共同開発者を見つけ意見交換をしながら開発を進めることが望ましい。この際、開発管理システムも利用すること。

webアプリケーションが完成したらインターネット上で英語、日本語でページを用意して公開し、必要なライセンスも指定すること。また、しばらくは更新やフォーラムなどによるユーザ管理を行いサポートを充実させること。

[教科書・参考書等]

教科書:使用しない。必要に応じて印刷物および書籍を配布する。
参考書:授業時に紹介する。

[評価の方法]

プロジェクトの構築、運用の経過およびプログラミングの理解の程度を見ながら評価を行う。ディスカッションを行う際に自分のアイディアをうまく伝えることができるか、質問に対して適切な回答を用意できるかなどについても評価の対象と考えている。

[講義計画]

1.オリエンテーション
2〜10. webアプリケーションの分析
11〜15. webアプリケーションに必要な機能の実装
16〜30.オリジナルのwebアプリケーションの開発

[オフィス・アワー]

学生の要望に応じて適宜実施する。 

以上、抜粋です。

インターネットを通して自分のアイディアを紹介し、できれば世界中のデベロッパと共同で作業を行いアイディアを製品として完成させ、サポートをしながら世界中に普及させてもらいたいと考えています。授業期間内にここまでやるのは大変かもしれませんがプロジェクトを通して、開発を成功させるためのきっかけをつかんでください。

できれば海外への学術論文の投稿、あるいは学会発表を目標にして研究を進めていきたいと考えています。作文に関しては早い時期から指導していきます。ただし、英語ができるかということは問いません。博士の試験に通る程度であれば問題ないと考えています。

大学院演習(博士課程前期、修士)

大学院の授業で研究の指導を行います。

2009年度は情報系を希望する院生がいないので開講しない予定です。

以下は2008年度の担当科目の紹介と同じものです。

大学院の博士課程前期(修士課程)の演習です。期間としては2年にわたります。修士課程での研究は自分がイメージしたアプリケーションやシステムを完成してもらうことを目標にしています。必要に応じて最新の技術を取り込んでもらいます。このようにして作ったシステムやアプリケーションで商業的に成功するのかについても考察してもらいます。また、TAなどの活動を通して、後輩の指導を行ってもらいたいと考えています。

この演習では1年目の連休明けぐらいまでにプロジェクトのテーマを考えてもらいます。テーマについて教えてもらった後で、テーマが具体的なものに絞りきれていない場合には、どの程度のものを論文として表現したいのかについて相談しながら絞り込んでいきます。

それから、実験をしてもらうことになります。自分のイメージするアプリケーションを作ってもらったり、自分の考えているシステムを実現してもらうことになりますが必要なツールやアイディアについては随時相談に応じます。

年が明けて1月ぐらいに進捗状況について報告してもらいます。この時期どの程度進んでいるかによってテーマを変える場合もあります。そして10月ぐらいまでに自分が取り組んできたプロジェクトをある程度完成させてもらいます。

10月ぐらいから論文を書き始めてもらいたいと思います。これは翌年の1月末が審査用論文の締め切りとなっているためです。従って、論文の指導はこのぐらいの時期から始めます。具体的には10月終わりぐらいまでに序論を提出してもらいたいと考えています。12月末から1月中旬までに論文のほとんどを完成させることを目標にしてください。

また、プロジェクトの進捗がうまくいかない場合も出てくると思います。そのような場合に自分なりにどのような対策を立て、問題を回避できたか、さらに問題が生じた場合にはどうしたかについてメモしておきましょう。

プロジェクトにおいてシステムあるいはアプリケーションを作っている場合に、リリースノートみたいなバージョン管理用の記録を残してください。

このように実験が順調に進む場合も、実験がうまくいかない場合にも、プロジェクト進行中の記録というものは後で論文をまとめる時に大切な資料となってきます。常にノートを用意してプロジェクトに関する記録を取り続けるようにしてください。

また、この他にも11月末ぐらいに中間発表が予定されています。発表の割り当てが回ってきたときには、自分が行っている研究についてプレゼンテーションを行ってもらいます。この発表に備えてプレゼンテーションの練習を何度か行います。

このようにして演習を進めていきますが、演習を進めるにあたり、お願いしたいことがあります。プログラミング言語を二つマスターしてください。一つはC、C++、Javaなどの大規模なプログラムを作る際に使用される言語です。もう一つは、Perl、Ruby、Python、などのスクリプト系の言語やScheme、Haskel、ML、Erlang、Scalaなどの言語です。

一つの言語にこだわることなく、状況によっていくつかの言語を使いこなせるようになってください。

評価はプロジェクトの運営、管理についての報告書、および目標の達成度により決定します。これは論文の作成過程も含んでいます。試験はありませんが論文に関しては、演習を終了して修士論文を提出した後で審査が行われます。論文は基本的に日本語で提出してもらいますが、希望があれば英語での提出も認めたいと思います。出席はとりません。参考書は必要に応じ紹介していきます。

2008年度に院の卒業生がいましたが、ほぼこのスケジュールで修士論文を完成させることができました。

修士論文で扱った研究はパーソナライズドホームページをRubyを使って構築するものでした。演習を始めたころはRubyはあまり触ったことがなかったようです。最初に基本的な文法から始めて、クラスを作るところまで進め、ページを作る際の参考としてヒアドキュメントやメタプログラミングの例を示し、MySQLを使うように勧めた後は、自分でRubyの各種ライブラリを使用して自分のイメージしたシステムを構築することができました。

このように自分のアイディアをプロジェクトにおいて実現し、完成させるところまでしっかり指導していきます。

人文情報処理<非常勤>

東北大学文学部の2年生以上を対象にしたコンピュータリテラシーに関する授業です。セメスターで行っています。まず、Excelを使って表計算に慣れてもらいます。グラフを作ったり、組み込みの関数の使い方、VBAを使用した関数の作り方についても練習します。

次にSQLというデータベース用の言語をAccessを使って練習します。そして、プレゼンテーション用のスライドをPowerPointを使用して作ってもらいます。

それからHTMLを使用してWebページを作る練習を行います。CSSやJavaScriptについても練習します。

2008年度の前期はコンピュータ室の定員の2倍の学生が履修したため、授業に工夫を要しましたが、学生は積極的に参加していました。その際、テキストを簡単にしたところ、学生にとってわかりやすかったようでした。後期も同様のテキストを使って行いました。一部Accessの出力結果をページとして出力させました。

2009年度はほぼ同様の内容で授業を進めますが、データベースの実習の際にAccessを使うのは、学生が自宅で予習を行う際には費用がかかるので適切でないと考えています。そこで、今回はMySQLをXAMPPというパッケージから使用することを考えています。ただし、文学部の事情によっては従来どおりAccessを使用するかもしれません。

授業を通して、データの扱い方を中心に考えていきます。データを収集し、加工し、どのように出力するかというところに力を入れています。

レポートは原則として実習当日に提出してもらいます。提出する際には指示に従い印刷して提出してもらいます。このように提出してもらったレポートをもとに評価を行っています。試験はありません。出席は取らないことにしていますがチェックのために学籍番号、名前を書いてもらうことがあります。教科書はありません。参考書は必要に応じ紹介していきます。

高大連携プロジェクト関連

2008年度もFlashを使用した授業を高校生に向けて行いました。文字を使った簡単なアニメーションについて考えてもらいました。今回は比較的簡単に練習をこなしていたようです。

文字だけだとあまりおもしろくないので、2009年度は絵を使った作品を例題に使いたいと思います。 また、2008年度はDesign Wave Magazine誌に付属の基板を使って、雑誌についてきたプログラムを使いFlashのゲームを遊んでもらいました。学生にゲームをしてもらったところ、興味をもって楽しんでもらえたようです。

2009年度もフィジカルコンピューティングの例を紹介し、遊んでもらいたいと考えています。

評価はありません。しかし、授業の最後に感想などのレポートを提出してもらい、それに関して点数をつけて、評価担当の先生に参考資料として渡すことになっています。他の先生の資料と合わせて評価担当の先生が、最終的な評価を行うようになっています。

参考までにSPPの授業で使用したLinux(Knoppix)の使い方のテキストはここで公開しています。興味のある方はご覧ください。