このページでは、お茶の水女子大学、理学部、情報科学科の2年生を 対象とした授業「関数型言語」のビデオほかを公開しています。 この授業は反転授業 (flipped class) を行っており、 受講生は授業前に以下の予習を求められます。授業時間中は特に内容の説明はせず、 受講生は別途、示される練習問題とレポート問題を各自、解きます。 その際に生じた疑問点等について授業で個別に対応しています。
- 毎回の授業用に用意されたビデオを見て、 予習クイズに答えること。
- 教科書の該当部分を読んで、 教科書問題に答えること。
トピック | 教科書 | ビデオ | スライド | 予習問題 | プログラム | |
第1回 | 基本データ型、変数、関数 | 4.5章まで | (10:57) | スライド | 予習問題 | |
第2回 | 条件文、デザインレシピ | 6 章まで | (13:06) | スライド | 予習問題 | chocolate.ml, デザインレシピ入力ページ |
第3回 | 構造データとテンプレート | 8 章まで | (17:39) | スライド | 予習問題 | kyori.ml, tsuuchi.ml |
第4回 | リストと再帰 | 9 章まで | (20:21) | スライド | 予習問題 | contain_zero.ml, sum.ml |
第5回 | いろいろな再帰関数 | 11 章まで | (16:26) | スライド | 予習問題 | prefix.ml, max_score.ml |
第6回 | ダイクストラ法 | 12 章まで | (08:40) | スライド | 予習問題 | |
第7回 | 関数の一般化と map | 13 章まで | (16:04) | スライド | 予習問題 | map1.ml, map2.ml, map3.ml, hikaku.ml |
第8回 | いろいろな高階関数 | 14 章まで | (14:45) | スライド | 予習問題 | filter.ml |
第9回 | 一般の再帰 | 16 章まで | (12:09) | スライド | 予習問題 | quick_sort.ml |
第10回 | 再帰的なデータ構造 | 17 章まで | (17:19) | スライド | 予習問題 | jikoku24.ml, sum_tree.ml, search.ml |
第11回 | 例外と例外処理 | 18 章まで | (21:12) | スライド | 予習問題 | tsuuchi2.ml |
第12回 | モジュールと抽象データ型 | 19 章まで | (14:41) | スライド | 予習問題 | inserts.ml |
付録:赤黒木 | 20 章まで | (11:29) | スライド | |||
第13回 | 逐次実行 | 21 章まで | (09:35) | スライド | 予習問題 | gcd.ml |
第14回 | 値の書き換えと参照透過性 | 22 章まで | (09:51) | スライド | 予習問題 | fib.ml |
第15回 | ヒープ | 24 章まで | (12:00) | スライド | 予習問題 |
注:第3回のビデオで「OCaml のフィールド名は、 別のレコードのフィールド名とも重なってはいけない」旨、述べていますが、 この制限は OCaml 4.01.0 以降では取り除かれました。
This document was translated from LATEX by HEVEA.