|
MIT 6.00 コンピュータサイエンスとプログラミング秋期講座第18回
オープンコースウエア 大学名:MIT
講座名:6.00 Introduction to Computer Science and Programming 講義日:2008年11月11日(火曜日) ― 第11週・1回目 (第10週・2回目の講義は休講でした) 担当教授:Prof. Guttag 全講義数:24コマ 各講義時間:60分 配信開始日:2009年8月19日 講義ビデオソース:Youtube 講義ビデオ収録時間:50分38秒 サブタイトル:有 ジャンル: プログラム出力結果の評価、ランダムウオークのデバッグ、Pylab、Numpy、図表やヒストグラムをプロットする方法 ビデオ画像品質5段階評価:4
(解像度が480pあり、コンピュータ画面に表示されたソースコードを比較的はっきりと読み取ることができます。) ビデオ音声品質5段階評価:4 講義コメント:
今回18回目の講義は前回の講義でコーディングしたランダムウオークプログラムの精査およびデバックとなります。 基本シミュレーションのコーディングは、以下の3部からなっている。
その1. シミュレーションを1回だけ実行するインナーループ。
その2・ シミュレーションの試行回数を管理するループ。このループはその1のループを内蔵する。 その3. 計算および統計処理の(グラフィカル)表示 ランダムウオークプログラムの精査の部分は、前回さらっと流した以下のコード:
f.getDrunk().move(f) f.getDrunk() は、インスタンス(つまりメソッドのインボケイション)であり、f.getDrunkとは区別されなければならない。
f.getDrunkは、この場合メソッドでインスタンスではない。
前回でコーディングしたプログラム、エラーメッセージが表示されることもなく無事に結果が出力されていました。
しかしその出力結果をよくよく見てみると、なんか変なことに気がつきました。 それは、100歩や200歩シミュレートした結果がどれも原点から4,5歩の距離しか離れていないのです。 これはどうもおかしいじゃないかということになって、プログラムをデバックすることになりました。
グダーグ教授のデバック作法の手順は:
1. Find a really simple example that I know the answer 2. Take only one step - we know the answer should be one 3. Go half way in the middle of the program and print some intermediate value (total distance so far) 4. Label axes and look 5. Ask if answer makes sense 上記の手順に従ってデバッグしてみると、どうやら距離の平均値の求め方にバグがあったようです。
ほんの1行だけなのですが、手直しして再実行すると、前回の結果よりもっともらしい(?)結果が出力されました。 -------------------------------------------------
Lecture 18 Hand out 補助教材 ダウンロード Lecture 18 ホームワーク ダウンロード
MIT 6.00 講座のプログラムも含んだ資料のダウンロード
-------------------------------------------------
-------------------------------------------------
講義で取り上げたPythonコードの例
注−1! あらかじめ PylabとNumpy という数学・計算用および図表表示モジュールをインストールしておく必要があります。
個別モジュールをダウンロードするには、ソースフォージ(SourceForge)のサイトから次の2つの小さいパッケージをダウンロードしてインストールします。 1. Numpy のパッケージ --> http://sourceforge.net/projects/numpy/files/NumPy/
ダウンロードするパッケージは、numpy-1.5.1-win32-superpack-python2.6.exe 2. Pylab のパッケージ --> http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0.1/
ダウンロードするパッケージは、matplotlib-1.0.1.win32-py2.6.exe 注ー2! 前回のコードがデバックされています。
例−1 ソースコード
例−1の実行結果
エディタから実行してPython Shell に出力
出力した画像の元ファイルをダウンロードしてみる。
SVG(Scalable Vector Graphics)ファイル
--------------------------------------------------
例−2 ソースコード
例−2 の実行結果
Python コードのHTML表示には、Dan CederholmのSimpleCodeを使用しています。
Python コードの入出力は、Python IDLE から行っています。
http://opencourseware.cocolog-nifty.com/blog/images/2011/01/30/python_idle_1_small.jpg -------------------------------------------------
講座第18回のリーディングアサイメント 1. Random walks applet 2. Chapter 13 of Matplotlib/pylab reference
-------------------------------------------------
テキスト(全てネット上で無償公開)
1. Getting Started: Python and IDLE 2. Python Programming 3. The Python Tutorial 4. How to Think Like a Computer Scientist: Learning with Python -------------------------------------------------
|

>
- コンピュータとインターネット
>
- コンピュータ
>
- ソフトウェア




