応用プログラミング

科目基礎情報

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

到達目標

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

ルーブリック

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

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

教育方法等

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

授業計画

授業内容 週ごとの到達目標
前期
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週 Javaのオブジェクト指向の仕組み(3) オブジェクトの生成とメソッドの呼び出し方法を理解し,クラスを用いた基礎的なプログラミングができる
10週 Javaのオブジェクト指向の仕組み(4) 同上
11週 Javaのクラス応用(1) 継承やインターフェースなどのクラスの拡張を理解し,それらを利用したプログラミングができる
12週 Javaのクラス応用(2) 同上
13週 実践的なJavaプログラム作成方法(1) 様々なclassを利用し,より実践的なプログラムを作成することが出来る
14週 実践的なJavaプログラム作成方法(2) 同上
15週 実践的なJavaプログラム作成方法(3) 同上
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週 ニューラルネットワークの基礎(1) Pythonを用いてニューラルネットワークを記述できる
10週 ニューラルネットワークの基礎(2) 同上
11週 ニューラルネットワークの基礎(3) 同上
12週 ニューラルネットワークの基礎(4) 同上
13週 ディープニューラルネットワーク(1) 組み込みモジュールを応用した実践的なプログラムを作成することができる
14週 ディープニューラルネットワーク(2) 同上
15週 ディープニューラルネットワーク(3) 同上
16週 定期試験答案返却

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。3前1,前2,後1,後2,後3
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3前3,前4,前5,後4,後5,後6,後7
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3前3,前4,前5,後4,後5,後6,後7
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3前1,前2,前6,前7,前9,前10,後1
プログラミング言語は計算モデルによって分類されることを説明できる。2前13,前14,前15,後7
主要な計算モデルを説明できる。2前13,前14,前15,後9,後10,後11,後12,後13,後14,後15
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。2前11,前12,前13,前14,前15,後9,後10,後11,後14,後15
ソフトウェアアルゴリズムの概念を説明できる。3前6,前7,前9,前10,後7,後9,後10,後11,後12,後13,後14,後15
与えられたアルゴリズムが問題を解決していく過程を説明できる。3前6,前7,前9,前10,後7
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。3前13,前14,前15
整列、探索など、基本的なアルゴリズムについて説明できる。3前13,前14,前15,後4
コンピュータシステムネットワークコンピューティングや組込みシステムなど、実用に供せられているコンピュータシステムの利用形態について説明できる。2前13,前14,後9,後10,後11,後12,後13,後14,後15
デュアルシステムやマルチプロセッサシステムなど、コンピュータシステムの信頼性や機能を向上させるための代表的なシステム構成について説明できる。2前13,前14,後9,後10,後11,後12,後13,後14,後15

評価割合

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