到達目標
(1) 論理や数学的概念をプログラミングと関連付けて実践的に理解する.(定期試験と小テスト)
(2) 自主的,継続的に学習することができる.(課題)
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
目的・到達目標(1)の評価指標 | 論理や数学的概念について,プログラミングと関連付けて他者に説明できるレベルで理解している. | 論理や数学的概念および関連するプログラミングについて,講義で取り上げた例題を解くことができる. | 論理や数学的概念および関連するプログラミングについて,基本的な概念の定義や用語の定義を述べることができない. |
目的・到達目標(2)の評価指標 | 全ての課題を提出し,解答に創意工夫がみられる. | 全ての課題を提出している. | 課題の提出率が6割未満である. |
学科の到達目標項目との関係
学習・教育目標 (B2)
説明
閉じる
JABEE 1.2(c)
説明
閉じる
JABEE 1.2(d)(1)
説明
閉じる
JABEE 1.2(g)
説明
閉じる
教育方法等
概要:
情報系技術者に求められる素養としての専門的な数学を学ぶ.とくに本講義では論理や数学的概念をプログラミングと関連付けて実践的に理解することを目標とし,そのためのツールとして関数型プログラミング言語Haskellを活用する.講義を通じて,抽象的な概念はHaskellにおける具体的な表現と結び付けられる.
(科目情報)
教育プログラム 第1学年 ◎科目
授業の進め方・方法:
原則として毎回,授業内容の理解を問う小テストを実施するので,授業を良く聞いて理解に努めること.
(参考図書)
[1] Kees Doets and Jan van Eijck, The Haskell Road To Logic, Maths And Programming, College Publications.
[2] Makinson, D., Sets, Logic and Maths for Computing, Springer.
[3] Susanna S. Epp, Discrete Mathematics with Applications, Brooks Cole.
(事前学習)
参考図書 [1] の該当箇所を読んでおくことが望ましい.
注意点:
(履修上の注意)
本科目は学修単位であり,2単位の修得には授業時間外の学修等とあわせて90単位時間の学修が必要な科目である.本科目では授業時間外の学修として課題を課す.
配布プリントを整理するためのクリアファイル(A4サイズ)を用意すること.
(自学上の注意)
参考図書の必要箇所を参照して予習・復習を行うこと.授業内容は [1] に基づく.[2] は情報数学の教科書として書かれた他の本.[3] は問題が豊富で演習に役立つ.
課題に取り組むために,自宅でもHaskellのプログラミング環境を構築することが望ましい.(自宅で環境を構築できない場合は,放課後に情報システム実験室を利用すること)
評価
(総合評価)
総合評価 = 定期試験 × 0.5 + 小テスト × 0.3 + 課題 × 0.2
(単位修得の条件について)
全課題の60%以上の提出を単位修得の条件とする.
( 再試験について)
年度末の再試験期間に実施する.受験資格者については試験解説時にアナウンスする.
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
イントロダクション |
Haskellの概要について理解する. (MCC V-D)
|
2週 |
論理(1) |
論理結合子,論理的妥当性について理解する. (MCC V-D)
|
3週 |
論理(2) |
量化子,λ抽象について理解する. (MCC V-D)
|
4週 |
証明(1) |
証明の様式,証明の規則 (論理結合子) について理解する. (MCC V-D)
|
5週 |
証明(2) |
証明の規則 (量化子,背理法) について理解する. (MCC V-D)
|
6週 |
集合,型,リスト(1) |
集合,Russellのパラドックスについて理解する. (MCC V-D)
|
7週 |
集合,型,リスト(2) |
集合の演算,リストについて理解する. (MCC V-D)
|
8週 |
関係(1) |
直積,関係,関係の性質,順序関係,同値関係について理解する. (MCC V-D)
|
4thQ |
9週 |
後期中間試験 |
目的・到達目標(1)
|
10週 |
後期中間試験の解答と解説 / 関係(2) |
同値類と分割について理解する.
|
11週 |
関数(1) |
全射,単射,全単射について理解する. (MCC V-D)
|
12週 |
関数(2) |
合成と逆,部分関数,関数と同値関係について理解する. (MCC V-D)
|
13週 |
帰納法と再帰(1) |
数学的帰納法,再帰的定義の性質について理解する. (MCC V-D)
|
14週 |
帰納法と再帰(2) |
木とリストに関する帰納法と再帰について理解する. (MCC V-D)
|
15週 |
学年末試験 |
目的・到達目標(1)
|
16週 |
学年末試験の解答と解説 |
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | プログラミング言語は計算モデルによって分類されることを説明できる。 | 4 | 後1 |
主要な計算モデルを説明できる。 | 4 | 後1 |
情報数学・情報理論 | 集合に関する基本的な概念を理解し、集合演算を実行できる。 | 4 | 後6,後7 |
集合の間の関係(関数)に関する基本的な概念を説明できる。 | 4 | 後8,後11,後12 |
論理代数と述語論理に関する基本的な概念を説明できる。 | 4 | 後2,後3,後4,後5,後8 |
離散数学に関する知識をアルゴリズムの設計、解析に利用することができる。 | 4 | 後13,後14 |
評価割合
| 試験 | 小テスト | 課題 | 合計 |
総合評価割合 | 50 | 30 | 20 | 100 |
専門的能力 | 50 | 30 | 20 | 100 |