到達目標
(1) pythonの基本文法を理解できる.
(2) numpy,matplotlibなどの基本ライブラリを利用できる.
(3) 基礎的な人工知能プログラミングができる.
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
| 評価項目1 | pythonの基本文法について正しく理解している. | pythonの基本文法について理解している. | pythonの基本文法について理解していない. |
| 評価項目2 | ライブラリを正しく利用できる. | ライブラリを利用できる. | ライブラリを利用できない. |
| 評価項目3 | 基礎的な人工知能プログラミングが正しくできる. | 基礎的な人工知能プログラミングができる. | 基礎的な人工知能プログラミングができない. |
学科の到達目標項目との関係
教育方法等
概要:
最先端の科学技術を支える重要なプログラミング言語の1つがpythonである.この言語はプログラムの書きやすさ,豊富なライブラリ,および科学計算の容易さがあることから,世界中で利用される人気の言語となっている.特に,人工知能(AI)関連のプログラムを行う技術者は習得すべき言語である.
本科目では最初に,並行して学習しているC言語との対比を行いながら,基本文法を習得する.次に.科学計算の実装方法,結果を可視化するために必要な基本ライブラリの利用方法について習得する.最後に、人工知能技術の基礎について学習し,それを実装できるようにする.
授業の進め方・方法:
・到達目標 (1)~(3)について,中間試験および課題で評価する.
・評価の割合は,中間試験30%,課題70%とし,50点以上(100点満点)の者を合格とする.不合格者のうち,(1)総合点が45点以上,(2)課題の提出遅れが10日以内,(3) 全課題を提出している,者は再評価試験を受験できるものとする.追認試験は行わない.
注意点:
・本科目の履修に当たっては「基礎プログラミング2(C言語の基本文法)の知識を習得している」ことが望ましい.知識が曖昧な場合は,予習時に次回授業の単元のC言語部分をあらかじめ復習しておくこと.授業中にC言語のふりかえり学習もやや詳しく行うが,自分で復習しておいた方が断然理解が早く,両言語とも知識が深まりやすい.
・また,プログラミング科目は「予習が前提」である.一度に様々な知識を学ぶため,授業だけで十分な理解に至る学生はほぼいない.予習においてアップロードされている次回授業のスライドや教科書の学習単元部分を事前に読むこと.
・提出遅れは1日につき,課題点の最終成績から1点減点する.遅れることが無いよう,計画立てて課題に取り組むこと.
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
| 後期 |
| 3rdQ |
| 1週 |
概論 / Colabノートブックの使い方(pp. 2-13) |
python言語の概要を理解する.また,google Colaboratoryの使い方について理解する.
|
| 2週 |
変数と演算子 / 文字入出力の制御(pp. 16-57) |
変数の定義方法と使い方,計算式の立て方,文字入出力の制御について理解する.
|
| 3週 |
制御文(1)(pp. 60-74,79-81) |
if文とwhile文について理解する.
|
| 4週 |
制御文(2)(pp.75-91) |
for文と繰り返しの中断方法を理解する.
|
| 5週 |
コレクション(1)(pp. 94-127) |
リストの書き方と使い方について理解する.
|
| 6週 |
コレクション(2)(pp. 138-154) |
タプル,ディクショナリの書き方と使い方について理解する.
|
| 7週 |
関数(pp. 164-189) |
関数の定義方法および利用方法について理解する.
|
| 8週 |
中間試験 |
|
| 4thQ |
| 9週 |
クラスとモジュール / 他者が利用するリソースの使い方(p. 212, pp. 215-220, 243-254) |
クラスおよびパッケージの使い方について理解する.
|
| 10週 |
画像処理プログラミング |
opencv-pythonを用いた画像処理方法について理解する.
|
| 11週 |
科学計算ライブラリの使い方(pp. 361-363) |
NumpyとMatplotlibの基本的な使い方を理解する.
|
| 12週 |
機械学習(pp. 377-385) |
Scikit-learnパッケージを用いた機械学習の実践方法を理解する.
|
| 13週 |
深層学習の基礎 |
Tensorflowを用いた深層学習の実践方法を理解する.
|
| 14週 |
畳み込みニューラルネットワーク |
畳み込みニューラルネットワークの実装方法について理解する.
|
| 15週 |
転移学習 |
大規模学習済みモデルの転移学習方法について理解する.
|
| 16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
| 分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
| 基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを知っている。 | 2 | |
| 与えられた基本的な問題を解くための適切なアルゴリズムを構築することができる。 | 2 | |
| 任意のプログラミング言語を用いて、構築したアルゴリズムを実装できる。 | 2 | |
| 専門的能力 | 分野別の専門工学 | 電気・電子系分野 | 電気回路 | キルヒホッフの法則を用いて、交流回路の計算ができる。 | 2 | |
| 合成インピーダンスや分圧・分流の考え方を用いて、交流回路の計算ができる。 | 2 | |
| 交流電力と力率を説明し、これらを計算できる。 | 2 | |
| 電力 | 三相交流における電圧・電流(相電圧、線間電圧、線電流)を説明できる。 | 2 | |
| 電源および負荷のΔ-Y、Y-Δ変換ができる。 | 2 | |
| 対称三相回路の電圧・電流・電力の計算ができる。 | 2 | |
| 電力品質の定義およびその維持に必要な手段について知っている。 | 2 | |
| 電力システムの経済的運用について説明できる。 | 2 | |
| 電気エネルギーの発生・輸送・利用と環境問題との関わりについて説明できる。 | 2 | |
| 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 2 | |
| プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 2 | |
| 与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 2 | |
| ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 2 | |
| 主要な言語処理プロセッサの種類と特徴を説明できる。 | 2 | |
評価割合
| 中間試験 | 課題 | 合計 |
| 総合評価割合 | 30 | 70 | 100 |
| 基礎的能力 | 0 | 0 | 0 |
| 専門的能力 | 30 | 70 | 100 |
| 分野横断的能力 | 0 | 0 | 0 |