概要:
最先端の科学技術を支える重要なプログラミング言語の1つがPythonである.この言語はプログラムの書きやすさ,豊富なライブラリ,および科学計算の容易さがあることから,世界中で利用される人気の言語となっている.特に,人工知能(AI)関連のプログラムを行う技術者は習得すべき言語である.
本科目では最初に,並行して学習しているC言語との対比を行いながら,基本文法を習得する.次に.科学計算の実装方法,結果を可視化するために必要なライブラリの利用方法について習得する.最後に、人工知能技術の基礎について学習する.
授業の進め方・方法:
・到達目標 (1)と(2)については,中間試験および課題で評価する.到達目標 (3)と(4)については課題で評価する.
・評価の割合は,中間試験30%,課題70%とし,50点以上(100点満点)の者を合格とする.再評価試験と特別な事情がある場合にのみ行う.追認試験は行わない.
・課題は提出期間内でのみ受けつけるものとし,期限内に提出されなかった場合は0点とする.
注意点:
・本科目は「基礎プログラミング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 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 2 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 2 | |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 2 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 2 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 2 | |