コンピュータサイエンス

Course Information

College Kurume College Year 2018
Course Title コンピュータサイエンス
Course Code 7S14 Course Category Specialized / Elective
Class Format Lecture Credits Academic Credit: 2
Department 機械・電気システム工学専攻(制御情報工学コース) Student Grade Adv. 2nd
Term First Semester Classes per Week 2
Textbook and/or Teaching Materials Java言語で学ぶ デザインパターン入門,結城 浩,SBクリエイティブ
Instructor 加藤 直孝

Course Objectives

オブジェクト指向言語であるJavaを用いて,the Gangs of Four (Erich Gamma, Richard Helm, Ralph Johnson, John Vissides) によるデザインパターンを学ぶ.23個のすべてを学ぶのではなく,その3分の1程度を学ぶ.オブジェクト指向言語では,インターフェースを考えるときにデザインパターンを学んでおくと,いろんな場面でそのパターンを適応できることが多い.そこで,本科目では,実際に動くデザインパターンのプログラムを書くことにより,再利用しやすく拡張しやすいプログラムを作成するコツをつかむことを目指す.まず,他人のプログラムのデザインパターンを見抜けることが最初の到達目標である.

Rubric

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1Javaによる基本的なプログラミングが自由にできる.Javaによるプログラミングができる.Javaによるプログラミングができない.
評価項目2オブジェクト指向のプログラミングが自由にできる.オブジェクト指向のプログラミングが理解できる.オブジェクト指向のプログラミンが理解できない.
評価項目3デザインパターンを適用したプログラミングができる.プログラム中のデザインパターンを見抜くことができる.デザインパターンが使われているかどうか理解できない.

Assigned Department Objectives

JABEE C-1 See Hide

Teaching Method

Outline:
オブジェクト指向言語であるJavaを用いて,Gangs of Four (Erich Gamma, Richard Helm, Ralph Johnson, John Vissides) によるデザインパターンを学ぶ.23個のすべてを学ぶのではなく,その3分の1程度を学ぶ.デザインパターンは概念であるがゆえに,本を読むだけでは理解できないことが多い.プログラムのパーツがどのように組み立てられているか,あるいはどのように関連しているかということを,デザインパターンの視点から学習する.オブジェクト指向言語では,インターフェースを考えるときにデザインパターンを学んでおくと,いろんな場面でそのパターンを適応でき役立つ.
Style:
この授業では,Gangs of Four (Erich Gamma, Richard Helm, Ralph Johnson, John Vissides) によるデザインパターンを学ぶが,彼らの原著は使わない.最終的には原著を読むことは大切であるが,ここでは日本人による教科書を使用して,授業を進める.この授業では実際に手を動かしプログラムを書いて,パターンを含んだプログラムを経験することに重点を置く.実際には,Javaでプログラミングしながら,デザインパターンを1つ1つ理解して,練習問題を解きながら進めていく.将来プログラム開発に携わる学生にとって,非常に有益な時間となるはずである.チームでデザインパターンを使って,好きなプログラムを開発する.評価は,そのプログラムとその発表で行う.JavaのPuzzleを課題として出す.
Notice:
Javaを初めて学ぶ学生のため,2回に1回程度の授業で,15分程度のJavaのチュートリアルを英語で聞き,英語アレルギーをなくす訓練もする.ただし,英語が苦手でも心配する必要はない.適宜日本語で説明する.L3教室でプログラミングを行いなら授業は進める.

Course Plan

Theme Goals
1st Semester
1st Quarter
1st オリエンテーション
Javaの導入(Eclipse等)
Javaのプログラミング環境を作る
2nd Javaに関する説明 Javaでプログラミングできる
3rd UMLについて学ぶ 最低限のUMLが理解できる
4th Javaである程度プログラミングができるようになる.
Iterator Design Pattern (1)を学ぶ
Javaでプログラミングができる.
5th Javaに関するTutorialを見る
Iterator Design Pattern (2)を学ぶ
独力でJavaを学習できる
Iterator Design Patternを理解できる
6th Adapter Design Patternを学ぶ Adapter Design Patternを理解する
Adapter Design Pattern の練習問題を解くことができる
7th デザインパターンを使ったチームのプログラムを作る(1) デザインパターンを使ったチームのプログラムを作る(1)
8th Template Method Design Pattern を学ぶ Template Method Design Pattern を理解できる
2nd Quarter
9th Factory Method Design Pattern を学ぶ Factory Method Design Pattern を理解できる
10th Singleton Design Patternを学ぶ Singleton Design Patternを理解できる
11th Prototype Design Patternを学ぶ Prototype Design Patternを理解できる
12th Builder Design Patternを学ぶ Builder Design Patternを理解できる
13th チームのプログラムの発表を行う(1) 開発したプログラムをPowerPointで説明し,プログラムをデモできる.
14th チームのプログラムの発表を行う (2) 開発したプログラムをPowerPointで説明し,プログラムをデモできる.
15th 予備 予備
16th

Evaluation Method and Weight (%)

試験発表相互評価態度ポートフォリオその他Total
Subtotal03000070100
基礎的能力0100003040
専門的能力000003030
分野横断的能力0200001030