科目名 |
計算機言語第2 |
担当教員 |
妻鳥 貴彦 |
対象学年 |
2年 |
クラス |
学部:専門001 |
講義室 |
A106 |
開講学期 |
1学期 |
曜日・時限 |
月3,木3 |
単位区分 |
選択 |
授業形態 |
一般講義 |
単位数 |
2 |
準備事項 |
|
備考 |
|
授業の詳細1 |
【授業の目的】 計算機言語は,要求や仕様に沿ったソフトウェアを作成する上で,プログラムを記述するために用いる言語のことである.目的に応じて多くの計算機言語が存在する.その中でも,大規模・多人数でのソフトウェア開発にオブジェクト指向言語が向いているとされている.代表的なオブジェクト指向言語に Java, Smalltalk, C++ がある. この授業では,計算機言語第1で学習する手続き型言語 Pascal に引続き,オブジェクト指向言語 Java を対象として計算機言語を学習する.なお「情報システム工学実験第1」では,この授業と並行して Java によるプログラミング実験を行い,この授業と合わせてより理解を深める.Java 言語は実用性が高く,職業人として覚えるべき基本事項として重要である.
【授業の進め方】 通常の授業(座学)である.
【達成目標】 (1) 他人の書いた Java プログラムを読んで理解することができる.特に本講義の教科書と「アルゴリズムとデータ構造」の教科書の例を理解できる. (2) Java 構文要素の組合せで,100 行程度のプログラムを作成することができる. (3) クラスの概念を理解し,サブクラスを構成することができる. (4) WWW 上のクラスライブラリの説明を検索し,必要なライブラリを利用することができる. (5) メソッドの仕様と実装とを分離して考えることができる. (6) 読解性や可搬性の高いプログラムに対する考え方を持つ. (7) Java 以外のオブジェクト指向言語を学習する際に必要な基本的な概念を把握する. |
授業の詳細2 |
【授業計画】 1. 計算機言語入門 まず,カリキュラム全体におけるこの授業の占める位置について,特に「計算機言語第1」,「情報システム工学実験第1」,「アルゴリズムとデータ構造1」,「アルゴリズムとデータ構造2」との関係について説明を行う.その上で,この授業の授業計画と成績評価についての説明を行う.次に,計算機言語の役割とその歴史について学習した上で,自然言語と人工言語との差,および計算機言語の分類を理解する.最後に簡単な Java プログラムの実行を通じて,プログラミングの概観を知る.
2.変数・式・演算・型 まず,Java の簡単なプログラムから,おおよその Java 言語の構造を知る.次に,Java プログラミングに必要な基礎用語を学習する.データ型として整数型,論理型,文字列型を導入して,その宣言と代入文を学習する.同時に,キャストと呼ばれる型変換について学習する.さらに,プログラムが逐次的に実行されることを理解する.
3.クラスとインスタンス クラスは,オブジェクトの性質を定義したものであり,フィールドとメソッドから構成される.ここでは,クラスについて実例を挙げながら学習し,同時にクラスとインスタンスの概念についても学習する.また,変数の種類とその有効範囲(スコープ)について学習する.さらに,オブジェクトを初期化する特別なメソッドであるコンストラクタについて学習する.
4.継承とオーバーロード,オーバーライド,インタフェース オブジェクト指向プログラミングの特徴である継承の概念を理解する.具体的なプログラムを例に挙げながらそのメリットについて学習し,オーバーロード(多重定義)についても理解する.さらに,スーパークラス,サブクラス等の用語の意味やオーバーライドについて実例を挙げながら学習する.さらに,カプセル化の概念について理解し,修飾子との関連について学ぶ.また,Javaで禁止されている多重継承を実現するインタフェースの概念について例を挙げながら学習する. |
授業の詳細3 |
5.配列,参照,文字列 まず,原始型の配列について学習する.次に,参照型の配列について実例を挙げながら学習し,両者の使い分けを理解する.さらに多次元配列についても学習する.そして,Javaで予め提供されているクラスライブラリについて,文字列を操作するためのクラスStringとStringBufferについて取り上げ,例を挙げながら学習する.
6.中間試験
7.中間試験の解説と前半のまとめ 中間試験の解説と本講義前半のまとめを行う.
8.条件分岐と繰り返し if 文,if-else 文,switch 文の動作を理解する.これにより,条件によりプログラムの挙動を変化させられることを学習する.同時にブロックと break 文の動作も合わせて理解する.さらに,while 文,for 文,do-while 文の動作とそれぞれの違いを理解する.これにより,同じ動作を繰り返して実行する手法を学習する.同時に continue 文の概念を導入し,また改めて break 文の動作についても理解を深める.
9.パッケージとアクセス制限 いくつかのクラスやインタフェースをまとめたものをパッケージという.パッケージは名前の衝突を避ける手段を与える.ここではパッケージについて学習し,その作成方法や利用の仕方について,例を挙げながら学習する.また,アクセス制限についても学習する.
10.GUIプログラミング JavaでのGUIプログラミングについて学習する.またマウス操作によるイベント処理の仕方についても学習する. |
授業の詳細4 |
11.スレッド 複数の処理を同時に行う処理のことを並行処理という.ここでは,Javaでの並行処理を実現させるためのスレッドについて学習する.
12.例外処理 Javaの実行時のエラーは,全て例外として通知される.プログラム実行時に発生するエラーを処理する手段のことを例外処理という.ここでは,Javaによる例外処理を例を挙げながら学習する.
13.ストリーム入出力 ストリームは,様々なデータソースやストアを処理する際のプログラミングに一貫性を持たせるために考えられた概念である.Java では,入出力を処理する際はストリームを使用することから,まずストリームの概念について学習する.そしてストリームの基礎となる InputStream,OutputStream,Reader,Writer の各クラスについて実例を挙げながら学習し,ストリームの概念を理解する.その上で,ファイル入出力の仕方について学習する.
14.Q末試験
15.Q末試験の解説と講義のまとめ
専門科目演習の時間を利用して,随時演習を行う予定である. |
授業の詳細5 |
【成績評価】 中間試験 40 点,クォータ末試験 40 点,演習 20 点,計 100 点満点で採点を行い,以下に示す成績判定を行う. AA:試験の正解率がほぼ100%で,総得点もほぼ100点である場合 A:試験の正解率が80%以上,または総得点が80点以上である場合 B:試験の正解率が80%以上,または総得点が70点以上である場合 C:試験の正解率が70%以上,または総得点が60点以上である場合 F:以上の条件を満たさなかった場合 本講義の目標水準への履修者の到達の程度によっては,再試験を行う場合がある. |
授業の詳細6 |
◇テキスト 『3日で解るJava』,桑原恒夫 著,共立出版
◇参考書 『Javaプログラミング Black Book』,Steven Holzner 著・武藤武志 監修,インプレス 『The Java Programming Language』,A. G. Holmes 著,Addison Wesley ◇備 考:「情報ネットワークシステムコース」履修登録必須科目 ◇履修の前提となる必須科目:「通信網概論」「計算機言語第1」「情報科学3」 ◇事前の履修が望ましい科目:なし ◇同時に履修すべき必須科目:「情報システム工学実験第1」「オブジェクト指向プログラミング基礎」 |
授業の詳細7 |
|
授業の詳細8 |
|
授業の詳細9 |
|
授業の詳細10 |
|