文理学部シラバスTOP > 文理学部 > 情報科学科(情報システム解析学科) > コンピュータ科学特論
日本大学ロゴ

コンピュータ科学特論

このページを印刷する

科目名 コンピュータ科学特論
教員名 戸田誠之助
単位数    2 学年    4 開講区分 文理学部
科目群 情報科学科
学期 前期 履修区分 選択
授業概要 関数型プログラムの入門的事項を解説する.前半1/3は,基本的な機能を備えた関数型言語を定義する.中盤1/3は,関数型言語の処理系に関する基礎的な概念を解説する.さらに,講義時間に余裕があれば,停止性判定問題の計算不可能性についても解説する.後半1/3は,関数型プログラミングの特徴的な概念を解説する.
授業のねらい・到達目標 関数型プログラミングの基本的な考え方が理解できるようになる.

この科目は文理学部(学士(理学))のディプロマポリシーDP6及びカリキュラムポリシーCP9に対応しています。
授業の方法 講義ノートと配布資料だけで学習できるように授業を進める.
本授業の事前・事後学習は,各2時間の学習を目安とする.
授業計画
1 基本的なデータ型,基本関数
【事前学習】プログラミングに関して総合的に復習する.
【事後学習】基本関数の前置記法について理解する.
2 ラムダ式,カリー化,関数の型,関数適用
【事前学習】プログラミングに関して総合的に復習する.
【事後学習】ラムダ式の形式と意味,前置記法による関数適用の形式,多引数関数のカリー化による表現について理解する.
3 条件分岐,定義文,プログラム
【事前学習】プログラミングに関して総合的に復習する.
【事後学習】条件分岐の形式と意味について理解する.
4 タプル,リスト,文字列
【事前学習】プログラミングに関して総合的に復習する.
【事後学習】タプルとリストの基本関数と構成方法について理解する.
5 再帰的定義
【事前学習】再帰呼び出しについて復習する.
【事後学習】再帰的定義によってあらゆる繰り返し処理の構造が実現できることを理解する.
6 多相性,型付け規則
【事前学習】データ型を中心にこれまでの授業内容を復習する.
【事後学習】型変数を含むデータ型の意味を理解する.
7 簡約規則,合流性
【事前学習】これまでの授業内容を復習する.
【事後学習】数学的な式変形操作によってプログラムの処理内容が厳密に定義できることを理解する.
8 停止性判定問題の計算不可能性
【事前学習】簡約規則について復習する.
【事後学習】計算不可能な問題が存在することを理解する.
9 値呼び簡約,名前呼び簡約
【事前学習】簡約規則について復習する.
【事後学習】評価戦略によって処理系の機能が異なり得ることを理解する.
10 遅延評価戦略
【事前学習】名前呼び簡約について復習する.
【事後学習】遅延評価に基づくプログラムの評価モデルを理解する.
11 高階関数
【事前学習】ラムダ式や再帰的定義を中心に,関数型言語の諸定義を復習する.
【事後学習】関数そのものがデータの一種であること,および高階関数を利用したプログラミング技法を理解する.
12 代数的データ型
【事前学習】関数型言語の諸定義を復習する.
【事後学習】代数的データ型によって様々なデータ構造が定義できることを理解する.
13 パターンマッチング
【事前学習】代数的データ型について復習する.
【事後学習】タプル,リスト,代数的データ型に基づくデータ構造はパターンマッチングによって処理されることを理解する.
14 モナド
【事前学習】これまでの授業内容を総合的に復習する.
【事後学習】例外処理,状態遷移,逐次実行などの様々な処理がモナドとして統一的に定義できることを理解する.
15 型推論
【事前学習】関数型言語の諸定義と型付け規則について復習する.
【事後学習】型注釈がなくてもプログラム構成要素のデータ型が決定できることを理解する.
16 【事前学習】

【事後学習】
17 【事前学習】

【事後学習】
18 【事前学習】

【事後学習】
19 【事前学習】

【事後学習】
20 【事前学習】

【事後学習】
21 【事前学習】

【事後学習】
22 【事前学習】

【事後学習】
23 【事前学習】

【事後学習】
24 【事前学習】

【事後学習】
25 【事前学習】

【事後学習】
26 【事前学習】

【事後学習】
27 【事前学習】

【事後学習】
28 【事前学習】

【事後学習】
29 【事前学習】

【事後学習】
30 【事前学習】

【事後学習】
その他
教科書 使用しない
参考書 使用しない
成績評価の方法及び基準 レポート(100%)
宿題を課すこともある.そのときには,宿題の結果も加味しながら成績を評価する.
オフィスアワー 毎週水曜日12:10〜13:00

このページのトップ