概要:
現実の世界で起きる様々な現象を数理を用いて表現する.数式によって表現することで,その現象を本質を理解する.また,モデルに与える入力によって,どのように出力が変化するか観察することで予測や意思決定にも応用が可能となる.本講義では,数学とコンピュータを用いて数理モデリングを行うデータサイエンスを中心に講義する.
授業の進め方・方法:
受講には各自でPCとネット通信環境が必要となる.また,プログラミング言語Pythonを動作させるための環境設定は自分自身で行う必要がある.また,適宜課題を課す.課題に取り組むことで,数理を理解する.また,実装と計算機実験によって理解を深めると共に,将来,自らが直面する課題に適用できるようにする.
試験は行わなず,課題によって評価する.
注意点:
・授業90分に対して180分以上の予習・復習を行うこと.
・数学(線形代数,解析学,確率)を用いるので,復習しておくこと.
・プログラミング言語としてPythonを用いる.言語は問わないが,何らかのプログラミング言語を習得しておくこと.
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 4 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 5 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 5 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 4 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 4 | |
プログラミング言語は計算モデルによって分類されることを説明できる。 | 5 | |
主要な計算モデルを説明できる。 | 5 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 6 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 4 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 5 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 4 | |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 4 | |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 4 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 4 | |
ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 5 | |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 5 | |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 5 | |
情報数学・情報理論 | 集合に関する基本的な概念を理解し、集合演算を実行できる。 | 4 | |
集合の間の関係(関数)に関する基本的な概念を説明できる。 | 4 | |
ブール代数に関する基本的な概念を説明できる。 | 4 | |
論理代数と述語論理に関する基本的な概念を説明できる。 | 4 | |
離散数学に関する知識をアルゴリズムの設計、解析に利用することができる。 | 4 | |
コンピュータ上での数値の表現方法が誤差に関係することを説明できる。 | 4 | |
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。 | 4 | |
コンピュータ向けの主要な数値計算アルゴリズムの概要や特徴を説明できる。 | 5 | |
情報量の概念・定義を理解し、実際に計算することができる。 | 4 | |
情報源のモデルと情報源符号化について説明できる。 | 4 | |
通信路のモデルと通信路符号化について説明できる。 | 4 | |
分野横断的能力 | 総合的な学習経験と創造的思考力 | 総合的な学習経験と創造的思考力 | 総合的な学習経験と創造的思考力 | 工学的な課題を論理的・合理的な方法で明確化できる。 | 5 | |
公衆の健康、安全、文化、社会、環境への影響などの多様な観点から課題解決のために配慮すべきことを認識している。 | 5 | |