到達目標
数百行程度のプログラム規模が想定される問題に対して、それを解くためのプログラムを設計、実装し、文書化するソフトウェア開発のプロセスを遂行する基礎的な能力を習得する。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
プログラム設計能力 | 設定された問題を解くための優れたプログラムを設計できる。 | 設定された問題を解くためのプログラムを設計できる。 | 設定された問題を解くためのプログラムを設計できない。 |
プログラム実装能力 | 可読性、保守性に優れたプログラムを実装できる。 | 設定された問題を解決するプログラムを実装できる。 | 設定された問題を解決するプログラムを実装できない。 |
ドキュメンテーション能力 | プログラムの仕様を文書化できる。 | プログラムの仕様をある程度文書化できる。 | プログラムの仕様を文書化できない。 |
学科の到達目標項目との関係
JABEE B-2
説明
閉じる
JABEE D-3
説明
閉じる
準学士課程 2(2)
説明
閉じる
教育方法等
概要:
小さなゲームを題材として、プログラムの設計、実装、文書化の手法を学習する。
授業の進め方・方法:
教員からの指示は最小限にとどめ、受講者自身の考えにもとづいて設計、実装する。
注意点:
これまでに講義で学習したデータ構造、アルゴリズムの知識を、現実の問題、実際のプログラミングに対して積極的に適用してみること。
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
msweeperプログラムの作成(1):設計 |
msweeperに必要な機能を理解し、プログラムを設計できる。
|
2週 |
msweeperプログラムの作成(2):実装 |
設計にもとづいて各関数等を実装できる。
|
3週 |
msweeperプログラムの作成(3):実装 |
設計にもとづいて各関数等を実装できる。
|
4週 |
msweeperプログラムの作成(4):テスト |
実装したプログラムのテストができる。
|
5週 |
msweeperプログラムの作成(5):文書化 |
作成したプログラムの仕様を文書化できる。
|
6週 |
robotsプログラムの作成(1):設計 |
robotsに必要な機能を理解し、プログラムを設計できる。
|
7週 |
robotsプログラムの作成(2):実装 |
設計にもとづいて各関数等を実装できる。
|
8週 |
(中間試験) |
|
2ndQ |
9週 |
robotsプログラムの作成(3):実装 |
設計にもとづいて各関数等を実装できる。
|
10週 |
robotsプログラムの作成(4):テスト |
実装したプログラムのテストができる。
|
11週 |
robotsプログラムの作成(5):文書化 |
作成したプログラムの仕様を文書化できる。
|
12週 |
グループ課題(1):設計 |
開発期間、メンバのスキルを考慮して開発するゲームの概要を合意できる。
|
13週 |
グループ課題(2):設計 |
開発期間、メンバのスキルを考慮して開発するゲームの機能仕様を決定できる。
|
14週 |
グループ課題(3): |
システム構造設計を行い、メンバのスキルを考慮して分担を決定できる。
|
15週 |
グループ課題(4) |
各担当部分について、詳細設計を行える。
|
16週 |
|
|
後期 |
3rdQ |
1週 |
グループ課題(5) |
設計にもとづいて関数等の機能単位の実装ができる。
|
2週 |
グループ課題(6) |
設計にもとづいて関数等の機能単位の実装ができる。
|
3週 |
グループ課題(7) |
設計上の問題を発見し、グループ全体で修正することができる。
|
4週 |
グループ課題(8) |
チーム全体の進捗を把握し、遅れている部分の援助、または援助の要請ができる。
|
5週 |
グループ課題(9) |
各担当部分をすべて実装することができる。
|
6週 |
グループ課題(10) |
各担当部分の単体テストが行える。
|
7週 |
グループ課題(11) |
単体テストで発見した問題を修正できる。
|
8週 |
(中間試験) |
|
4thQ |
9週 |
グループ課題(12) |
システム全体の結合テストを行える。
|
10週 |
グループ課題(13) |
結合テストで発見した問題を修正できる。
|
11週 |
グループ課題(14) |
システムの仕様を文書化できる。
|
12週 |
グループ課題(15) |
作成したプログラムの機能を発表、デモンストレーションするための資料を作成できる。
|
13週 |
グループ課題(16) |
作成したプログラムの機能を発表、デモンストレーションによって伝えることができる。
|
14週 |
セキュアプログラミング(1) |
バッファオーバフロー等の脆弱性の発生、悪用のメカニズムを理解する。
|
15週 |
セキュアプログラミング(2) |
自分のプログラムの脆弱性を発見し、修正できる。
|
16週 |
|
|
評価割合
| レポート | 合計 |
総合評価割合 | 100 | 100 |
プログラム設計能力 | 40 | 40 |
プログラム実装能力 | 40 | 40 |
ドキュメンテーション能力 | 20 | 20 |