プログラミング系の授業では,Windows 上の UNIX 環境である Cygwin, エディタとして Emacs系の Meadow, 言語として主に Ruby を使います。 また,ウェブページを見るためのブラウザとしては,Internet Explore では なく,Firefox を用います。
これらはすべてフリーソフトで,ネットワーク上で提供されていますので, ユーザーはそれを自分でインストールしなければなりません。 授業でもインストールの時間を設けますが, 説明を読みながら,自分でもできるだけやってみましょう。 PCでプログラミング
プログラミングの入門とアルゴリズムの基礎を学びます →▼
オブジェクト指向プログラミング,やや進んだアルゴリズムなど 一般的なプログラミングの基礎を学びます。 →▼
言葉の処理や データ処理など,実用的なプログラミングを学び, 「仕事に使える」レベルを目指します。 →▼
さまざまなシミュレーションのプログラムを作成します。 取り扱うテーマは,生態系の変動,人口モデル, カオス,物体の運動などさまざまです。 →▼
データをソートするためのアルゴリズムは実用上もきわめて重要であるために, 何種類も考案されて使われています。主なものについて CGIプログラムによる シミュレーションが見られるようにしてあります。 →▼
よく「プログラミングには数学が必要ですか?」と聞く人がいます。 同じことを考える人は多いでしょうから,そのことについてお答えしておきます。
みなさんが中学や高校で教わってきてイメージしている数学, そのイメージの中心にあるのは,「数式をいじって計算して答えを導く」という ものでしょう。その部分はコンピュータプログラミングでは,ほとんど 必要とされません。
一方,たとえばグラフィックスのプログラムにおいては, 三角関数が登場します。 みなさんが高校で三角関数を教わって勉強したときには,それが 自分が作る何かのために使う道具であるという意識はまったくなかったはずです。 だから必死でその形を覚えて,出された問題を解き,そして間違った答えを 書いてしまって傷付いたというのが正直なところではないでしょうか。
しかし,三角関数というのは,本当はそれを使って測量したり,建物を作ったり,ある いは紙の上のデザインやコンピュータの画面に描かれるものをデザインするために 必要な道具のはずです。その領域で使ってみれば,三角関数の意味もよく分かり, 使うことの面白さも体験できるものなのです。
数学というのは本来使うための道具なのに,道具を使う練習だけして 終わりになるというのが高校までの勉強でした。それでも何かしらを 記憶に刻んだことで,たとえばグラフィックスのプログラミングで 数学を使う必要が生じたときに,思いがけずそれが役に立つ ものです。
ただし,プログラミングの内容によっては,高校までにやってきた数学とは ほとんど無縁なものもたくさんあります。数学が得意でないプログラマー も珍しくありませんし,京都女子大の文学部を出て SE になっている人もいます。 プログラミングは数学ではなく,人間がやりたいことを機械に特別な ことばで教える作業です。むしろ求められるのは,言葉の力かもしれません。
小波秀雄