到達目標
プログラミング言語は,情報工学のみならず,様々な工学分野,自然科学,社会科学,人文科学など幅広い分野で利用されている.本講義では,直面する課題に対して適切なプログラミング言語によって実装できるように,複数のプログラミングを修得する.また,修得したプログラミング言語によって課題を解決する.これは,データサイエンスの基礎となるものであり,数理とプログラミング言語を用いて,課題を解決するための基礎を修得する.特にプログラミング言語IではPythonの修得を行う.
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
プログラミング | 自ら適切な言語を修得し,実装できる. | 講義で学んだ言語で実装できる. | 実装できない. |
データサイエンス | 適切な数理モデルを自ら選択できる. | 数理モデルの基礎を理解できる. | 数理モデルを理解できない. |
ソフトウェア設計 | 自ら仕様を定義し,開発工程に従って実装できる. | 作りたい物をイメージし,実装できる. | 設計ができない. |
学科の到達目標項目との関係
教育方法等
概要:
情報工学の中心的な柱であるプログラミング言語の修得は不可欠なものである.本講義では,様々なプログラミング言語の修得を目的とすると共に,課題に対して適切なプログラミング言語を選択できるようになるようにする.また,現実世界のデータを実際に解析するために数理モデリングの基礎を学ぶと共に修得したプログラミング言語によって,実装を行うことで深い理解を行う.特にプログラミング言語IではPythonの修得を行う.
授業の進め方・方法:
授業は教室で配布資料等によって講義形式で行う.また,適宜課題を課す.課題に取り組むことで指定するプログラミング言語を修得する.
試験は行わなず,課題によって評価する.
注意点:
3年生までに修得したC言語を復習しておくこと.
数学(線形代数,解析学)を復習しておくこと.
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス |
本科目の方針や評価方法を説明する. プログラミング言語の分類について概要を理解する.
|
2週 |
Pythonの基礎 |
Pythonの基礎を学ぶ.
|
3週 |
Numpy |
Pythonのライブラリの一つであるNumpyを学ぶ.
|
4週 |
Matplotlib |
Pythonのライブラリの一つであるMatplotlibを学ぶ.
|
5週 |
最小二乗法 |
最小二乗法について学ぶ.
|
6週 |
最小二乗法の実装 |
最小二乗法をPythonによって実装する.
|
7週 |
k-means法 |
k-means法について学ぶ.
|
8週 |
k-means法の実装 |
k-means法をPythonによって実装する.
|
2ndQ |
9週 |
パーセプトロン |
パーセプトロンについて学ぶ.
|
10週 |
パーセプトロン |
パーセプトロンをPythonによって実装する.
|
11週 |
パーセプトロン |
パーセプトロンをPythonによって実装する.
|
12週 |
発展課題 |
これまでの復習と発展課題に取り組む.
|
13週 |
Pythonによるゲーム作成(1) |
hangmanを実装する.他の言語と比較し,言語の違いによって実装にどのような差が生じるか検証する.
|
14週 |
Pythonによるゲーム作成(2) |
hangmanを実装する.他の言語と比較し,言語の違いによって実装にどのような差が生じるか検証する.
|
15週 |
Pythonによるゲーム作成(3) |
hangmanを実装する.他の言語と比較し,言語の違いによって実装にどのような差が生じるか検証する.
|
16週 |
|
|
評価割合
| 課題 | 合計 |
総合評価割合 | 100 | 100 |
基礎的能力 | 20 | 20 |
専門的能力 | 40 | 40 |
分野横断的能力 | 40 | 40 |