到達目標
(1) pythonの基本文法を理解できる.
(2) C言語とPythonの変換ができる.
(3) numpy,matplotlibなどの基本ライブラリを利用できる.
(4) 基礎的な人工知能プログラミングの概要ができる.
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
評価項目1 | pythonの基本文法について正しく理解している. | pythonの基本文法について理解している. | pythonの基本文法について理解していない. |
評価項目2 | C言語からPythonへの変換が十分正しくできる. | C言語からPythonへの変換が正しくできる. | C言語からPythonへの変換が正しくできない. |
評価項目3 | Pythonのライブラリを正しく利用できる. | Pythonのライブラリを利用できる. | Pythonのライブラリを利用できない. |
評価項目4 | 人工知能プログラミングについて,自分なりの意見が十分に持てる. | 人工知能プログラミングについて,自分なりの意見が持てる. | 人工知能プログラミングについて,自分なりの意見が持てない. |
学科の到達目標項目との関係
教育方法等
概要:
最先端の科学技術を支える重要なプログラミング言語の1つがpythonである.この言語はプログラムの書きやすさ,豊富なライブラリ,および科学計算の容易さがあることから,世界中で利用される人気の言語となっている.特に,人工知能(AI)関連のプログラムを行う技術者は習得すべき言語である.
本科目では最初に,並行して学習しているC言語との対比を行いながら,基本文法を習得する.次に.科学計算の実装方法,結果を可視化するために必要なライブラリの利用方法について習得する.最後に、人工知能技術の基礎について学習する.
授業の進め方・方法:
・到達目標 (1)と(2)については,中間試験および課題で評価する.到達目標 (3)と(4)については課題で評価する.
・評価の割合は,中間試験30%,課題70%とし,50点以上(100点満点)の者を合格とする.再評価試験と特別な事情がある場合にのみ行う.追認試験は行わない.
・各課題の提が出遅れている場合、課題ごとに1日につき,総合評価の課題部分に関する成績点(課題の最終成績70点分)から1点減点する.
注意点:
・本科目は「基礎プログラミング2(C言語の基本文法)の知識を習得している」ことでスムーズに学習できる.できる限り授業前に該当する単元のC言語について復習しておくことが望ましい.授業内でも説明するが,事前に学習しておいた方が格段に理解しやすくなる.
・プログラミング科目は「予習が前提」である.一度に様々な知識を学ぶため,授業だけで十分な理解に至る学生はほぼいない.アップロードされているスライドや教科書を事前に読むこと.
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
概論 / Colabノートブックの使い方(pp. 2-13) |
python言語の概要を理解する.また,google Colaboratoryの使い方について理解する.
|
2週 |
変数と演算子 / 文字入出力の制御(pp. 16-57,課題1) |
変数の定義方法と使い方,計算式の立て方,文字入出力の制御について理解する.
|
3週 |
制御文(1)(pp. 60-74,79-81,課題2) |
if文とwhile文について理解する.
|
4週 |
制御文(2)(pp.75-91,課題3) |
for文と繰り返しの中断方法を理解する.
|
5週 |
コレクション(1)(pp. 94-127,課題4) |
リストの書き方と使い方について理解する.
|
6週 |
コレクション(2)(pp. 138-154,課題5) |
タプル,ディクショナリの書き方と使い方について理解する.
|
7週 |
関数(1) |
プログラミングにおける関数の概要と、C言語における関数の書き方を理解する.
|
8週 |
中間試験 |
|
4thQ |
9週 |
関数(2)(pp. 164-189,課題6) |
Pythonによる関数の定義方法および利用方法について理解する.
|
10週 |
クラスとモジュール / 標準ライブラリの使い方(p. 212, pp. 215-220, 245-254) |
クラスおよびパッケージの使い方について理解する.また,Pythonが標準で用意しているライブラリの使い方について理解する.
|
11週 |
外部ライブラリの使い方(課題7) |
外部ライブラリの使い方,インストールなどの方法,およびGitHubからの取得方法について理解する.
|
12週 |
科学技術用ライブラリの使い方(pp. 361-363,課題8) |
NumpyとMatplotlibの基本的な使い方を理解する.
|
13週 |
画像処理プログラミング(課題9) |
opencv-pythonを用いた画像処理方法について理解する.
|
14週 |
深層学習の基礎 |
深層学習の基本原理と実装方法の基礎を理解する.
|
15週 |
様々なAI技術の体験(課題10) |
Pythonで実装された様々なAI技術を実際に体験し,人工知能技術がどのようなものか理解する.
|
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 |