この授業は、計算機科学講義、プログラミング講義、およびプログラミング演習からなる。
計算機科学講義では、計算機の仕組みや計算の理論に関するトピックを扱う。
プログラミング講義・演習では、Scala 言語によるプログラミングを通して、問題解決の手順を紹介する。
最終回では、科学技術者倫理について議論する。
この授業は数理・計算科学系でのすべての勉強・研究の出発点となるものである。
計算機科学およびプログラミングの基本的な知識や技能を身に付ける。
計算機科学,プログラミング,科学技術者倫理
✔ 専門力 | 教養力 | コミュニケーション力 | 展開力(探究力又は設定力) | ✔ 展開力(実践力又は解決力) |
講義と演習を行う。
授業計画 | 課題 | |
---|---|---|
第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) Nパズル | 授業時に指示する。 |
第20回 | (プログラミング演習7) Nパズル | 授業時に指示する。 |
第21回 | (計算機科学講義7) 科学技術者倫理 | 授業時に指示する。 |
学修効果を上げるため,教科書や配布資料等の該当箇所を参照し,毎回授業内容に関する予習と復習(課題を含む)をそれぞれ本学の学修規程で定められた時間を目安に行う。
授業時に指示する。
Felleisen et al. How to Design Programs, Second Edition. (https://htdp.org/)
講義中に行う筆記式のクイズ (30%) およびプログラミング演習の課題 (70%) の出来で評価する。
ただし、単位の取得にはクイズと演習課題の点数がともに60点以上であることが必要となる。
この科目は数理・計算科学系の学生だけが履修できる。
情報リテラシ第一,第二(LAS.I111, LAS.I112)を履修していること,または同等の知識があることを条件とする。