![]() ![]() |
科目一覧へ戻る | 2019/01/02 現在 |
科目名(和文) /Course |
ソフトウェア演習Ⅱ |
---|---|
科目名(英文) /Course |
Programming Exercise II |
時間割コード /Registration Code |
22145601 |
学部(研究科) /Faculty |
情報工学部 |
学科(専攻) /Department |
情報システム工学科 |
担当教員(○:代表教員)
/Principle Instructor (○) and Instructors |
○横川 智教 , 天嵜 聡介 , 但馬 康宏 , 石井 裕 |
オフィスアワー /Office Hour |
横川 智教(1?2Q:火曜 4 限,3?4Q:火曜 3 限,場所:2504 *授業に関する質問は随時受け付けます. *急な会議?出張等のため不在にすることがあります.) 天嵜 聡介(毎週火曜日4限: 2515室) 但馬 康宏(水曜2限、2604室) 石井 裕(木曜5限 2404室) |
開講年度 /Year of the Course |
2018年度 |
開講期間 /Term |
後期 |
対象学生 /Eligible Students |
2年次生 |
単位数 /Credits |
2.0 |
更新日 /Date of renewal |
2018/03/15 |
---|---|
使用言語 /Language of Instruction |
日本語 |
オムニバス /Omnibus |
該当なし |
授業概略と目的 /Cource Description and Objectives |
プログラムを作成し,コンピュータを用いて問題解決を図るには,問題を分析し,アルゴリズムやデータ構造を検討した上で,プログラミング言語を用いて問題の解法を記述する能力が要求される.この演習では,ソフトウェア演習Ⅰで修得した基礎的なプログラム作成能力を基に,より高度なプログラム作成能力の養成を目標とする. |
履修に必要な知識?能力?キーワード /Prerequisites and Keywords |
「プログラミング言語Ⅰ」「ソフトウェア演習Ⅰ」「データ構造とアルゴリズム」で学習したプログラミングおよびアルゴリズムに関する知識および技術が必要である. また,同時開講される「プログラミング言語Ⅱ」を履修していることが望ましい. |
履修上の注意 /Notes |
|
教科書 /Textbook(s) |
「新C言語入門 シニア編」,林晴比古著,ソフトバンククリエイティブ |
参考文献等 /References |
「定本Cプログラマのためのアルゴリズムとデータ構造」,近藤嘉雪,ソフトバンククリエイティブ |
自主学習ガイド /Expected Study Guide outside Coursework/Self-Directed Learning Other Than Coursework |
毎回の演習時に行う課題について,復習を行うこと. |
資格等に関する事項 /Attention Relating to Professional License |
|
備考 /Notes |
No. | 単元(授業回数) /Unit (Lesson Number) |
単元タイトルと概要 /Unit Title and Unit Description |
時間外学習 /Preparation and Review |
配布資料 /Handouts |
---|---|---|---|---|
1 | 1?2 | [C言語の復習] ソフトウェア演習Ⅰにおいて学習した,if 文および for 文による制御構造をもつプログラム,配列や構造体をデータ構造としてもつプログラム,そして関数を用いたプログラムの作成について簡単に復習する. |
||
2 | 3?4 | [多次元配列] スライディングパズルを例題として,多次元配列をデータ構造としてもちユーザの操作によってデータの更新を行うプログラムを作成する. |
||
3 | 5?6 | [ファイル入出力] ファイルの入出力を行うプログラムを作成する. |
||
4 | 7 | [確認試験(1)] これまでに取り組んだ課題に関する理解度の確認を行う. |
||
5 | 8?9 | [線形リスト] ポインタと構造体で実現される線形リストをデータ構造としてもつプログラムを作成する. |
||
6 | 10 | [インタフェース] 対戦型ゲームのインタフェースについて検討し,実装する. |
||
7 | 11?12 | [対戦型ゲームの思考ルーチンの実装] 再帰を用いたゲーム木の探索に基づく思考ルーチンを実装する. |
||
8 | 13 | [確認試験(2)] これまでに取り組んだ課題に関する理解度の確認を行う. |
||
9 | 14?15 | [ランダム性をもつ対戦型ゲームの実装] ランダム性をもつゲームの思考ルーチンを実装する. |
No. |
到達目標 /Learning Goal |
知識?理解 /Knowledge & Undestanding |
技能?表現 /Skills & Expressions |
思考?判断 /Thoughts & Decisions |
伝達?コミュニケーション /Communication |
協働 /Cooperative Attitude |
||
---|---|---|---|---|---|---|---|---|
1 | 解決すべき問題をより小さな問題へと分割し,単純な機能を持つ関数の組み合わせとしてその解法を実現する能力を習得する. | ○ | ○ | ○ | ||||
2 | 線形リストや二分探索木などのデータ構造や,再帰呼出を用いたアルゴリズムをプログラムとして実装する能力を習得する. | ○ | ○ | ○ | ||||
3 | 設計?実装したプログラムが,与えられた要件を満たしていることを確認し,客観的に説明する能力を習得する. | ○ | ○ | ○ |
No. |
到達目標 /Learning Goal |
定期試験 /Exam. |
確認試験 | レポート | |||
---|---|---|---|---|---|---|---|
1 | 解決すべき問題をより小さな問題へと分割し,単純な機能を持つ関数の組み合わせとしてその解法を実現する能力を習得する. | ○ | ○ | ||||
2 | 線形リストや二分探索木などのデータ構造や,再帰呼出を用いたアルゴリズムをプログラムとして実装する能力を習得する. | ○ | ○ | ||||
3 | 設計?実装したプログラムが,与えられた要件を満たしていることを確認し,客観的に説明する能力を習得する. | ○ | |||||
評価割合(%) /Allocation of Marks |
40 | 60 |