計算論
Calculation theory

授業科目区分

専門科目
ハイブリッド科目(※対面とオンライン併用)
アクティブ・ラーニング科目ではありません。
専門科目 数理情報系

わくラボの使用について:使用しない
選択科目 2単位 4年次 前期


担当教員

安藤 友晴

研究室のホームページ,SNSなど

NDC

410.9

科目分類コード

60010

オフィスアワー

時間割決定後に授業等で連絡します。

この科目のキーワード

関数型言語/Haskell/型システム/簡約/カリー化/ラムダ計算

説明に使用する言語

主として日本語を使用する

使用する教材の言語

日本語で記述された資料を使用する

この科目に必要な日本の文化・事情の知識について

到達目標


・プログラミング言語における型とは何か説明できる
・(ベータ)簡約とは何か説明できる
・カリー化とは何か説明できる
・ラムダ計算の入門的事項について説明できる
・Haskellによるリスト・再帰・高階関数を用いたプログラムを作成できる

ディプロマポリシーとの関連性

専門能力:情報メディアの開発とその多面的な活用ができる能力

授業の簡単な概要

関数型言語Haskellを用いて、型システム・ラムダ計算の基礎事項について学ぶ。

学習内容

  1. 関数型言語とHaskell
  2. Haskellのリスト操作
  3. Haskellの型と関数
  4. 関数のカリー化
  5. 型 (1)
  6. 型 (2)
  7. 関数定義 (1)
  8. 関数定義 (2)
  9. 関数定義 (3)
  10. リスト内包表記 (1)
  11. リスト内包表記 (2)
  12. 再帰 (1)
  13. 再帰 (2)
  14. 高階関数 (1)
  15. 高階関数 (2)

授業時間外での学修

授業終了後に毎回課題を出すので、次回授業開始時までに確実に提出すること。課題について考察することは授業の内容を深く復習することにつながるので、真剣に取り組むこと。基本的に授業時間外の学修は1コマあたり4時間を必要とする。

成績評価の基準と方法


(S)キーワードに記された各領域の考え方について他者に説明でき、方法を適切に応用できる。
(A)キーワードに記された各領域の考え方を正しく理解し、方法を適切に実践できる。
(B)キーワードに記された各領域の考え方の重要な事項について理解し、指示に則って方法を実践できる。
(C)キーワードに記された各領域の考え方の主要な事項について理解し、方法を概ね実践できる。

達成度評価(評価方法:合計100点)

試験:      / 100
レポート:    / 100
小テスト(中間テストなど含む): / 100
小レポート(中間レポートなどを含む): 100 / 100
作品:      / 100
ポートフォリオ: / 100
その他:

教科書・テキスト

担当教員が自作した資料を配布する

参考図書・参考文献等

授業中に別途指示する

履修もしくは取得していなければいけない科目

プログラミング基礎

学習支援

提出されたレポートに対して、添削を行い、改善点を指摘する。

授業に関連する実務経験