戻る
タイトル「2011年度シラバス」、フォルダ「2011年度シラバス?情報システム工学科専門科目
シラバスの詳細は以下となります。
科目名 情報システム工学実験第1 
担当教員 M村 昌則,妻鳥 貴彦 
対象学年 2年  クラス 学部:専門001 
講義室   開講学期 1学期 
曜日・時限 火3,金3  単位区分 選択 
授業形態 一般講義  単位数
準備事項  
備考  
授業の詳細1 【授業の目的】
 本実験は,Javaプログラミングの基本技術を実践的に身につけることを目的としている.まず,Java言語処理系の基本的な使い方を実践する.Javaの構文を理解し,与えられた課題を構文の単位に分解してプログラミングできるようになることを目的とする.最終的に,与えられた仕様に基づいたプログラムが構築できるようになる.
 本実験は,情報システム工学科2年次1クオータ開講科目「計算機言語第2(妻鳥)」及び「オブジェクト指向プログラミング基礎(浜村)」,同学科同年次2クオータ開講科目「アルゴリズムとデータ構造1(酒居)」及び「アルゴリズムとデータ構造2(妻鳥)」の講義内容と密接に関係するため,これらの科目を同時期に履修することを強く推奨する.
 本実験の前半は主に浜村が,後半は妻鳥が担当する.

【授業の進め方】
 実験形式の授業である.課題の仕様を満たすプログラムを実装できるまでプログラミング実験を繰り返す.


【達成目標】
 本実験により以下の目標を達成する.
(1) Javaアプリケーション及びJavaアプレットを作成・実行できる.
(2) 参照の概念をJavaプログラミングで実践できる.
(3) クラスの継承・オーバーロード・例外・スレッドをプログラミングに活用できる.
(4) 画像処理プログラミング及びネットワークプログラミングの基礎を修得しJavaプログラミングで実践できる.
(5) 代表的なソートアルゴリズムを理解し,プログラミングできる.
(6) 代表的なデータ構造を理解し,プログラミングできる.
(7) 小規模の仕様に基づき,完成したプログラムを構築できる.
 
授業の詳細2 【授業計画】

1.オリエンテーションと計算機環境・プログラミング環境・Java入門
 本実験のねらいや実験の進め方,単位認定の方法について説明を受ける.
 次に,A-WS室の設備の基本説明(ログイン・ログアウト,Emacsエディタ,LaTeX,プリンタなど)を受ける.さらに,ごく簡単な例を元に,Javaアプリケーションを実行する.プログラムの編集と実行を実際に行い,これらの操作がスムーズにできるようになることを目指す.
 
授業の詳細3 [1] Javaプログラミング基礎

2-3.クラスとインスタンス,及び,継承とオーバーライド・オーバーロード,キャスト,インタフェース
 Javaでは「クラス」というやや抽象的な単位でプログラムを作成する.クラスで実行可能な処理は「メソッド」で規定される.(あるクラスから別の)クラスを呼び出すと,クラスとは別の存在として機能を具体化した「インスタンス(オブジェクト)」が生成され,これが実際の処理に使用される.これらに関するプログラミング実験を行う.
 継承・オーバーライド・オーバーロードなど,Javaプログラムの拡張法に関する実験を行う.
 変数には「型」がある.その変数を最初に宣言した型とは異なる型として使用できることを学ぶ.インタフェースの役割も実験を通じて理解する.

4-5.文字列と配列,処理の制御,及び,パッケージとインポート,アクセス制限
 文字列および配列を学び,オブジェクト指向プログラミングの理解を深める.
 Javaの構文単位であるif文,switch文,for文,while文,do-while文の動作を理解し,目的に合った構文を適切に選んだプログラミングができるようになる.
 クラス名が重複することがある.その対策としてパッケージ化について実験する.パッケージ化したクラスの利用法も実験する.

6-7.グラフィックユーザインタフェースとイベント処理,及び,例外処理,スレッド
 Javaでは大量のクラスがライブラリに用意されている.そのライブラリの中からグラフィックユーザインタフェース(GUI)に関するクラスのごく一部を利用して実験を行う.
 プログラムの実行中に予期せぬことが起きたときに行う処理を例外処理という.実験を通じてJavaの優れた例外処理機能を学ぶ.
 二つ以上の処理を平行して実行する仕組み(スレッド)についてプログラミング実験を行う.

8.データの入出力,アプレット
 ファイルに書き込まれたデータの読み取りやファイルへの書き込み,さらに,WWWブラウザでJavaプログラムを実行する仕組みについて実験を行う.
 
授業の詳細4 [2] 画像処理及びネットワークプログラミング

9-12.画像の基本変換処理・フィルタリング処理幾・幾何学的変換処理
 画像の表示の仕方 (座標系, 画素の階調値) を理解し, 画像の読み込み・表示を行うサンプルプログラムを理解する.画像データの基本変換として, 画像の反転・回転・拡大縮小などについてのアルゴリズムを理解し, そのプログラムを作成する.いくつかの基礎的なフィルタ (Sobelフィルタ, ラプラシアンフィルタ等) に関するアルゴリズムを理解し, それらを使って輪郭強調処理を行うプログラムを作成する.最も広く用いられているアフィン変換 (Affine transformation) について学び, 任意の角度での回転や移動を行うプログラムを作成する.

13-15.TCP/IPとソケット
 クラスの継承と例外処理についての確認を行い, それを用いたプログラミングを作成する.Javaの特長のひとつである, 入出力におけるデータストリームの考え方を理解する. 標準入出力やシリアライズなどのデータストリームにおける基礎の考え方を用いたプログラムを作成する.Java言語の標準ライブラリとして用意されているソケットを用いて, TCP/IPを使用したプログラムを作成する. また, これを通して, ネットワークやストリーム入出力についての理解を深める.

16.1〜15のまとめ(習熟度確認)
 
授業の詳細5 [3] アルゴリズムとデータ構造

17.配列
 データが順番に並んでおり,それぞれのデータを連続する添字によって一意に特定できるようなデータ構造のことを配列と呼ぶ.ここでは,実験を通じて配列を実現するクラスについて理解する.

18-20.連結リスト
 データをそれぞれの要素に格納し,その要素が次の要素とつながってリストを成しているようなデータ構造を連結リストという.ここでは,実験を通じて連結リストの仕組みを学ぶ.

21.スタック
 データの挿入と取得をリストの特定の一端でのみ行うようなデータ構造をスタックという.ここでは,実験を通じてスタックの仕組みを理解する.

22. キュー
 リストの一方の端ではデータの挿入のみを,もう一方の端では取り出しと削除のみを行うようなデータ構造をキュー(待ち行列)という.ここでは,実験を通じてキューの仕組みを理解する.

23-24.二分探索木
 木構造のうち,各ノードが持てる子の最大数が2であるものを二分木という.二分木のうち,親よりも小さい値を持つ子は左に,親よりも大きい値を持つ子は右に格納した構造を持つものを二分探索木という.ここでは,二分木を実現し,二分探索木について理解する.

25.ハッシュテーブル
 データ領域上にデータを並べ,各々に対して特定の「鍵」を用いてアクセスするようなデータ構造をハッシュテーブルという.ここでは,実験を通じてハッシュテーブルの概念を理解する.

26-28.ソート
 あるデータ構造を,指定された指標に従って順序整理する作業をソートという.ここでは,実験を通じて最も基本的なソートアルゴリズムであるバブルソートとより高速なクイックソートについて理解する.

29-30.最終課題
アルゴリズムとデータ構造に関する課題をJava言語で実装し,最終レポートを作成する.
 
授業の詳細6 【成績評価】
 前半では,小課題の完成25点,習熟度確認25点の50点満点の採点を行う.
 後半では,小課題の完成(ほぼ毎回実施)25点,最終課題レポート25点の50点満点の採点を行う.
 計100点満点の採点の結果より,以下に示す成績判定を行う.
◆AA:採点の結果がほぼ100点であった場合
◆A:採点の結果が80点以上であった場合
◆B:採点の結果が70点以上であった場合
◆C:採点の結果が60点以上であった場合
◆F:以上の条件を満たさなかった場合
 ただし,採点の結果55〜59点となった者で,小課題の完成や習熟度確認結果,レポートの提出状況に優れる者には,レポートの再提出を要求するなどし,その結果本科目の目標への到達度が他の合格者と同等以上と判定されれば,Cと判定することがある.


□□□□□□□□□□□□□□□□□□□□
◇テキスト
 多数の電子資料を利用する.

◇参考書
 『3日で解るJava』,桑原恒夫 著,共立出版
 『The Java Programming Language』,A. G. Holmes 著,Addison Wesley
 『Javaプログラミング Black Book』,Steven Holzner 著・武藤武志 監修,インプレス
 『Javaで学ぶアルゴリズムとデータ構造』,Robert Lafore 著,岩谷 宏 訳,ソフトバンク
 『Javaによるプログラミング入門』,権藤 克彦 著,サイエンス
 『Javaアルゴリズム+データ構造』,(有)オングス著,技術評論社(絶版)
 『アルゴリズムとデータ構造』,石畑清 著,岩波書店

◇備 考:情報ネットワークシステムコース履修登録必須科目
◇履修の前提となる科目:「コンピュータリテラシー」「情報科学1」「情報科学2」「情報科学3」
◇事前の履修が望ましい科目:なし
◇同時に履修すべき科目:「計算機言語第2」「オブジェクト指向プログラミング基礎」「アルゴリズムとデータ構造1」「アルゴリズムとデータ構造2」
 
授業の詳細7  
授業の詳細8  
授業の詳細9  
授業の詳細10  


Copyright (c) 2006 NTT DATA KYUSHU CORPORATION. All Rights Reserved.