Pythonプログラミング

左図のような急カーブ注意(dangerous bend)マーク(Donald Knuth先生がTeX bookで導入)を付ける。 難しいというわけではなく、是非取り組んでみるべき興味深い挑戦と見るべき箇所である。 プログラミングを理解するということは、まず自分で考えてみて、プログラミング例を見て「ナルホド!」と膝を打ち、さらに自分でより一般的に利用できるように改良するプロセスを繰り返すことである。


レポートの提出について

Pythonプログラムのレポート提出方法 にしたがってください。

最近の授業テーマ

Python ドリル(2017年版)
基本的事柄だけを使ったテキスト処理
微分方程式の数値解法
SciPyで微分方程式を解く
Lorenz系の解析
2 自由度の古典力学方程式 Heon-Heiles系)(PDF:やや古い)

学習上の注意

演習: こうして表記されているのは演習課題である。 演習は必ず全て自分で書いて実行してみること。 プログラミング経験のない者がそれを眺めているだけでプログラムが書けるようにはならない(他の言語のプログラミング経験者であれば眺めて雰囲気をつかめばそれでよい)。

説明のために正しく書かれたプログラムは実行すれはそのとおりに動くに決まっている。 自分がプログラムし何度も間違う経験を重ねる必要がある。 英語の文法を知っていても、書くことも話すこともできない事情と何ら変わらない。

演習: スクリプトを書く場合、慣れないうちは原則として日本語は一切使わずに半角入力だけで書く。

エラーが生じたときに、原因が探りにくいことが多いためだ(半角空白と全角空白は違う字であるが、発見が難しいなど)。 日本語など多バイト文字特有の問題もある。 文字処理はたいへん奥深い。 基本的なプログラミングができるようなったら是非取り組んでみよう。

参考書

A Byte of Python
プログラミング経験の人向け
Dive Into Python
プログラム初心者向け
Think Python
コンピュータ科学からの視点で基礎から
Python Cookbook, 3rd Edition, David Beazley, Brian K. Jones (O'Reilly Media, 2013)
邦訳『Python クックブック 第2版』オライリー・ジャパン(2007)
Learning Python, 4th Edition, Mark Lutz(O'Reilly Media, 2009)
邦訳『初めてのPython第三版』夏目大(翻訳)オライリージャパン(2009)
Practical Programming-- An Introduction to Computer Science Using Python, Greg Wilson, Jason Montojo, Jennifer Campbell, Paul Gries(The Pragmatic Programmers, 2009)
邦訳『初めてのコンピュータサイエンス』、長尾高弘(翻訳)オライリージャパン (2010/7/23)
Data Structures and Algorithms in Python, M.T. Goodrich, R.Tamassia, M.H.Goldwasser(Wiley, 2013)
Python Algorithms(2nd ed), Magnus Lie Hetland(Apress, 2014)
An Introduction to the Analysis of AlgorithmsRobert Sedgewick, Philippe Flajolet:(Addison-Wesley, 2013)