科目名 |
情報システムプログラミング |
担当教員 |
松崎 公紀 |
対象学年 |
2年 |
クラス |
学部:専門001 |
講義室 |
A−WS |
開講学期 |
2学期 |
曜日・時限 |
火4,金4 |
単位区分 |
選択 |
授業形態 |
一般講義 |
単位数 |
2 |
準備事項 |
|
備考 |
|
授業の詳細1 |
◆授業の目的
効果的な情報システムを構築するためには, システムへの要求をプログラムに反映する能力が要求される. 本科目では, これまでに学習した基本的なアルゴリズムやデータ構造の知識を, Javaを用いて実用的な課題に応用することにより, 実践的なソフトウェア開発能力を習得する. |
授業の詳細2 |
◆授業の進め方
下記の一連の作業を基本的に4〜5人のグループで行う. ただし, 基礎的な内容の学習にあたっては, 個人で取り組む課題も設定する.
授業の前半では, いくつかの実際によく見られる分野からの応用課題を対象とし, ソフトウェア開発の一連の作業を実践する. より具体的には, オブジェクト指向に基づいたソフトウェア設計すること, Java言語による効率的な実装すること, これらの作業を的確に報告書としてまとめること, を行う. |
授業の詳細3 |
◆達成目標
以下の能力を修得すること. * 課題の記述から複数のオブジェクトを抽出し, それらの関係を図を用いて表現できる. * ソフトウェア工学に基づいた適切なテスト設計ができる. * 読みやすいプログラムを書くことの必要性を理解し, 実践できる. * Makeやバージョン管理システムなどを使って効率よくソフトウェア開発を行うことができる. * ソースコードを共同所有する開発形態に馴染んでいる. * 作業工程の記述と結果に対する考察を含む報告書を作成できる. |
授業の詳細4 |
◆授業計画
以下のような順序で授業を進める. なお, 項目はおおよその順序を表すもので, 1項目が1回の実験時間に対応しているわけではない.
[1] GUIプログラミング 1-1. AppletとGPI基礎 Java Appletの基本的な動作を理解し, アプレットとアプリケーションのユーザインターフェイスの作成方法を取得する.
1-2. イベント処理 GUI部品をインタラクティブに動作させるためのイベント処理の概念を理解し, そのプログラムを作成する.
1-3. AWT, Swing AWTやSwingに含まれるボタンやラベルなどのGUI部品を利用したより規模の大きいプログラム作成を行う.
1-4. バージョン管理, ビルド・コンパイルツール プログラムなどのバージョン管理ツール, および, 依存関係のあるファイルのビルド・コンパイルツールの基本的な使い方を習得する.
1-5. まとめ 作成したプログラムを各自のウェブページに掲載し, 評価を行う. |
授業の詳細5 |
[2] 画像処理プログラミング
2-1. 画像データの表示 画像の表示の仕方 (座標系, 画素の階調値) を理解し, 画像の読み込み・表示を行うサンプルプログラムを理解する.
2-2. 画像の基本変換処理 画像データの基本変換として, 画像の反転・回転・拡大縮小などについてのアルゴリズムを理解し, そのプログラムを作成する.
2-3. 画像のフィルタリング処理 いくつかの基礎的なフィルタ (Sobelフィルタ, ラプラシアンフィルタ等) に関するアルゴリズムを理解し, それらを使って輪郭強調処理を行うプログラムを作成す.
2-4. 画像の幾何学的変換処理 最も広く用いられているアフィン変換 (Affine transformation) について学び, 任意の角度での回転や移動を行うプログラムを作成する.
2-5. まとめ 作成したプログラムを各自のウェブページに掲載し, 評価を行う. |
授業の詳細6 |
[3] ネットワークプログラミング
3-1. 例外処理 クラスの継承の概念と例外処理について理解し, それを用いたプログラミングを作成する.
3-2. ストリーム入出力 Javaの特長のひとつである, 入出力におけるデータストリームの考え方を理解する. 標準入出力やシリアライズなどのデータストリームにおける基礎の考え方を学び, それを用いたプログラムの作成する.
3-3. TCP/IPとソケット Java言語の標準ライブラリとして用意されているソケットを用いて, TCP/IPを使用したプログラムを作成する. また, これを通して, ネットワークやストリーム入出力についての理解を深める.
3-4. まとめ 作成したプログラムについて動作の仕組みを説明するとともに, 評価を行う. |
授業の詳細7 |
テキスト: 実験指導書を配布する.
参考書: 『Javaで学ぶアルゴリズムとデータ構造』,Robert Lafore著,岩谷宏訳(ソフトバンク) 『Javaによるオブジェクト指向プログラミング入門』,越田一郎(培風館) 『プログラミング作法』,Brian Kernighan, Rob Pike著(アスキー) 『アルゴリズムとデータ構造』, 石畑清著(岩波書店) 『Javaプログラミング Black Book』,Steven Holzner 著・武藤武志 監修,インプレス |
授業の詳細8 |
成績評価: レポート提出と口頭試問 (ヒアリング) により評価する. レポートにおいては, 課題解決方法, 結果, 結果に対する考察, 設計にあたり工夫した点などを見る. ヒアリングでは, 作成した課題プログラムについて, 基本的なアルゴリズム, データ構造の説明を見る. また, レポートの内容に関連する質疑応答も行う. ヒアリング55点, レポート45点とし, 全課題の合計が60点以上あれば合格とする. 再試験はしない. AA: 90点以上100点 A: 80点以上90点未満 B: 70点以上80点未満 C: 60点以上70点未満 F: 60点未満
履修上の注意: 本実験の履修を希望する場合には,「情報システム工学実験第2」「情報ネットワークプログラミング」を同時に履修すること.
備 考: 履修の前提となる必須科目: 「情報システム工学実験第1」 履修前の受講が望ましい科目:「アルゴリズムとデータ構造1」「計算機言語第1」 同時履修すべき科目: 「情報システム工学実験第2」「情報ネットワークプログラミング」 |
授業の詳細9 |
|
授業の詳細10 |
|
|