到達目標
(1) pythonの基本文法を理解できる.
(2) numpy,matplotlibなどの基本ライブラリを利用できる.
(3) 簡単な機械学習プログラムを書ける.
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | pythonの基本文法について正しく理解している. | pythonの基本文法について理解している. | pythonの基本文法について理解していない. |
評価項目2 | 基本ライブラリを正しく利用できる. | 基本ライブラリを利用できる. | 基本ライブラリを利用できない. |
評価項目3 | 簡単な機械学習プログラムを正確に書ける. | 簡単な機械学習プログラムを書ける. | 簡単な機械学習プログラムを書けない. |
学科の到達目標項目との関係
教育方法等
概要:
最先端の科学技術を支える重要なプログラミング言語の1つがpythonである。この言語はプログラムの書きやすさ、豊富なライブラリ、および科学計算の容易さがあることから、世界最大の利用者数のある言語(2019年度)となっている。特に、人工知能のプログラムを行う技術者は確実に習得しなければならない言語である。
本科目では最初に、平行するC言語との対比を行いながら基本文法の書き方の違いについて理解を深める。次に、科学計算をし、結果を可視化するために必要な基本ライブラリの利用方法について理解を深める。最後に、機械学習の基礎について学習し、それをプログラムできるようにする。
授業の進め方・方法:
・到達目標 (1)~(4)について,中間試験および期末試験で評価する.
・評価の割合は,期末試験(30%),課題(70%)とし,期末試験を受けた者のうち50点以上(100点満点)の者を合格とする.不合格者のうち,(1)総合点が45点以上,(2)課題の提出遅れが3回未満,(3) 全課題を提出している,者は再評価試験を受験できるものとする.追認試験は再評価試験を受けたものを対象とし,特別課題提出を条件に実施する.
注意点:
本科目は「基礎プログラミング2(C言語の基本文法)の知識を習得している」ことを前提として話を進めます.重要な単元についてはC言語の復習を行いますが、C言語の基本をほとんど忘れてしまっている場合,本科目についていくのは困難です.よって、C言語の基本文法を忘れている学生は受講前に十分な復習を行ってください.
また,プログラミング科目は「予習が前提」です.一度に様々な知識を学ぶため,授業だけで十分な理解に至る学生はほぼいないと思います.アップロードされているスライドや教科書を事前に読んでください.
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
pythonの概要 / 文字の出力 |
python言語の概要を理解する.また,プログラミングエディタJupyter notebookの使い方について理解する.
|
2週 |
変数と演算子 |
変数の定義方法と使い方,計算式の立て方について理解する.
|
3週 |
制御文 |
条件分岐と繰り返しについて理解する.
|
4週 |
コレクション(1) |
リストの書き方と使い方について理解する.
|
5週 |
コレクション(2) |
タプルおよびディクショナリの書き方と使い方について理解する.
|
6週 |
関数(1) |
関数の定義方法および利用方法について理解する.
|
7週 |
関数(2) |
関数の定義方法および利用方法について理解する.
|
8週 |
中間試験
|
|
4thQ |
9週 |
クラスの使い方 |
クラスの使い方について理解する.
|
10週 |
科学計算ライブラリnumpyの基礎 |
numpyを用いた科学計算の基礎について理解する.
|
11週 |
データ可視化ライブラリmatplotlibの基礎(1) |
matplotlibを用いてグラフを描くことができるようにする.
|
12週 |
データ可視化ライブラリmatplotlibの基礎(2) |
matplotlibを用いてグラフを描くことができるようにする.
|
13週 |
機械学習(1) |
機械学習に関する基礎知識を理解する.
|
14週 |
機械学習(2) |
機械学習ライブラリscikit-learnを利用した機械学習方法を理解する.
|
15週 |
期末試験 |
|
16週 |
機械学習(3)
|
機械学習ライブラリscikit-learnを利用した機械学習方法を理解する.
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 3 | |
与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 3 | |
任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 3 | |
専門的能力 | 分野別の専門工学 | 電気・電子系分野 | 電気回路 | キルヒホッフの法則を用いて、交流回路の計算ができる。 | 2 | |
合成インピーダンスや分圧・分流の考え方を用いて、交流回路の計算ができる。 | 2 | |
交流電力と力率を説明し、これらを計算できる。 | 2 | |
電力 | 三相交流における電圧・電流(相電圧、線間電圧、線電流)を説明できる。 | 2 | |
電源および負荷のΔ-Y、Y-Δ変換ができる。 | 2 | |
対称三相回路の電圧・電流・電力の計算ができる。 | 2 | |
電力品質の定義およびその維持に必要な手段について知っている。 | 2 | |
電力システムの経済的運用について説明できる。 | 2 | |
電気エネルギーの発生・輸送・利用と環境問題との関わりについて説明できる。 | 2 | |
情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 2 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 2 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 2 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 2 | |
計算機工学 | 整数を2進数、10進数、16進数で表現できる。 | 2 | |
小数を2進数、10進数、16進数で表現できる。 | 2 | |
整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。 | 2 | |
基数が異なる数の間で相互に変換できる。 | 2 | |
評価割合
| 期末試験 | 課題 | | 合計 |
総合評価割合 | 30 | 70 | 0 | 100 |
基礎的能力 | 0 | 0 | 0 | 0 |
専門的能力 | 30 | 70 | 0 | 100 |
分野横断的能力 | 0 | 0 | 0 | 0 |