コンピュータサイエンス

科目基礎情報

学校 久留米工業高等専門学校 開講年度 2018
授業科目 コンピュータサイエンス
科目番号 7E11 科目区分 専門 / 選択
授業形態 講義 単位の種別と単位数 学修単位: 2
開設学科 機械・電気システム工学専攻(電気電子工学コース) 対象学年 専2
開設期 前期 週時間数 2
教科書/教材 Java言語で学ぶ デザインパターン入門,結城 浩,SBクリエイティブ
担当教員 加藤 直孝

到達目標

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

ルーブリック

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

学科の到達目標項目との関係

JABEE B-1 説明 閉じる

教育方法等

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

授業計画

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

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング代入や演算子の概念を理解し、式を記述できる。3
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。3
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。3
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。3
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。3
ソフトウェアリスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。3

評価割合

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