関数型言語[22C5028]

科目名
Course Title
関数型言語[22C5028]
Functional Programming
授業言語
Language
Japanese
科目区分・科目種 情報科学科 クラス 情報科学科
CCBM キャリアデザイン  
単位数 2.0単位 履修年次 2

担当教員 淺井 健一
学期 前期
曜日・時限・教室
火曜 7 8 理3-5階 情報科学科計算機室(1)

受講条件・その他注意
「データ構造とアルゴリズム」既履修者が望ましい。

授業の形態
講義,演習,対面授業のみ

教科書・参考文献
教科書:浅井健一著「プログラミングの基礎」サイエンス社。

ALH区分
通常授業として実施(11・12限等)

評価方法・評価割合
小論文(レポート)=毎回、出すプログラミング課題の採点によって行う。試験は行わない。

主題と目標
本講義では、関数型言語 OCaml を使って、関数型言語によるプログラミングと型の重要性について学習する。講義と演習の両方を行い、最終的には「メトロネットワーク最短路問題」を解くプログラムを作成する。

授業計画
第1回
OCaml の基本的な使い方。
第2回
デザインレシピの導入。
第3回
構造データ(組、レコード)とテンプレート。
第4回
再帰(1)。
第5回
再帰(2)。
第6回
ダイクストラのアルゴリズム。
第7回
リストに対する一括処理。
第8回
より複雑な再帰。
第9回
一般の再帰。
第10回
木とバリアント型。
第11回
例外処理。
第12回
モジュール。
第13回
入出力とスタードアローンのプログラム。
第14回
副作用と配列。
第15回
ヒープ。

時間外学習
授業時間内に解ききらなかったプログラミングに関する演習課題を各自、時間外に行う。

学生へのメッセージ
関数型言語は、プログラミング言語の基本的な概念を学ぶ上でも、大規模なプログラムを組む上でも、すぐれた言語です。また、型の概念は誤りの少ないプログラムを組む上で重要な役割を果たします。将来、どのようなプログラミング言語を使うことになっても役に立つと思いますので、是非、履修することを勧めます。

学生の問い合わせ先
直接またはメールで教員まで。