科目名[英文名]
関数プログラミング   [Functional Programming]
区分 工学部専門科目  選択必修   単位数 2 
対象学科等   対象年次 34  開講時期 3学期 
授業形態 3学期  時間割番号 023680
責任教員 [ローマ字表記]
BOSSARD Antoine   [BOSSARD Antoine]
所属 工学府 研究室   メールアドレス

概要
プログラミングは、情報工学分野における最重要分野であり、プログラミング言語のパラダイムを理解することは、必須である。この講義では、通常の手続き型プログラミング言語とは異なる、2つのプログラミング言語のパラダイムを学ぶ。講義の前半は、Haskell言語を利用して、関数プログラミングに関して学ぶ。後半は、Prolog言語を利用して、論理プログラミングに関して学ぶ。


Google Classroom コード【vclw7go】
到達基準
(1) 関数プログラミングと論理プログラミングの理解ができる。
(2) Haskell言語およびProlog言語を利用して、シンプルなプログラムを書くことができる。
ディプロマポリシーについては、履修案内のカリキュラムマップを参照してください。
授業内容
関数プログラミング
第1回 関数プログラミングの紹介
第2回 GHCi環境、Haskellシンタクスと評価、変数とデータ型
第3回 関数とカリー化、signaturesと契約、スコープ
第4回 リストとタプル、無限リストと遅延評価、リスト内包表記
第5回 再帰(augmenting recursionと末尾再帰)
第6回 パターンマッチング、応用例
第7回 演習

論理プログラミング
第8回 論理プログラミングの紹介
第9回 事実 (facts)、規則 (rules)、質問 (queries)、変数 (variables)
第10回 再帰ルールと再帰プログラミング
第11回 リスト
第12回 演算、カット、否定
第13回 応用例
第14回 演習

関数プログラミングと論理プログラミング
第15回 試験と解説
履修条件・関連項目
履修条件は特にない。ただし、本学の標準時間数に準ずる予習と復習を行うこと。

テキスト・教科書
Antoine Bossard, "A Gentle Introduction to Functional Programming in English
- 関数プログラミング入門, in English!", 第3版 (third edition), オーム社
(Ohmsha), 2020. 電子書籍(ISBN: 978-4-274-80409-0)と紙版(POD=オンデマンド印刷。
ISBN: 978-4-274-70106-1)あり
参考書
必要に応じて適宜指示する。
成績評価の方法
関数および論理プログラミングの理解とHaskellおよびProlog言語による簡単なプログラム記述能力を確認する期末試験によって評価する。

教員から一言
プログラミング未経験者歓迎。

キーワード
関数、論理、プログラミング、Haskell、Prolog
オフィスアワー
講義前後
備考1
備考2
参照ホームページ
開講言語
日本語
語学学習科目
更新日付
2022/09/08 12:10:46