到達目標
グループによるプログラム開発の基礎的な能力を習得するとともに、セキュアなプログラミングについての基礎を理解する。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
グループによるプログラム開発能力 | グループメンバと協調して効率的にプログラム開発ができる。 | グループで作業を分担し、プログラム開発ができる。 | グループで作業を分担し、プログラム開発ができない。 |
ドキュメンテーション能力 | 保守、拡張作業の観点から優れたプログラム使用の文書化ができる。 | プログラムの仕様を文書化できる。 | プログラムの仕様を文書化できない。 |
セキュアプログラミング能力 | セキュアなプログラミングについての基礎を理解し、代表的な攻撃手法を実装できる。 | セキュアなプログラミングについての基礎を理解できる。 | セキュアなプログラミングについての基礎を理解できない。 |
学科の到達目標項目との関係
教育方法等
概要:
グループでのプログラム開発の過程として実装、テストを行う。また、セキュアなプログラミングの基礎を学ぶ。
授業の進め方・方法:
教員からの指示は最小限にとどめ、受講者自身の考えにもとづいて設計、実装する。
注意点:
これまでに講義で学習したデータ構造、アルゴリズムの知識を、現実の問題、実際のプログラミングに対して積極的に適用してみること。
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
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週 |
セキュアプログラミング(1) |
プログラム作成において注意すべきセ代表的なキュリティリスクを理解する。
|
14週 |
セキュアプログラミング(2) |
バッファオーバフロー攻撃などの基本的な攻撃手法を理解する。
|
15週 |
セキュアプログラミング(3) |
攻撃を行うプログラムを実装する。
|
16週 |
|
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
評価割合
| レポート | 合計 |
総合評価割合 | 100 | 100 |
グループによるプログラム開発能力 | 30 | 30 |
プログラム実装能力 | 60 | 60 |
セキュアプログラミング能力 | 10 | 10 |