基礎プログラミング4

科目基礎情報

学校 松江工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 基礎プログラミング4
科目番号 0023 科目区分 専門 / 必履修
授業形態 授業 単位の種別と単位数 履修単位: 1
開設学科 電気情報工学科 対象学年 3
開設期 後期 週時間数 2
教科書/教材 高橋麻奈,“やさしいpython”,SBクリエイティブ
担当教員 藤嶋 教彰

到達目標

(1) pythonの基本文法を理解できる.
(2) numpy,matplotlibなどの基本ライブラリを利用できる.
(3) 基礎的な人工知能プログラミングができる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1pythonの基本文法について正しく理解している.pythonの基本文法について理解している.pythonの基本文法について理解していない.
評価項目2ライブラリを正しく利用できる.ライブラリを利用できる.ライブラリを利用できない.
評価項目3基礎的な人工知能プログラミングが正しくできる.基礎的な人工知能プログラミングができる.基礎的な人工知能プログラミングができない.

学科の到達目標項目との関係

電気情報工学科教育目標 E2 説明 閉じる

教育方法等

概要:
 最先端の科学技術を支える重要なプログラミング言語の1つがpythonである.この言語はプログラムの書きやすさ,豊富なライブラリ,および科学計算の容易さがあることから,世界中で利用される人気の言語となっている.特に,人工知能(AI)関連のプログラムを行う技術者は習得すべき言語である.
 本科目では最初に,並行して学習しているC言語との対比を行いながら,基本文法を習得する.次に.科学計算の実装方法,結果を可視化するために必要な基本ライブラリの利用方法について習得する.最後に、人工知能技術の基礎について学習し,それを実装できるようにする.
授業の進め方・方法:
・到達目標 (1)~(3)について,中間試験および課題で評価する.
・評価の割合は,中間試験30%,課題70%とし,50点以上(100点満点)の者を合格とする.不合格者のうち,(1)総合点が45点以上,(2)課題の提出遅れが10日以内,(3) 全課題を提出している,者は再評価試験を受験できるものとする.追認試験は行わない.
注意点:
・本科目の履修に当たっては「基礎プログラミング2(C言語の基本文法)の知識を習得している」ことが望ましい.知識が曖昧な場合は,予習時に次回授業の単元のC言語部分をあらかじめ復習しておくこと.授業中にC言語のふりかえり学習もやや詳しく行うが,自分で復習しておいた方が断然理解が早く,両言語とも知識が深まりやすい.
・また,プログラミング科目は「予習が前提」である.一度に様々な知識を学ぶため,授業だけで十分な理解に至る学生はほぼいない.予習においてアップロードされている次回授業のスライドや教科書の学習単元部分を事前に読むこと.
・提出遅れは1日につき,課題点の最終成績から1点減点する.遅れることが無いよう,計画立てて課題に取り組むこと.

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
後期
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

評価割合

中間試験課題合計
総合評価割合3070100
基礎的能力000
専門的能力3070100
分野横断的能力000