ソフトウェア設計及び実験
Software design and experiment
目的
大規模ソフトウェアの作成を通じ,総合的能力(問題設定,問題分析,問題解決,能動的学習,グループワーク,コミュニケーション技術)および専門的能力(ツール運用,分析/設計,コーディング,デバッグ手法)を短期間のうちに習得することを目的としている.
概要
前期は,レポート作成技術を学んだ後,Makefileの作成法,ライブラリー化,デバックツールの使用法等,プログラミング手法の基礎的課題に個人単位で取り組む.その後,グループ課題として,ロボカップ·サッカーシミュレーターの作成を行う.グループ開発を行う前に,エージェントの基本動作を個人単位で習得した後,戦略性を持ったエージェントをグループ単位で開発し,最終的に試合コンテストを行う. 後期は,ユーザー·インターフェイス,ネットワーク·プログラミング,統合·モジュール化手法を個人単位で取り組む.その後,企画立案ならびにプレゼンテーション技術を学んだ後,メタな課題(例えば,GUIを用いたネットワークプログラミングによる対戦型ゲームの作成)に対して,グループ単位で企画,立案,ソフトウェア開発を行い,最終的にコンテストを行う.
キーワード
プログラム作法,デバッグ手法,グループワーク,ネットワークプログラム,モジュール化
要件
コンピューター入門1,2,データ構造とアルゴリズム1,2の履修を前提にして実験を行う.
目標
1. | 抽象的な問題を具体的な問題に分析し,方針を決め,適切な手法をとり,粘り強く問題を解決する能力を育成する. |
2. | チームで協力しあって企画,スケジューリング, 設計,製作,評価,保守などの各プロセスを期限内で遂行する能力を育成する. |
3. | 成果を口頭または文書により明確かつ論理的に表現でき,プレゼンテーションによって双方向コミュニケーションを行える能力を育成する. |
計画
1. | ソフトウェアガイダンス |
2. | プログラミング手法1(プログラム作法) |
3. | プログラミング手法2(ライブラリー化) |
4. | プログラミング手法3(デバックツール) |
5. | サッカーシミュレーターの全体説明 |
6. | エージェントの基本動作1 |
7. | エージェントの基本動作2 |
8. | エージェントの基本動作3 |
9. | エージェントの基本動作4 |
10. | エージェント·プログラムの開発 |
11. | 〃 |
12. | 〃 |
13. | 試合コンテスト |
14. | 戦術プレゼンテーション |
15. | ユーザー·インターフェイス1 |
16. | ユーザー·インターフェイス2 |
17. | ネットワークプログラミング |
18. | STLプログラミング |
19. | 統合·モジュール化 |
20. | 企画の仕方,最終課題説明 |
21. | 企画プレゼンテーション |
22. | 最終課題のソフト開発 |
23. | 〃 |
24. | 〃 |
25. | 〃 |
26. | 〃 |
27. | 〃 |
28. | 〃 |
29. | 最終プレゼンテーション |
30. | コンテスト |
31. | 予備日 |
評価
基礎課題レポート,プレゼンテーション(発表),総合課題レポートを総合して評価する.
対象学生
開講コース学生のみ履修可能
教科書
各実験毎に指定される.
参考資料
各実験毎に指定される.
連絡先
- オフィスアワー: 木曜日:15時∼18時
- オフィスアワー: 木曜日 15:00∼18:00(年度ごとに学科の掲示を参照すること)
- オフィスアワー: 月曜日∼金曜日:午後5時∼6時
- オフィスアワー: 月曜日,火曜日(17:00-18:00)
- オフィスアワー: 8.30-5.30
- オフィスアワー: 月曜日午後6時から午後8時
備考
1. | 無断欠席および遅刻,期限後の報告提出は一切認められていない. |
2. | 全ての実験と発表をおこない,全てのレポートを提出することが義務づけられている. その上で,基礎課題レポート,プレゼンテーション(発表),総合課題レポートを,5対2対3の比率で評価する. 但し,この比率は変更されることがある. |