基礎工学部化学応用科学科・情報処理入門を担当して
宮坂 博(基礎工学研究科 化学系専攻)
1.はじめに
私は、基礎工学部化学応用科学科・合成化学コース2年次後期の情報処理入門を、合成化学コースの教育、特に物理化学関係の科目に携わっておられる助教授・助手の先生がたやTAの大学院生と担当しています。この科目は演習を中心としたものであり、始めにLinuxの基本、電子メールの使い方、ブラウザを用いた情報の検索等を行い、その後Mathematicaを用いたデータ処理、グラフの作成、プログラミング、シミュレーションなどの練習を行っています。特に最後の2、3回程度は、学生たちが自から課題を考えシミュレーションや計算などを行うように演習を進めています。私がこの授業に携わるようになってまだ2年間が経過した所ですが、この2年間で経験したことや感じたことについて綴ってみます。
2.授業を行ってみて
この科目はサイバーメディアセンター豊中教育実習棟で実施しています。基礎工学部の中にも学生用端末があり、時間外などにはそこを利用することも可能です。演習用端末は私が担当することになった年からLinuxのシステムに変更されました。それ以前のシステムの詳細についてはあまり良く知らないのですが、私は前任地の大学でも情報処理演習のような科目を担当しており、そのときはUnixベースの
Work Stationを用いていました。そこでは最初はメールの送受信やブラウザの使い方を練習した後、テキストエディターを使ってCのプログラミングを行っていました。決して統合的環境が整っていたわけではなく、Unixのコマンドを一つ一つ覚えないと実際にコンパイルや実行ファイルの確認を行うこともできないような状態でしたが、コンピューターの仕組みやソフトについての理解という点では、かえって実効的であったような気がします。一方、Linuxのシステムは、見た目はほとんどWindows等と変わらず使いやすさという点ではかなり便利になっていると思いました。
さてこのシステムの変更のため、それまでの授業のためのカリキュラムがもはや使えないと言うことになり、他の先生方とどのような形で授業を進めるのが良いのか話し合いました。その結果メールやブラウザは必ず練習するとして、次のステップとしてある程度のプログラミングやシミュレーションができるアプリケーションとして、Mathematicaによる演習を行うことになりました。CではなくMathematicaを使用することにしたのは、新システムではMathematicaのほうが統合的な環境が整っており、学生も取りかかりやすかろうというのが大きな理由です。また、これらに加えてインターネットや電子メールのやりとりを行う上で、ウイルスに感染しないようにはどうするべきか、あるいは他の人に迷惑をかけないようにするための心得等についても最初に説明する事にしました。
実際に授業を行ってみると思ったよりも大変でした。まず1年目は数は少なかったものの、コンピューターを使ったりメールを利用したことのない学生もいました。また各講義の課題をWebで公開するようにもしましたが、そこにアクセスすることができない学生もいました。現在は中学生でも携帯電話を用いてメールのやりとりを行っていますが、わずか2年前では初めてメールを使うような大学生も少なからず存在したことを考えると電子メールの普及の速さに驚きます。Mathematicaも、ある程度以上の学生が一斉に使用すると動かないマシンが出てきたりしました。また使用の際に必要となるパッケージがLinuxベースのMathematicaではWindowsやMacintosh上のものとは異なったりして少しとまどいました。私たちが新システムになれていないことも多いとは思いますが、最初の年はアプリケーションのみならずシステムの不安定性に右往左往することもかなりありました。
2年目の学生からは少し事情が変わってきました。まず、1年次に基礎的な授業(情報活用基礎)で既に端末を用いて、メールのやりとりやホームページの作成などの授業を受けた学生がほとんどであったこともあると思いますが、かなりコンピューターの扱いに慣れているという印象を受けました。もちろんいかなる機械でもすぐに扱える人とそうでないタイプの2種類が存在するのはコンピューターでも同じで、扱いにとまどう学生も何人かはいましたが、かなり数は減っていました。携帯電話などでメールを使う機会も増えたこと、また個人用パソコンの普及率が増えたことも、コンピューターの扱いに慣れた学生の増える大きな因子になっていると思います。一方、Mathematicaを用いた演習の方も、教える側の方もかなり慣れたこと、動作環境に対する理解、トラブルに対する対処、最初の年の経験をふまえてマニュアルを作成したこともあり、少なくとも一年目よりかなり進歩したように思えます。
3.雑感と今後の演習について
私が大学生であった20年ほど前は、パーソナルコンピューターがやっと市場に出現した頃でした。現在のパソコンとほぼ同じ程度の値段で(約20万円程度)で販売されていたコンピューターは、今のものと比べると計算速度やメモリー容量など1/100から1/1000以下の性能であったと思います。しかし、工夫をしながら研究室ではハードやソフトを開発し実験装置をつないで測定やデータの取得を行っていました。またその当時の大学で行われていたコンピューターの演習は、FORTRANを用い大型計算機による科学計算を中心としたものであったと思います。穿孔機を用いてカードに一行一行プログラムを打っていったことを覚えています。現在では、格段に性能の向上したコンピューターが広く普及して、当時では思いもよらなかった多くの用途に使われています。また最近では小学校の授業でもパソコンを使って文章を書いたりパワーポイントを使ってプレゼンテーションを行っているとのことです。この講義を受けている大学生も、私の学生時代とは比べものにならないくらいコンピューターをもっと身近に感じていますし、先述のようにこの科目の受講以前に既にコンピューターを利用した経験を持つようになっています。このような事情をふまえ、今後どのような“情報処理入門”を行っていけばいいのかに付いてはいろいろと考えさされます。
確かにMathematicaのような計算やグラフ処理のできるアプリケーションを使って、データ処理や簡単なプログラムを作ってみるのは化学系の学生に対しても消して無駄なことではないでしょうし、多くの学生もプログラミングのようなことを経験して楽しんでいるように見えます。またすばらしいアイデアのレポートを見たりすれば、こちらもうれしく思います。ただ2年次でこの講義を受けた後、学生たちが3年次になって学生実験のレポートを書いたりする場合に、ここで用いたMathematicaを用いてデータ整理を行ったりグラフを作ったりすると言うことは、ほとんどないように思えます。もちろん個人でMathematicaを購入するとなるとかなり高額であり、容易に使いうるソフトではないのも事実です。この点については、この演習がある特定ソフトの練習のための科目である必要はないと思いますし、他の同様なアプリケーションを用いた場合に少しでも容易に使いこなせるようになればいいのだろうと思っています。
いろいろ時代と共に演習の中身は変えていかないといけないと思いますが、私はこの演習についてもっと大切なことは、“プログラムを作るということがどのような作業を必要とするのか”、といったこと自分でプログラムを作りながら学ぶことであると思っています。大きなプログラムを作る場合には、全体のアルゴリズムを考えて作業を分割し、その一つ一つの中身を吟味し、また更に個々の処理のアルゴリズムや相互の関係を明確にして行くことが必要になります。このような個々の処理と全体の流れの階層性のようなものを理解できる論理的な能力は、実は単なるコンピューターを用いた“情報処理”だけでなく科学技術における研究や開発の中でも非常に重要なものであると思います。今の限られた時間内では全ての学生にこのような能力を身につけさせるのは必ずしも容易ではありませんが、“情報処理入門”という半期の科目の中で学生たちが少しでもこのようなことを考えながら演習を行い、総合的な能力を身につけてくれることを望んでいます。