ゼロから学ぶPython
この講義ノートについて
これは、大学の学部二年生向けのプログラミングの講義ノートとして書かれたものである。講義の最初に30分程度説明をして、その後の60分実習をする形式とし、全部で14回の予定である。これまでプログラムをほとんどしたことがない学生を対象としている。Google Colabを使うことで環境構築をせず、ブラウザだけで実習形式で学ぶ。言語としてはPythonを用いるが、Pythonを学ぶことそのものを目的とせず、プログラミングの考え方や、計算機の仕組み、基本的なアルゴリズムの考え方などを学ぶことを目的とする。
なお、この講義ノートを元にした書籍が出版されている。
- 書籍版「ゼロから学ぶPythonプログラミング」
- Kindle版「ゼロから学ぶPythonプログラミング」
はじめに
- 講義スライド (「Pythonの概要とGoogle Colabの使い方」と共通)
- なぜPythonを学ぶのか。「プログラマ的」発想について。
Pythonの概要とGoogle Colabの使い方
- 講義スライド (「はじめに」と共通)
- Google Colabの使い方に慣れる
- Pythonに触れてみる
- 余談:タッチタイピングについて
条件分岐と繰り返し処理
- 講義スライド
- 組み込み型
- 関数の宣言と利用方法
- for文による繰り返し処理
- if文による条件分岐
- ニュートン法
- 余談:バグについて
関数とスコープ
- 講義スライド
- while文
- ループのスキップと脱出
- 関数
- スコープ
- ロジスティック写像
- Collatz問題
- 余談:数論について
リストやタプルの使い方
- 講義スライド
- リスト
- タプル
- 値のコピーとリストのコピーの違い
- 参照の値渡し
- リスト内包表記
- コッホ曲線
- 余談:OSを作ってミュージシャンになった人
文字列処理
- 講義スライド
- 文字列処理
- 辞書
- 正規表現
- 形態素解析
- ワードクラウド
- 余談:国際化は難しい
ファイル操作
- 講義スライド
- ファイルシステムについて
- ファイルの読み込み
- CSVファイルの扱い
- データ解析
- 余談:消えていくアイコンのオリジナルたち
再帰呼び出し
- 講義スライド
- 再帰呼び出しとは
- 階段の登り方問題
- 再帰による迷路の解法
- 余談:進化するオセロAIを作った話
クラスとオブジェクト指向
- 講義スライド
- オブジェクト指向とは?
- クラスとインスタンス
- オブジェクト指向プログラミングの実例
- 割り箸ゲーム
- 余談:心理的安全性について
NumPyとSciPyの使い方
- 講義スライド
- NumPyの使い方
- SciPyの使い方
- シュレーディンガー方程式と固有値問題
- 特異値分解と画像近似
- 余談:人外について
Pythonが動く仕組み
- 講義スライド
- コンピュータはなぜ動くのか?
- Pythonが動く仕組み
- 抽象構文木
- バイトコード
- 余談:機械がやるべきこと、やるべきでないこと
動的計画法
- 講義スライド
- 組み合わせ最適化問題
- 貪欲法
- 全探索
- メモ化再帰による動的計画法
- 余談:エレファントな解法
乱数を使ったプログラム
- 講義スライド
- モンテカルロ法
- 疑似乱数
- モンティ・ホール問題
- パーコレーション
- 余談:疑似乱数とゲーム
数値シミュレーション
- 講義スライド
- 弾道計算
- 反応拡散方程式
- 余談:パーソナルスーパーコンピュータ
簡単な機械学習
- 講義スライド
- 機械学習の概要
- 重回帰分析
- DCGAN
- 余談:AIに悪意はあるか
略解と解説
- 各章の問題の略解と解説
付録:Pythonのインストールと実行方法
(Google Colabを使う場合は不要)
- Anacondaのインストール方法
- Pythonの実行方法
参考文献
- Pythonを学ぶために
- プログラムを学ぶために
- 数学や科学について
- プロジェクトについて
正誤表
書籍版「ゼロから学ぶPythonプログラミング」の正誤表です。ウェブ版では全て修正されています。
ライセンス
Copyright (C) 2018-present Hiroshi Watanabe
この文章と絵(pptxファイルを含む)はクリエイティブ・コモンズ 4.0 表示 (CC-BY 4.0)で提供する。
This article and pictures are licensed under a Creative Commons Attribution 4.0 International License.
本リポジトリに含まれるプログラムは、MITライセンスで提供する。
The source codes in this repository are licensed under the MIT License.
なお、HTML版の作成に際し、CSSとしてgithub-markdown-cssを利用しています。