この授業は「プログラミング講義」「プログラミング演習」「計算機科学講義」から成る。
プログラミング講義・演習では、デザインレシピに沿って問題を分析し、プログラムを設計することを学ぶ。
計算機科学講義では論理回路、機械語、低水準/高水準言語、計算複雑さ・計算可能性などを俯瞰する。さらに科学技術者倫理についても議論する。
この授業は数理・計算科学系でのすべての勉強・研究の出発点となるものである。
プログラミングおよび計算機科学の理論・技術の基礎を身に付ける。
プログラミング,計算機科学,科学技術者倫理
✔ 専門力 | 教養力 | コミュニケーション力 | 展開力(探究力又は設定力) | ✔ 展開力(実践力又は解決力) |
講義と演習を行う。
授業計画 | 課題 | |
---|---|---|
第1回 | (プログラミング講義1)関数定義とデザインレシピ | 授業時に指示する。 |
第2回 | (プログラミング演習1)関数定義とデザインレシピ | 授業時に指示する。 |
第3回 | (計算機科学講義1)論理回路,ブール代数 | 授業時に指示する。 |
第4回 | (プログラミング講義2)条件文とパターンマッチ | 授業時に指示する。 |
第5回 | (プログラミング演習2)条件文とパターンマッチ | 授業時に指示する。 |
第6回 | (計算機科学講義2)機械語 | 授業時に指示する。 |
第7回 | (プログラミング講義3)リストと再帰 | 授業時に指示する。 |
第8回 | (プログラミング演習3)リストと再帰 | 授業時に指示する。 |
第9回 | (計算機科学講義3)浮動小数点,計算の精度 | 授業時に指示する。 |
第10回 | (プログラミング講義4)より複雑なデータ構造 | 授業時に指示する。 |
第11回 | (プログラミング演習4)より複雑なデータ構造 | 授業時に指示する。 |
第12回 | (計算機科学講義4)プログラミングパラダイム,プログラム検証 | 授業時に指示する。 |
第13回 | (プログラミング講義5)高階関数と多相関数 | 授業時に指示する。 |
第14回 | (プログラミング演習5)高階関数と多相関数 | 授業時に指示する。 |
第15回 | (計算機科学講義5)計算可能性 | 授業時に指示する。 |
第16回 | (プログラミング講義6)一般的な再帰とアキュムレータ | 授業時に指示する。 |
第17回 | (プログラミング演習6)一般的な再帰とアキュムレータ | 授業時に指示する。 |
第18回 | (計算機科学講義6)計算複雑さ | 授業時に指示する。 |
第19回 | (プログラミング講義7)まとめと応用 | 授業時に指示する。 |
第20回 | (プログラミング演習7)まとめと応用 | 授業時に指示する。 |
第21回 | (計算機科学講義7)科学技術者倫理 | 授業時に指示する。 |
学修効果を上げるため,教科書や配布資料等の該当箇所を参照し,「毎授業」授業内容に関する予習と復習(課題含む)をそれぞれ本学の学修規程で定められた時間を目安に行う。
授業時に指示する。
How to Design Programs (https://htdp.org/)
「プログラミング演習」67%、「計算機科学講義」33%の配点で評価する。
この科目は数理・計算科学系の学生だけが履修できる。
情報リテラシ第一,第二(LAS.I111, LAS.I112)を履修していること,または同等の知識があることを条件とする。