SSブログ

Pythonを速習できるか [ゼミ・教育]

 今年の前期のプログラミング演習はJavaを使った。この演習はプログラミングの入門の位置にあるので、かなり思い切った方針だった。例年はPythonを使っていたが、結城浩『Javaプログラミング・レッスン』が丁寧な説明を乗せていたので、適当な参考書のないPythonよりもやりやすいのではないか、と考えての方針変更だった。

 しかし、言語としてはJavaはPythonよりも煩瑣な単語を用い、概念も難しいので、これでプログラミング入門にするには効率が悪かった。本当は、Javaと同時にPythonも勉強するつもりでいたが、最初の段階でこの計画は挫折し、早々にJava一本に絞った。しかし、現実にJavaで実用的なプログラムを作れるかというと、無理がある。やはりスクリプト言語を利用しなければ、Webプログラミングもできない。そこで、夏休みにPythonを速習してもらうことにした。

 一週間に一回、説明ページをアップし、それに基づく練習問題を何題か出す。その答えをメールで送ってもらう。これは、夏休みの1月半の間にプログラミングに全く触れないと、前期にやったことを忘れてしまうのを防ぐ意味もある。一週間に一回とはいえ、エディタを起動し、問題を考えていれば、何もしないで後期を始めるよりもずっとましだろう。

 さて、それでは、このような一種の通信教育でPythonが身に付くだろうか。これはひとえに僕の説明の仕方と問題の出し方にかかっている。特に、問題は、難しすぎず、しかし、また単に例題をなぞるだけではなく、頭を使って書けるような、そういうものをうまく段階的に配置してく必要がある。

 前にも書いたように、今の四年生の卒論で、そういう初心者向けの問題を多数集めている学生がいるので、そのデータを送ってもらって利用するのもいいかもしれない。

 取り敢えず、現在、7回ほどに分けて説明をしていく予定を書いておく。

  1. プログラミングの基本構成要素を説明し、特に文の種類をきちんと理解してもらうようにする。問題は、前期の範囲からJavaのプログラムコードを挙げて、その各行が、どの文の種類に属するかを書いていってもらう。そうすることで、具体的にプログラムがどのような種類の文によって構成されているか、その割合はどんなもものを理解してもらう。
  2. まず、単文について、Javaの文に対するPythonでの書き方を説明し、単文が連なっているJavaのプログラムをPythonに書き直してもらう問題を出す。
  3. 次にif文、while文、for文について、そのPythonでの書き方を説明し、課題として、JavaのプログラムをPythonに書き直してもらう。
  4. 関数定義について、Pythonの書き方とJavaとの違いを説明し、課題としては、前期に作ったJavaのメソッドを使ったプログラムをPythonのコードに書き直してもらう。
  5. 配列あるいはリストについてのPythonの書き方とJavaの配列の使い方の違いを説明し、これも課題としてJavaのプログラムをPythonに書き直す。
  6. 説明としては、落ち穂拾いで、Pythonにおけるコマンドラインの引数を処理する方法、ファイルの読み書きの方法を説明し、これはJavaを持ち出さずにPythonだけでプログラムを書いてもらう。ここら当たりになると、Javaの書き方は複雑なので、わざわざそれを引き合いに出さずにシンプルなPythonで処理するようにする。
  7. 説明は前回で終了し、今回はできるだけいろいろな小問を解くようにしてもらう。

果たして、テキストが書ききれるかは分からないが、これで一通り前期にJavaでやったことをPythonで書き直すことはできるようになるだろう。ついでに、プログラムの説明は、wython風味の書き方にしてみよう。密かにwythonの入門用教材のたたき台になるように。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。