2002年度 春学期 オブジェクト・プログラミング

大岩 元

 

主題と目標

コンピュータの使い方を覚えただけでは、その本質を理解するには至らない。自分がしたい仕事をコンピュータに実行させる方法であるプログラミングを学んで初めて、コンピュータの何たるかが理解される。

プログラミングを自己表現の道具としてマスターしたい学生が、その能力を獲得出来るようにすることを、本講義・演習の目標とする。オブジェクト指向のプログラミングをJava言語を通じて理解し、それを使いこなせるようになる方法論を扱うことが主題となる。

プログラミングは言語を覚えることではない。仕事の手順を自分で考えることが要求される。これには、自分のしたい事を明確化すること、それを手順に分解すること、手順をコンピュータで実行可能な形式に具体化すること(ここで初めて、プログラミング言語が登場する)、完成したプログラムが当初の目的を達成しているかを評価することが含まれる。

プログラミングをこのような総合的な作業としてとらえることが本講義・演習では求められる。

 

履修条件

自分で考える意欲を持つこと。教えられた事を覚える必要はない。

2時間続きの授業で後半は課題の演習を行う為、基本的にラップトップ持参での履修を前提とする

 

前提科目

プログラミング入門

 

教科書

Robert Lafore 著 岩谷 宏 訳「Javaで学ぶアルゴリズムとデータ構造」ソフトバンク

4800円

 

参考書

高橋友一、戸松豊和「Javaで学ぶ はじめてのプログラミング」サイエンス社1400円

(株)オージス総研「かんたんUML」翔永社 1980円

 

評価、その他

評価はレポートと毎週の課題によって行なう。

全ての講義・演習に出席することが要求される。


授業計画

第1回 4月11日 イントロダクション

l         ソフトウェア開発において今後必要となってくる技術や考え方について考える

 

第2回 4月18日 プログラムの基本 〜他人が読めるプログラムを書く〜

l         Javaプログラムを書き、動かせる

l         美しいプログラムを書ける

l         基本的なJava文法を説明できる

 

第3回 4月25日 配列を使ったプログラム 〜データをまとめて扱う方法〜

l         配列を使ったプログラムが書ける

l         情報を管理する簡単なアルゴリズムを考え、実装できる

 

第4回 5月9日手続き指向のプログラム 〜同じ仕事は2度書かない〜

l         メソッドを使う利点を説明できる

l         Javaでのメソッドの使い方を説明できる

l         引数と返り値の説明ができる

l         メソッドを使って手続き指向のプログラムが書ける

 

 

第5回 5月16日 クラスとオブジェクト 〜手続き指向からオブジェクト指向へ(1)〜

l         クラスとオブジェクトの簡単な説明ができる

 

第6回 5月23日 連結リストのプログラム 〜配列以外のデータ構造に挑戦〜

l         Javaにおける参照の仕組みを説明できる

l         連結リストを使ったプログラムを書ける

 

第7回 5月30日 データ構造とアルゴリズムの結合 〜手続き指向からオブジェクト指向へ(2)〜

l         データ構造とアルゴリズムを結合したクラスを使いプログラムが書ける

 

第8回 6月6日 検索とその効率 〜効率のよいプログラムとは?〜

l         効率が考慮されたプログラムが書ける

l         アルゴリズムをクラスにしたプログラムが書ける


第9回 6月13日 並び替えアルゴリズム 〜さまざまなアルゴリズムを比較する〜

l         適切なアルゴリズムを用いたプログラムが書ける

 

第10回 6月20日 スタックとキュー 〜便利なデータ構造〜

l         スタック、キューの概念を説明できる

 

第11回 6月27日

l         オブジェクトの「関連」について説明できる

l         アプリケーションを目的・役割別にクラス分割することの利点について議論できる

 

第12回 7月4日  GUIの構成とイベント・ドリブン 〜GUIを使ったプログラム(1)〜

l         Swingフレームワークを利用したプログラムが書ける

l         イベント・ドリブンの考え方について説明できる

l         ModelViewで責任を分離したプログラムの利点

 

第13回 7月11日 オブジェクトの状態とその遷移 〜GUIを使ったプログラム(2)〜

l         状態遷移図を使いオブジェクトの状態を発見できるようになる

l         状態遷移について考えながらプログラムを書くことができる