[ Ohori's home page | 大堀淳のホームページ | 大堀研究室 ]

「プログラミング言語 Standard ML 入門」を用いたシラバスの例


以下は,筆者が実際にこのテキストで講義を行った例である. 情報系大学院初年度向けの講義ではあるが,受講者は,文系を含む情報系学部以外からの進学者を含め関数型プログラミングの経験が全く無い者も多かった. 評価は,1回の中間試験と講義終了後に提出を求めたプログラミングプロジェクトにより行った. 参考までに,これが筆者が実際に使用した中間試験の問題である.(JAISTの「プログランミング方法論」受講予定者の方へ,本年度も同様の問題を出すことを意味するものではない.)
講義名 「プログランミング方法論」

担当
大堀 淳

目的
Standard MLを用いて,関数やデ−タ構造の再帰的定義,高階関数,静的型推論,型の多相性,例外,モジュール等の現代的なプログラミングの基本概念を理解し,それらを使用したプログラミング技術を習得する.

教科書
大堀 淳 著,「プログラミング言語Standard ML入門」,共立出版,2001,(ISBN 4-320-12024-8)

参考書
  1. L. C. Paulson, ``ML for the Working Programmer (2nd edition)'', Cambridge University Press, 1996 (ISBN 0-521-56543-X)
  2. C. Okasaki, ``Purely Functional Data Structures'', Cambridge University Press, 1999 (ISBN 05216635041998)
  3. G. Cousineau, and M. Mauny, ``The Functional Approach to Programming'', Cambridge University Press, 1998

必要とされる基礎知識,他科目との関連
プログラムやファイルといったコンピュータシステムに関する初歩的な概念や 集合,関係,関数などの基本的な数学的構造以外は特に基礎知識は必要としない. プログラミングに興味をもつすべての学生を対象とする.

講義計画
  1. 関数プログラミングの原理 (式によるプログラムの構成と評価,テキスト1章)
  2. 関数プログラミングの基礎 (1) (値の束縛,関数の定義と利用,テキスト第2章)
  3. 関数プログラミングの基礎 (2)(相互再帰的関数,高階の関数,テキスト第2章)
  4. 型システム(1)(静的型システム,型推論,型の多相性,多重定義,テキスト第3章)
  5. 型システム(2)(種々の基本型,レコ−ド,テキスト第4,5章)
  6. リストの扱い(リスト型,パタ−ンマッチング,汎用リスト処理関数,テキスト第6章)
  7. 再帰的デ−タ型の定義と利用(2分木の扱い,無限なデ−タ構造,テキスト第7章)
  8. 試験
  9. 手続き的機能の表現(例外と参照型,テキスト第8,9章)
  10. モジュールシステム (1)(モジュ−ルの定義と利用,テキスト第10章)
  11. モジュールシステム (2)(内部構造の隠蔽,ファンクタの利用,テキスト第10章)
  12. ライブラリを用いたプログラミング(1)(基本ライブラリの利用,テキスト第12章)
  13. ライブラリを用いたプログラミング(2)(高速ソ−ト関数,字句解析など,テキスト第13,14,15章)
  14. プログラミングプロジェクト(1)(テキスト第18章)
  15. プログラミングプロジェクト(2)(テキスト第18章)

大堀 淳 (Atsushi Ohori) / 〒980-8577 仙台市青葉区片平2ー1ー1 電気通信研究所 / 居室 1号館 S401 / ohori at riec dot tohoku dot ac dot jp / Tel: 022 217-5510 / FAX: 022 217-5513