プログラミング応用

科目基礎情報

学校 熊本高等専門学校 開講年度 令和04年度 (2022年度)
授業科目 プログラミング応用
科目番号 0103 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 情報通信エレクトロニクス工学科 対象学年 4
開設期 通年 週時間数 1
教科書/教材 前期:高橋友一「Javaで学ぶオブジェクト指向プログラミング入門」サイエンス社,後期:独自に作成したWebClass上の資料/「ゼロから作るDeep Learning」O'REILLY
担当教員 新谷 洋人

到達目標

オブジェクト指向プログラミングの概念を理解し,応用したプログラムを作成することが出来る
Javaのプログラムを読み書きすることが出来る
Pythonのプログラムを読み書きすることが出来る
Pythonを利用してディープニューラルネットワークを作成することができる

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
オブジェクト指向プログラミングオブジェクト指向の概念を理解し,応用したプログラムを効率よく作成することができるオブジェクト指向の概念を理解し,利用したプログラミングができるオブジェクト指向を理解しておらず,利用したプログラミングができない
JavaJavaの基本的事項を説明することができ,応用したプログラムを,実用的なレベルで作成することができるavaの基本的事項を理解し,プログラミングを行う事ができるJavaのプログラミングを行う事ができない
Python(1)Pythonの基本的事項を説明することができ,応用したプログラムを,実用的なレベルで作成することができるPythonの基本的事項を理解し,プログラミングを行う事ができるPythonのプログラミングを行う事ができない
Python(2)Pythonを利用してディープニューラルネットワークを作成することができるPythonを利用してニューラルネットワークのサンプルプログラムを動作させることができるPythonを利用してニューラルネットワークのサンプルプログラムを動作させることができない

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

教育方法等

概要:
マルチプラットフォームで動作可能なプログラミング言語(前期:Java,後期:Python)を用いた,オブジェクト指向のプログラミング技術を取得する.目的に応じたプログラミングができるようになる.また,Web等に公開されているDeepLearningのライブラリを利用してディープニューラルネットワークを作成することができるようになる.
授業の進め方・方法:
毎時間小テストを行う.その後基本的な事項を解説した後で,実際にプログラムを作成し技術を習得してもらう.予習(小テストのための勉強)は必須である.反転授業を取り入れて授業を行う.
注意点:
規定授業時数60時間.また,レポート及び課題により30時間程度の自学自習時間を確保する.

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 Javaの変数とデータ型(1) Javaの変数とデータ型について理解し説明出来る.また,これを利用した簡単なプログラムを作成出来る.
2週 Javaの変数とデータ型(2) 同上
3週 Javaプログラムの基本構成(1) Javaプログラムの基本的な構成について理解し説明出来る
4週 Javaプログラムの基本構成(2) 同上
5週 Javaプログラムの基本構成(3) 同上
6週 Javaのオブジェクト指向の仕組み(1) オブジェクトの生成とメソッドの呼び出し方法を理解し,クラスを用いた基礎的なプログラミングができる
7週 Javaのオブジェクト指向の仕組み(2) 同上
8週 中間試験
2ndQ
9週 中間試験までの総まとめ これまでの内容を,系統立てて理解しプログラムを作成できる
10週 Javaのオブジェクト指向の仕組み(3) オブジェクトの生成とメソッドの呼び出し方法を理解し,クラスを用いた基礎的なプログラミングができる
11週 Javaのクラス応用(1) 継承やインターフェースなどのクラスの拡張を理解し,それらを利用したプログラミングができる
12週 Javaのクラス応用(2) 同上
13週 実践的なJavaプログラム作成方法(1) 様々なclassを利用し,より実践的なプログラムを作成することが出来る
14週 実践的なJavaプログラム作成方法(2) 同上
15週 定期試験
16週 定期試験答案返却
後期
3rdQ
1週 Pythonの基礎 pythonプログラムの実行方法や文法の基礎を理解し説明出来る
2週 Pythonの変数とデータ型(1) 基本的な変数に加えて,python特有のデータ型を理解し説明出来る
3週 Pythonの変数とデータ型(2) 同上
4週 Pythonのオブジェクト指向プログラミング(1) Pythonでのオブジェクト指向プログラミングの書き方を理解し,実際にプログラムを行うことができる
5週 Pythonのオブジェクト指向プログラミング(2) 同上
6週 Pythonの拡張(1) Pythonで利用できる各種組み込みモジュールについての基本事項を理解し,利用することができる
7週 Pythonの拡張(2) 同上
8週 中間試験
4thQ
9週 中間試験までのまとめ Pythonの基本的な事項を系統立てて理解し,プログラムすることができる
10週 ニューラルネットワークの基礎 数値計算モジュールであるnumpyを利用し,ニューラルネットワークの基本構造を利用した,AND,OR,NAND回路を作成できる
11週 バックプロパゲーション 基本的な学習則であるBP法を理解している
12週 多層ニューラルネットワークの作成 多層ニューラルネットワークをプログラムすることができる
13週 ディープニューラルネットワーク CNNの構造を理解し,プログラムすることができる
14週 ディープニューラルネットワーク(2) Kerasを利用してディープニューラルネットワークを記述できる
15週 定期試験
16週 定期試験答案返却

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週

評価割合

試験小テスト,課題,レポート合計
総合評価割合6040100
基礎的能力202040
専門的能力402060
分野横断的能力000