概要:
2年までのプログラミング入門、プログラミング基礎で学習したことをさらに発展させ、より実践的なプログラムを作成する。開発環境もPC上、組込み系、各種OSにおける開発手法を学ぶ。
本授業の1週から15週は、銀行系オンラインシステムの開発に従事した教員が、その経験を活かして行う。
なお授業内容は公知の情報のみに限定されている。
授業の進め方・方法:
プログラミング入門、プログラミング基礎は文法中心の学習であったが、それを実際のアプリケーションで活用する知識を学ぶ。プログラミング言語に関する文法や浮動小数点数に関する知識もさらに詳細に学習する。ネットワークなど実際に社会で使用されているテーマで演習を行う。
注意点:
前期はC言語、後期はJava言語をプログラミング言語として用いる。
評価方法:
試験 50 % (前期期末試験 x 0.25 + 後期達成度評価試験 x 0.25)
課題 50 % (前期レポート課題x 0.25 + 後期レポート課題x 0.25)
ただし、前期最終課題(自由作品)が非常に優れている場合は、前期最終評価に対して前期評価50%範囲内で加点することがある。
学習環境や学校行事日程などの大幅な変更などにより、一部変更する場合がある。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
実習で使用する開発環境、変数・関数の通用範囲 |
変数や関数の通用範囲が理解できる。
|
2週 |
static,extern |
static、externの使い方を理解し、通用範囲と生存期間を理解できる。
|
3週 |
基本アルゴリズム(スワップ・スイッチ・カウンタ) |
基本アルゴリズムを理解でき、組み合わせて処理を行うことができる。
|
4週 |
可変引数 |
可変引数のプログラムを作成することができる。
|
5週 |
コマンドラインの引数 |
コマンドラインで引数を与えるプログラムを作成することができる。
|
6週 |
ポインタ配列 |
ポインタ配列を理解できる。
|
7週 |
疑似乱数 |
疑似乱数の発生されるプログラムを作成できる。
|
8週 |
動的メモリ確保 |
動的メモリ確保のメリットを理解し、プログラムを作成することができる。
|
2ndQ |
9週 |
ビット演算 |
ビット演算を理解し、簡単なアプリケーションを作成することができる。
|
10週 |
1対1同期通信 簡易LINEの作成 |
OSIトランスポート層の機能(ソケット)を理解し、1対1交互に通信する簡単なアプリを作成することができる。
|
11週 |
1対多非同期多重通信 鬼ごっこゲームの作成 |
1対多非同期多重通信の動作を理解することができる。
|
12週 |
OpenGL基本 座標系、イベントドリブン型プログラミング |
OpenGLの座標系を理解し、基本的な描画の仕組みを理解できる。イベントドリブン型プログラミングを理解できる
|
13週 |
OpenGLアニメーション・テクスチャマッピング |
OpenGLのアニメーションおよびテクスチャマッピングを理解できる。
|
14週 |
OpenGL3Dフラフィックス、1対多非同期多重通信(OpenGL版鬼ごっこゲームの作成) |
OpenGL3D図形を描画するための座標系など基本的な知識を理解できる。図を使った簡単なネットワークアプリケーションが作成できる。
|
15週 |
前期期末試験 |
|
16週 |
試験答案返却・解答解説 自由課題、ネットワークアプリケーションの作成 |
間違った問題の正答を求めることができる。
|
後期 |
3rdQ |
1週 |
浮動小数点数(1) |
浮動小数点数と誤差の関係を理解できる。
|
2週 |
浮動小数点数(2) |
浮動小数点数と誤差の関係を理解できる。
|
3週 |
浮動小数点数(3) |
浮動小数点数と誤差の関係を理解できる。
|
4週 |
浮動小数点数(4) |
浮動小数点数と誤差の関係を理解できる。
|
5週 |
浮動小数点数の達成度評価試験 |
オンライン試験により浮動小数点数について学んできた項目の達成度を評価し、振り返ることができる。
|
6週 |
Javaの実行環境の構築とHello World |
Javaの実行環境を構築できる。またJava言語を用いてHello Worldを作成できる。
|
7週 |
Javaのデータ型と画面表示と入力 |
Java言語のデータ型の概念を説明できる。また画面表示とキーボード入力が出来る。
|
8週 |
Javaの演算処理と分岐・繰り返し処理 |
Java言語を用いて演算処理と分岐・繰り返し処理ができる。
|
4thQ |
9週 |
Javaの配列と乱数 |
Java言語の配列と乱数を利用できる。
|
10週 |
Javaの例外処理 |
Java言語を用いて例外処理ができる。
|
11週 |
Javaのファイル入出力 |
Java言語を用いてファイルの入出力操作ができる。
|
12週 |
Javaのリスト型とマップ型と拡張for文とソート |
Java言語のリスト型とマップ型の概念を説明できる。また拡張for文とソートを利用できる。
|
13週 |
Javaの関数型インターフェース |
Java言語の関数型インターフェースを使うことが出来る。
|
14週 |
Javaのラムダ式 |
Java言語を用いてラムダ式を使うことが出来る。
|
15週 |
JavaのforEach処理 |
Java言語を用いてforEach処理ができる。
|
16週 |
※ 学年末試験は実施しません |
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 4 | 前1 |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 4 | 前1,前2 |
変数の概念を説明できる。 | 4 | 前1,前2,前4,前5,後7,後9,後11,後12,後13,後14 |
データ型の概念を説明できる。 | 4 | 前1,前2,前4,前5,前6,後1,後2,後3,後4,後5,後7,後9,後11,後12,後13,後14 |
制御構造の概念を理解し、条件分岐を記述できる。 | 4 | 前1,前2,後8,後10,後12,後15 |
制御構造の概念を理解し、反復処理を記述できる。 | 4 | 前1,前2,後8,後10,後12,後15 |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | 前2 |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | 前1 |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 4 | 前3,前11 |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 4 | 後6 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 4 | 前3,前11 |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 4 | 前12 |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 4 | 前12 |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 4 | 前12 |
ソフトウェア | 与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 4 | 前11 |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 4 | 前3,前10 |
計算機工学 | 小数を2進数、10進数、16進数で表現できる。 | 4 | 前7,後1,後2,後3,後4,後5 |
情報通信ネットワーク | プロトコルの概念を説明できる。 | 3 | 前12,前13,前14 |
インターネットの概念を説明できる。 | 3 | 前12,前13,前14 |
主要なサーバの構築方法を説明できる。 | 4 | 前12,前13,前14 |
情報通信ネットワークを利用したアプリケーションの作成方法を説明できる。 | 4 | 前12,前13,前14 |
情報数学・情報理論 | コンピュータ上での数値の表現方法が誤差に関係することを説明できる。 | 3 | 後1,後2,後3,後4,後5 |
コンピュータ上で数値計算を行う際に発生する誤差の影響を説明できる。 | 3 | 後1,後2,後3,後4,後5 |