科目名[英文名] | |||||
関数プログラミング [Functional Programming] | |||||
区分 | 工学部専門科目等 | 選択必修 | 単位数 | 2 | |
対象学科等 | 対象年次 | 3~4 | 開講時期 | 3学期 | |
授業形態 | 3学期 | 時間割番号 | 023807 | ||
責任教員 [ローマ字表記] | |||||
BOSSARD Antoine [BOSSARD Antoine] | |||||
所属 | 工学府 | 研究室 | メールアドレス |
概要 |
プログラミングは、情報工学分野における最重要分野であり、プログラミング言語のパラダイムを理解することは、必須である。この講義では、通常の手続き型プログラミング言語とは異なる、2つのプログラミング言語のパラダイムを学ぶ。講義の前半は、Haskell言語を利用して、関数プログラミングに関して学ぶ。後半は、Prolog言語を利用して、論理プログラミングに関して学ぶ。 |
到達基準 |
(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!", 第2版 (second edition), オーム社 (Ohmsha), 2018. 電子書籍(ISBN: 978-4-274-80367-3)と紙版(POD=オンデマンド印刷. ISBN: 978- 4-274-70060-6)あり. |
参考書 |
必要に応じて適宜指示する。 |
成績評価の方法 |
期末試験によって評価する。 |
教員から一言 |
プログラミング未経験者歓迎。 |
キーワード |
関数、論理、プログラミング、Haskell、Prolog |
オフィスアワー |
講義前後 |
備考1 |
備考2 |
参照ホームページ |
開講言語 |
日本語 |
語学学習科目 |
更新日付 |
2019/06/19 14:33:28 |