プログラミング演習Ⅲ

科目基礎情報

学校 木更津工業高等専門学校 開講年度 2016
授業科目 プログラミング演習Ⅲ
科目番号 0023 科目区分 専門 / 必修
授業形態 演習 単位の種別と単位数 履修単位: 2
開設学科 情報工学科 対象学年 4
開設期 通年 週時間数 2
教科書/教材 なし
担当教員 大枝 真一,丸山 真佐夫

到達目標

数百行程度のプログラム規模が想定される問題に対して、それを解くためのプログラムを設計、実装し、文書化するソフトウェア開発のプロセスを遂行する基礎的な能力を習得する。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
プログラム設計能力設定された問題を解くための優れたプログラムを設計できる。設定された問題を解くためのプログラムを設計できる。設定された問題を解くためのプログラムを設計できない。
プログラム実装能力可読性、保守性に優れたプログラムを実装できる。設定された問題を解決するプログラムを実装できる。設定された問題を解決するプログラムを実装できない。
ドキュメンテーション能力プログラムの仕様を文書化できる。プログラムの仕様をある程度文書化できる。プログラムの仕様を文書化できない。

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

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週

評価割合

レポート合計
総合評価割合100100
プログラム設計能力4040
プログラム実装能力4040
ドキュメンテーション能力2020