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

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


毎年、テキストを数科目ごとに更新しています。昨年度も何科目か更新してみました。まず、マルチメディア通信論ではPOV-Rayを使った3Dグラフィックスの練習を行ってみました。簡単な3Dのオブジェクトの描画から始めて、応用として分子模型をMOL形式のファイルを使って描画してみました。ただ、プログラムを使って描いているためか、ちょっと工夫すれば解けるような課題を出してもなかなかそれをやってみようという学生が少なかったのが残念です。

また、ゼミとは別に入門ゼミといって、ゼミを担当の先生が適当に授業を進める科目があります。私の場合、OpenGLのGLUTライブラリを使って3Dのアニメーションのプログラミングに挑戦してもらいました。最初から、プログラムの文法を中心に解説したり、文法になぞった課題を解くというやり方はせず、とにかくソースコードを読ませて、この部分がプログラムではこういう役割をもつんだということをわからせるようにテキストを組んでみました。なにせ、このような乱暴な授業は始めての試みでしたが、最後の課題で自作のキャラクターを作ってもらい、そのアニメーションをプログラムとして組んでもらいました。最初の予想では40名中2、3人ぐらいしかできないかもしれないと考えていました。しかし、予想に反してプログラムを読めるようになったからでしょうか10数人もの学生が自分の作品を披露してくれました。私も楽しく鑑賞させてもらいました。

このGLUTのテキストにはGLUTのデモプログラムにBlue Ponyというものがありますが、このプログラムを段階的に細分化してみました。具体的にはExcelを使ったデータの作り方から始めて、エクストルード法による3Dのオブジェクトの作成、それらのオブジェクトの組み合わせ方、そしてアニメーションまでできるようにテキストを構成しました。現在、高性能の3Dのモデリングのツールはいろいろありますが、自分から身近にあるソフトを使ってデータの処理から始めて、モデリングからアニメーションまでを試してみることで、本当の意味での情報の処理が理解できるのではと考えています。

さて、今年度からまた、実習の内容が変わるものが出てきます。また、今までコンピュータリテラシーを考慮したテキストもあったのですが、それも使われなくなりそうです。そこで、今まで使っていたテキストでこれだけは押さえておいて欲しいものを学生に公開して使ってみてもらおうかと考えています。具体的には3年のゼミでこれらのテキストを使って実習を行ってもらうことになります。また、3年のゼミという一つの時間帯で複数のテキストを公開し、そのうちのいくつかあるいは全部をやってもらい、出してもらったレポートについて評価をしようかなとも考えています。これも実は新しいやり方で、イメージとしてはスカパーみたいに、自分の興味のあるチャンネルを選択して契約するように、テキストも複数の中から選択していくものです。実習の指導の方は少し大変かもしれませんが、学生の能力を考慮し、興味を持続させるためにもこのような授業の形態が必要になってくるものと思われます。

また年々コンピュータに関わる新しい考え方が提示されてきていますが、それらについてもこのようなテキストを準備し学生がいつでも閲覧し、入門程度の知識が得られるようにしておいた方がいいのかもしれません。今年はページをXMLを使って表現し、それをXSLTプロセッサを使ってHTMLに変換してから、公開することを試みています。最初のフォーマットを決めたり、XSLTの文法を理解する時点で苦労しますが、いったんXMLのデータ構造を決めてしまえば更新が楽なようなので、このようなテキスト作りも比較的楽に行えるような気がしています(^^;)。

例年、行っているキャリアゲットプログラムのシスアドの講習会も1年に2回ほど行っています。受講者は回を重ねるごとにだんだん少なくなっていくのがちょっとさびしいですね。しかし、毎回何人かの合格者を出していますので、それなりの実績はあげているようです。前にも書いたかもしれませんが、試験というのは会場で頼りになるのは自分しかいないということを常に忘れずにいて欲しいものです。つまり、この講習会を受けるだけで必ず合格するというわけではないということです。我々が講習会で示すことができるのは、試験に向かってどのような対策をとるべきかとか、問題を単に解くだけでなく解くための思考のプロセスについて考えていこうというものです。

それでは、今年の各担当科目について説明していきます。今年度から、情報システム演習Bが通年で2単位の授業から、情報システム演習IIIと名前が変わり、前期で2単位の授業となります。

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

オペレーティングシステム(OS)について講義します。OSがハードウェアと密接な関係があることをまず理解してもらいます。それから、それから、OSの基本的な機能とそれに関連する用語の説明をしていきます。プロセス管理、ハードウェアの管理などについてわかりやすく解説します。 できれば、プロセスやメモリなどの管理で用いられているアルゴリズムについても解説していきたいと考えています。

さらに、組み込みOSの世界やOSKitのような新しいOSの考え方についても、具体例を示しながら紹介していきたいと思います。

授業は5号館の演習室を利用し、インターネットを効果的に利用した授業を行います。ただし、受講者が多い場合には講義室での授業に変更しますので注意してください。講義中にレポートを提出してもらいます。これを評価の対象とします。出席はとりません。

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

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

ネットワーク論

インターネットに代表されるコンピュータネットワークを解説していきます。ルータの設定方法やIPアドレスに関する話題を中心に取り上げて説明していく予定です。また、TCP/IPをメインとした各種のプロトコルとそれに関連するサービスについても取り上げ具体的に解説していきます。さらに最近のADSLや光通信、無線LANなどに関連した話題も取り上げていきます。

授業は5号館の演習室を利用し、インターネットを効果的に利用した授業を行います。ただし、受講者が多い場合には講義室での授業に変更しますので注意してください。講義中にレポートを提出してもらいます。レポートは手書きで提出してもらいます。これを評価の対象とします。出席はとりません。

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

ゼミナール1

まず最初の授業でこれからのスケジュールについて説明します。そしてアンケートをとります。次の週に自己紹介を行ってもらいます。自己紹介のための文書も作ってもらいます。その文書を編集して冊子を作ります。 そして連休を前後してディベートを行います。テーマを自分たちで考え、選びそれについて討論してもらいます。

今年はディベートの後からの予定が変わります。このページの冒頭で説明したように、何種類かテキストを用意しますので、その中からいくつかテキストを選んでもらい課題を提出してもらいます。もちろんWebページの作り方のテキストもあります。このやり方は前期を通じて行います。

次に後期の前半でWebページ作成の練習を行います。Webページの作成を通して、インターネットで利用するツールの使い方になれてください。また、Webページはただ作るだけでは通用しなくなってきています。そこで、情報量、デザインに焦点をあてて作ってもらいます。さらにXML、JavaScript、Perlを使ったCGIについても練習しておきます。前年度の先輩の作品を参考にしてもらい、先輩の作品を超えるようなページを作ってください。

後期の後半は、PowerPointを使ったプレゼンテーションの練習を行います。昨年度は自分が関心を持っているサイトの紹介やそのサイトで採用しているビジネスモデルについて発表してもらいました。発表する内容を4年次に書いてもらう卒論と関連させることをお勧めします。今年度も同じようなやり方で発表してもらいたいと考えています。PowerPointによる資料の作成を通じ、発表用の資料の作り方、発表の方法について練習していきましょう。

評価はディベート、前期の課題提出、後期のWebページ作成、プレゼンテーションなどの活動の様子を参考にしてつけたいと考えています。試験はありません。出席もとりません。教科書はありません。参考書は必要に応じ紹介していきます。

情報システム演習III

昨年度の情報システム演習Bが名前が変わり前期だけの授業になります。取り上げるのはJavaのプログラミングです。Javaの基本的なプログラミングから始めて、オブジェクト指向プログラミングの練習をします。プログラムの書き方に慣れている方でも、クラスを単位とするプログラミングには慣れていないと思われるので、最初は戸惑うかもしれません。しかし、例題を数こなすことによりプログラミングに慣れていきますので、がんばってついてきてください。

また、他の授業でも2Dや3Dグラフィックスを扱っていますので、昨年度取り上げたAppletでの表をメインにしたプログラミングの練習から、このようなグラフィックスを扱うようなテキストに変えていくかもしれません。

講義中にレポートを提出してもらいます。これをもとに評価を行います。出席はとりません。試験はありません。出席もとりません。教科書はありません。参考書は必要に応じ紹介していきます。

入門ゼミナール

昨年度から2年後期に開設されたゼミナールです。入門ゼミという名称から誤解して欲しくないのですが、私の場合、最初からプログラミングの練習を行っていきます。つまり、プログラミングを通して何か結果を残すことを目標としています。従ってこのゼミを選ぶ場合には、プログラミングに興味をある方でしかも根気のある方に来てもらいたいと考えています。

昨年度はOpenGLのGLUTという3Dグラフィックス用のライブラリを使って3Dのアニメーションのプログラムを作ってもらいました。ベースとなる言語はCですが、文法については詳しい解説は行いませんでした。それよりも3Dのオブジェクトをデータをエクセルで編集してから、GLUTを使ってプログラムにより組み立てていきました。最終的にオリジナルのアニメーションを作ってもらいました。このように、サンプルのプログラムを参考にし、プログラムのこの部分を変えることによって自分なりの表現ができるんだということを理解してもらいたいと思います。つまり、サンプルのプログラムが読めるようになることを目標としています。根気があれば初心者でもアニメーションを完成することができますので、ぜひこの達成感を味わってみてはいかがでしょうか。

最終的に自分のオリジナルのアプリケーションを提出したもらいたいと考えています。これをもとに評価を行います。出席はとりません。試験はありません。出席もとりません。教科書はありません。参考書は必要に応じ紹介していきます。今年度は演習室2を割り当てられたため教室が狭くなりそうです。希望者が多い場合の進め方については、最初の授業で説明したいと思います。

ネットワーク論特論

大学院生を対象にした授業です。コンピュータネットワークをテーマに講義と演習をすすめていきます。昨年度は次のようなことを行いました。

前期はHTMLでデータを表として表現するところから始めていきました。続いて、Perlをインストールしてもらい、連想配列や正規表現などの練習をしてもらいました。続いてMySQLをインストールしてデータベースの実習を行う予定でしたが、学生のパソコンの調子が悪かったり、壊れたりと思うように実習を行えなくなりました。そこで、急遽プリントにてSQLの実習を行いました。実習の際にはACCESSを使い、SQLの構文の練習をおこないました。

<感想>実習では2人の学生にノートパソコンを持ってきてもらい、いろいろ作業してもらったのですが残念ながらいろんなトラブルに遭遇してしまいました。このことから、もし百人単位でノートパソコンを配り、環境を自分で構築させるようなことをしたら、授業が成り立たなくなるかもしれません。このような場合には環境を固定させてしまう必要があると思いますが、個人にノートパソコンを配布した場合、個々の環境が異なってくるのは避けられないのではと考えています。

<感想>ACCESSでSQLの練習を行っていた時に、標準のSQLの教科書の文法に準拠しないものがいくつかありました。ACCESSでのSQLの実習時にはこの点を調べておいた方がよさそうです。

後期は学生の希望により、次の洋書の講読を行いました。

Developing Online Games, J. Mulligan, B. Patrovsky, New Riders, 2003

アメリカでのゲームプログラミング関連の本はトータルに解説している本から個別のトピックに話題を絞って解説する本に傾向が移ってきているようです。特に、昨年からは、ゲームのプロジェクトに関連する本が次々に出版されています。この本も数々のMMORPGの開発に携わった著者らのノウハウをまとめた本となっています。

<感想>ただ、実際に読み進めてみると、業界で使われている用語の解説が前後していて最初にこのような本を読む人には読みにくいものとなっています。学生さんもひどく苦労しておりました。

ちょっと疲れたようなので、XMLの実習を行うことにしました。最初にHTMLのtableタグで表を作らせ、それからCSS、JavaScriptを使って同じ表を作ってもらいました。それからXMLでデータを表現し、XSLによってデザインを決定し同じ表を作ってもらいました。

<感想>XMLの経験がないため、最初戸惑っていましたが、最後にはなんとか理解できたようです。テキスト自体があらっぽい説明なので、もう少し体系的にまとまったテキストを用意する必要があるかもしれないと感じました。

今年度は前期にXMLに関する技術について実習を行う予定です。後期はコンピュータネットワークかWeb技術に関する最新の外書の講読を予定しています。

評価は個人別の作業状況をもとにつけていきます。また、個別の達成度も参考にしていきます。自分の当面の目標をもってもらい、それを1年の授業を通じどの程度達成できるか、意見交換しながら考えていきたいと思います。結果よりも、問題に対する考え方を重視いたします。試験はありません。出席もとりません。教科書はありません。参考書は必要に応じ紹介していきます。

昨年度まではノートパソコンを用意してもらい、実習で使っていましたが2年連続で授業中にトラブルに見舞われていますので、今年度からは学校のパソコンならびにテキストを使って授業を進めていきたいと考えています。

ゼミナール 2

4年のゼミです。前期は就職活動と重なるため、個人のスケジュールに従って行動してもらってかまいません。ただし、今年度はこの時間にJavaScriptのプログラミングの演習を考えています。JavaScriptの特徴はブラウザ上で簡単に実行できるスクリプト言語であるということです。ところが最近になってJavaScriptはバージョンが2.0になるとオブジェクト指向プログラミングもサポートするようになります。最近のFlash用のスクリプトであるActionScriptにもその考え方が採用されています。また、組み込み用の言語としても用いられるようになってきそうです。希望者は毎回参加するように心がけてください。またプログラミングは苦手という方は4年生同士の情報交換や個別の相談のためにこの時間を使ってもらってもかまいません。

後期は卒論の作成指導を行います。後期の第1時間目までにタイトルについて考えておいてください。また、この時間に後期のスケジュールについて説明します。

評価は卒論の制作過程をみながら、決定します。具体的には以下のようになります。卒論の提出および面接は3回あります。この3回の提出、面接すべてに出席した方は評価Aをもらえる可能性が高くなります。この3回の提出、面接を通し製作の進捗状況を考慮して評価をつけます。試験はありません。出席もとりません。教科書はありません。参考書は必要に応じ紹介していきます。

基礎ゼミ

毎年、困るのがこの授業です。この授業の目的は大学生にふさわしい読み書きなどの基礎知識を身につけさせるというものですが、どうも乗り気になれません。私の立場からするとおもしろくない授業内容なので、まじめにやる気が起こらないからです。う、つい本音が出てしまいました(笑)。

それでは、いけないと思うので今年は自分も楽しめるような授業にしたいと考えています。ですが、入ったばかりの1年生が受ける授業なので最初は履修相談を行いたいと思います。それから、自己紹介用の冊子をみんなで作りたいなと考えています。そして、私はコンピュータのことを教えていますのでそれに関連した読み物を取り上げたり、プログラムの考え方についてコンピュータではなく紙を使って考えていきたいなと考えています。

評価は提出してもらったレポートをもとに行っております。この授業だけは出席を取りたいと思います。教科書はありません。参考書は必要に応じ紹介していきます。

マルチメディア通信論

いつのまにか、この授業の担当ということになったようです(^^;)。さて、この授業ではマルチメディアについてプログラミングを通して学習していきます。まず、VisualBASICによるプログラミングについて解説します。例題を通して、VisualBASICプログラミングの基礎、テキスト、バイナリーデータの扱い、画像、サウンドデータ、および動画データの扱い方を身に付けてください。

昨年度はVisualBASICのコントロールを使ったプログラミングの基本から始めて、応用として画像処理、ブラウザなどのアプリケーションを作りました。また、後半でレイトレーシング用のソフトであるPOV-Rayを使って3Dグラフィックスの基本について練習してみました。応用として、3Dグラフィックスで有機化合物の分子構造を描いてみました。描く時に使用したデータはMOL形式と呼ばれるデータを使用しています。

3Dグラフィックスについてレポートを提出してもらったのですが、サンプルのプログラムだけで終わっている学生がほとんどなのでちょっと残念でした。プログラミングを始めたばかりの学生が多かったので、今回のテキストは説明がラフだったのかもしれません。次回はこの点を注意してテキストを作ってみたいと思います。

毎回レポートを時間内に提出してもらい、このレポートをもとに評価を行います。試験はありません。出席もとりません。教科書はありません。参考書は必要に応じ紹介していきます。

大学院演習

昨年度は修士2年の学生はOSKitを使用した、XMLを処理できるWebサーバ専用のOSについて研究していました。この研究の要旨については先生のページで2月末頃に公開する予定です。修士1年の学生はクライアントとしてFlashのムービーを使い、サーバサイドでPerlのCGIを使用した、チャットのシステムについて研究しています。今は、基本的な部分を作っていますが、XMLなどの技術も取り込んでいくようです。

基本的な進め方として、テーマに関連する文献の調査を行ってもらい、どのような研究が行われているのか調べてもらいます。ただし、研究の組み立て方によっては、この作業は前後してもかまいません。その後で、自分が調べた研究のうち興味があるものについてソフトウェアを作ってもらいます。もちろん、プログラムは公開されていませんので、最初から自分で作ることになります。基本的な設計から始めて、詳細まで設計してもらい、最終的に目標とする機能をアプリケーション上で実現してもらいます。このあたりも仕様書みたいなものに力を注いでもらおうとは考えていません。進捗状況を面接や簡単なレポートで報告してもらえば十分であると考えています。もし、余裕があれば、さらに研究を先に進めてもらい新しいアイディアをアプリケーションに追加してみてはいかがでしょうか。以上のように修士課程2年の期間内にアプリケーションを完成するのは大変かもしれません。しかし、プロジェクトの管理、運営がうまく行うことができればそれなりの成果をあげることができます。

基本的な研究の内容は以上のようになりますが、研究によってはアプリケーションを必ずしも作る必要はないかもしれません。その場合には学生の研究内容を面接を通して報告してもらうことになります。また、早い時期に論文を作る作業に入ってもらうことになると思います。

評価はプロジェクトの運営、管理についての報告書、および目標の達成度により決定します。試験はありません。出席もとりません。参考書は必要に応じ紹介していきます。

人文情報処理<非常勤>

東北大学文学部の学部生以上を対象にした授業です。セメスターで行っています。昨年度まではコンピュータ初心者を対象に、ウィンドウ環境に慣れること、ワープロ、表計算ソフト、PowerPointのようなプレゼンテーション用のアプリケーションが使えるようになることを目標にしていましたが、学生がこのあたりのことをすでに習得しているようなので、今年度から実習内容を変えていこうと考えています。

実習の後半でおこなっていた、Webページの作成をするためにHTMLのプログラミング、CSSの使い方、JavaScriptのプログラミング、XMLおよびXSLのプログラミングについて、もう少し詳しく取り扱っていこうと考えています。また、レポートの提出を通してインターネットのWWW、FTPなどのサービスを組み合わせてWebページの作成、サーバへの登録までできるように実習を進めていきます。

評価はサーバにアップロードしてもらったWebページをもとに決定いたします。試験はありません。出席もとりません。教科書はありません。参考書は必要に応じ紹介していきます。