概要:
Javaを用いて、オブジェクト指向でプログラムを設計し、実装(コーディング)ができ、かつ、その説明文が書けるようになることを目標とする。第3学年までに学習した様々な手続き型プログラミングの技術を基に、現在のソフトウェア開発において必須の知識であるオブジェクト指向型プログラミングの技術を、JavaおよびUML図を通して学習する。キーワード:専門分野
授業の進め方・方法:
本科目を履修するためにはLinux(UNIX)におけるコマンドラインでのファイル操作及び、エディタ操作、C言語の知識が前提となる。特に、C言語の知識は必須であるから、第3学年のプログラミング言語IIおよび情報工学実験Iの内容を十分に復習し、理解しておくこと。レポート課題は20本程度与えるので必ず全て遂行すること。
レポート評価の平均で60点合否判定を行う。ただし、全レポートの提出を合格の必要条件とする。合否判定点で不合格となった場合は、未提出・要再提出となっている全レポートを十分な内容で提出できた場合、再試験での合格扱いとする。
この科目は、第5学年での卒業研究で必須となるプログラミング技術を学ぶ最後のチャンスであるから、特にプログラミングに苦手意識を持っている諸君は、全力で取り組み、ここで遅れを取り戻して欲しい。
前関連科目: 3Jプログラミング言語II・3J情報工学実験I
後関連科目: 5J卒業研究
注意点:
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
手続き型のCとオブジェクト指向のJavaの違い |
プログラミングパラダイムの違いを答えられる。
|
2週 |
オブジェクト、クラス、インスタンス |
クラスとインスタンスの違いを答えられる。
|
3週 |
オブジェクト、クラス、インスタンス |
クラスとインスタンスの違いを答えられる。
|
4週 |
コンストラクタ、this、文字列型 |
thisを初期化できる。文字列を扱える。
|
5週 |
コンストラクタ、this、文字列型 |
thisを初期化できる。文字列を扱える。
|
6週 |
staticメソッド、オーバーロード |
static/非staticメソッドを使い分けられる。
|
7週 |
staticメソッド、オーバーロード
|
static/非staticメソッドを使い分けられる。
|
8週 |
情報隠蔽、ゲッターとセッター 前期中間試験は実施しない |
ゲッターとセッターでアクセスできる。
|
2ndQ |
9週 |
クラスの継承とインターフェース |
継承により新しいクラスを作成できるなど。
|
10週 |
クラスの継承とインターフェース |
継承により新しいクラスを作成できるなど。
|
11週 |
配列とオブジェクトの配列、ポリモーフィズム |
配列が利用できる。ポリモーフィズムを利用できる。
|
12週 |
配列とオブジェクトの配列、ポリモーフィズム |
配列が利用できる。ポリモーフィズムを利用できる。
|
13週 |
UMLクラス図、オブジェクト図 |
UML図を読み書きできる。
|
14週 |
Java標準命名規則 |
Java標準命名規則に従って変数名を付けられる。
|
15週 |
進度調整 前期期末試験は実施しない |
ここまでの全てレポートを提出できる。
|
16週 |
|
|
後期 |
3rdQ |
1週 |
JFrame、JButton、ActionListener |
ウィンドウ/ボタンを用いるプログラムを作成できる。
|
2週 |
JFrame、JButton、ActionListener |
ウィンドウ/ボタンを用いるプログラムを作成できる。
|
3週 |
JLabel、JPanel、BorderLayout、FlowLayout |
ウィンドウ上に各種入力部品を並べられる。
|
4週 |
JCheckBox、JRadioButton、ButtonGroup |
チェックボタンやラジオボタンを利用できる。
|
5週 |
イベント処理、JTextField、JSlider |
ウィンドウ上で数値データの入出力ができる。
|
6週 |
ファイル入出力、JTextArea(1回) |
ファイル入出力およびテキスト編集ができる。
|
7週 |
グラフィクス描画処理、MouseListener |
グラフィクスを描画するプログラムを作成できる。
|
8週 |
Timer、画像、アニメーション 後期中間試験は実施しない |
タイマーを使って画像のアニメーションができる。
|
4thQ |
9週 |
Timer、画像、アニメーション |
タイマーを使って画像のアニメーションができる。
|
10週 |
アプレット、JAR |
アプレットプログラムを作成できる。
|
11週 |
MVCモデル、自由作品 |
MVCモデルで設計・実装できる。
|
12週 |
MVCモデル、自由作品 |
MVCモデルで設計・実装できる。
|
13週 |
MVCモデル、自由作品 |
MVCモデルで設計・実装できる。
|
14週 |
MVCモデル、自由作品 |
MVCモデルで設計・実装できる。
|
15週 |
進度調整 後期期末試験は実施しない |
ここまでの全てレポートを提出できる。
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 3 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | |
変数の概念を説明できる。 | 3 | |
データ型の概念を説明できる。 | 3 | |
制御構造の概念を理解し、条件分岐を記述できる。 | 3 | |
制御構造の概念を理解し、反復処理を記述できる。 | 3 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
与えられたソースプログラムを解析し、プログラムの動作を予測することができる。 | 3 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 3 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 3 | |
プログラミング言語は計算モデルによって分類されることを説明できる。 | 3 | |
主要な計算モデルを説明できる。 | 3 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 3 | |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 3 | |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 3 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 3 | |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 3 | |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。 | 3 | |