本文へジャンプ

学科概要
  • HOME
  • 学科概要
  • 学生による学科紹介

学生による学科紹介

実際の授業をいくつか文書におこしてみました。先生方の仮想講義を体験してみてください。情報科学科の講義は90分授業です。午前中の講義は10時15分から、午後の講義は13時から始まります。14時45分からの講義がある曜日もあります。

情報科学実験 I | 各教官
開講時間:月曜・火曜・木曜 午後 | 1
実験概要
プログラミング演習(ML,LiLFeS)
オペレーティングシステム実験(Linux カーネルプログラミング)
ハードウェア実験(論理回路、論理シミュレーション、VHDL)
プログラミング演習(ML)
前半では ML の基礎を学び、後半は穴埋め形式でML のインタプリタを作成する。
後半部分は、4学期(2年冬学期)でやった Scheme の時と似ており、あまり困らなかった。
最後はオセロの思考ルーチンを作成し、学生対抗で競技大会を行った。
この競技大会はけっこう燃えるイベントで、夏休みをかなり費やした人も少なくなかった。
特に、単なる高速化とはまた違う要素、「そこそこ高速で動作させながら、強い手をうつ」事がテーマなので、トレードオフを考えるようになった。
自分は、評価関数のパラメタを調節したり、効率よく先読みする方法を調べたのが、結構、楽しかった。
中には、定石の DB を用意したひともいて、その人が、大会でトップになった。

関数型言語としては、2年の冬学期に Scheme をやっていたので MLの基本的な内容はすんなりとクリアできた。
ML をさわってやっぱり sheme はかっこは多いなぁ、あのかっこの多さは異常だなと思った。

後に、3年の冬学期に、米澤先生の授業を聞いて初めて、「ああ、演習のときに、ML ででてきた 型っていうのが考えていたよりも、もっと深い意味をもっていたんだなぁ」と思った。
プログラミング演習(LiLFeS)
前半は、○×ゲームの探索、αβ探索のプログラムを作成する。
後半のテーマは、形態素解析。英文の構文解析を行う。

LiLFeS は「こんな言語は IS にこないかぎり、さわらないであろう言語」だと思う。
「実用性がなく、無駄」という意見もあるが、一方で、「いい経験になった」という人もいる。
書いて遊ぶ分には、楽しい言語なので、ついでに、たぶん、今、さわらなければ、ほぼ、さわる機会がないであろうと思うので、僕個人としては、それなりに楽しめた。

英文を構文解析の最後の課題は、「オリジナルな機能を追加して英文を解析しましょう」という課題だったが、
そういう自由課題だと、いろんなことが考えられて、動いたときは楽しいけれど動くまでは、けっこうつらかった記憶がある。
これに関連して、単なる愚痴になってしまうけれど、この言語、デバッグのことをまったく考えてないで作られている気がする。
論理型なので、printf をはさんで一発でなおるみたいなことができないし、「もうちょっとデバッグしやすい言語ならいいのになぁ」と思います。


オペレーティングシステム実験(Linux カーネルプログラミング)
前半は Linux のお勉強というか、System Call のお勉強。
後半の課題には「すでにある RFC の規格に準拠した http サーバの実装」という課題がある。
この「規格にそったものを実際に実装しよう」というのが新しく、規格というものは、「面倒くさいけど大事なんだなぁ」と思いました。

自分が作った Web server に対して、普段使ってる IE からリクエストを出したら、本当にページが表示された。
最初にページが表示されたときは「本当にページが表示されるんだなぁ」という事にちょっと驚きつつ、最初は本当に嬉しかった。
でも、そこから後が面倒くさくて、いろんな規格があって、それにちゃんと対応しようとすると、ともかく面倒くさかった。

最後の課題は、「shell の実装」
shell を作っていくうちに signal と process group が 本当にわかったのが、嬉しかった。
Linux を普通にさわってるのに必要な知識以上のものがわかって「ああ、そうだったんだ」「なるほど、kろーいうことをやってたんだ」という感じがした。
ハードウェア実験(論理回路、論理シミュレーション、VHDL)
最初の 1/3 は ブレッドボード(穴のあいた基盤)に IC, 抵抗, ランプ, スイッチをつけ、スイッチを押す事によって、それに反応して LED ランプがちかちかする物を作った。
ここで、はじめて、こういう物に触った人は、たぶん、すごく楽しかっただろうなと思う。

次の 1/3 は ModelSim を使ったシミュレーションを行いながらVHDL の勉強をする。
今までは、ディスプレーに表示される文字をみながらデバッグしていたのが、波形をみながら、デバッグするのが、目新しかった。
また、ALU の仕組みを勉強し、単語として聞いてたものが、中身がどうなってるかがわかった感じで嬉しかった。

後半の 1/3 は 100万ゲートの FPGA 基板を使い、LED を点滅させたり、簡単な整数演算を実機で行う。