先日、テレビを見ていたら、米国のある大学の数学の先生の講義で、数学とは直接関係のなさそうな奇抜な(あり得ない動作を表現した)ビデオを使っていました。できるだけ授業に出席してもらって、数学を学ぼうという学生を増やしたいとのことでした。どの大学も同じなんだなあ、と思ったことでした。
私は、2年生にJAVAプログラミングを教えています。現在、受講生は約170名という大勢です。色々な資質の学生がいます。プログラミングの基礎力もまちまちです。一般的に言って、JAVAはそんなに易しくないとも言えます。ですが、魅力は尽きません。JAVAに限りませんが、いくつかの言語で、プログラミングを一定程度マスターすることはぜひともやってほしいです。
上記の数学の先生ほどにはいきませんが、私も、JAVAの演習問題では、あまりありふれたものでない出題をしようとしています。良い評価はもらえないと思いますが、最近出題した2例をご紹介。
|
鈴鹿サーキットを走行したKAIT Spirit号の跡を追う赤亀 |
一つ目は、この夏、本学のKAIT Spirit号が鈴鹿ソーラーカーレースで走行した際のGPSデータを使ったものです。(Thanks to 藤澤徹先生&須藤康裕先生)タートル(亀)によって、その走行軌跡をGoogle Earth画像上に描画して再現します。
2つ目は、簡単な線画で、jumping Catとstanding Catを描きます。(この2種のCatのデザインは私のオリジナルです。デザインが話題になっていますので、商標登録します。それはウソですが。)
|
JAVAの重要な要素を学ぶための線画の例 |
実は、これらは、ちょっと楽しくJavaプログラミングを学ぶためであって、イラストや描画デザインの授業をやっているわけではありません!実際、この2つの例は、以下のようなJavaの重要な考え方と技法の基礎を学ぶためのものなのです!そこんところを分かってほしい!
・配列の配列(多次元配列はほんとうは無い。配列は一次元のものしかありません。)
・メソッドの多重定義(メソッドの名称と引数の個数はおなじだが、引数の型が異なる複数のメソッドがある場合)
・メソッドの引数に配列を渡すということ
・メソッドの動的結合(及びポリモルフィズム)ということ