本講義ではプログラムを作成するための基本的な知識と技術を身につける. プログラミングの目的は, データおよびその処理手順であるアルゴリズムを見つけ, そのアルゴリズムに沿った計算のプロセス全体を定式化し, プログラミング言語を用いて書き下すことである.
プログラミングにおける本質的な問題と技法は, 応用分野やプログラミング言語には非依存である. そのため, プログラミングの初級学習では, アルゴリズムの基本的で重要な考え方を明確に映し出す言語を利用することが望ましい. 本講義の内容は本質的には言語非依存であるが,講義ではScheme を用いてプログラミングの基本的な知識と技術を身につける予定である.
プログラミング言語Scheme は強力な制御機構を持ちながら言語仕様が小型であり, 明快かつ簡潔な意味論を持つ言語である. そのため覚えるべきことは少なく, プログラミングの初期段階から, 簡潔で正しいプログラム作成を習得することが可能である.
1) 講義内容の概要説明,プログラムの設計レシピ,簡単なプログラム
2) プログラム,式,関数,条件
3) 様々なデータ
4,5) 任意長データ処理(リスト処理)
6) 設計の抽象化
7) 値としての関数を使った抽象化,高階関数
8,9) 再帰とそのバリエーション
10) 知識の蓄積(accumulator)
11,12) 演習, 高度な話題(状態と副作用,ラムダ式など)