![]()  | 
    
| 科目名/Course: ソフトウェア演習Ⅱ/Programming ExerciseⅡ | |
| 科目一覧へ戻る | 2025/09/12 現在 | 
| 科目名(和文) /Course  | 
          ソフトウェア演習Ⅱ | 
|---|---|
| 科目名(英文) /Course  | 
          Programming ExerciseⅡ | 
| 時間割コード /Registration Code  | 
          22145601 | 
| 学部(研究科) /Faculty  | 
          情報工学部 | 
| 学科(専攻) /Department  | 
          情報システム工学科 | 
| 担当教員(○:代表教員)
                             /Principle Instructor (○) and Instructors  | 
          ○横川 智教 , 但馬 康宏 | 
| オフィスアワー /Office Hour  | 
          
              横川 智教(前期:火曜2限,後期:火曜2限 (出張等で不在にする場合があります) 場所:2504室) 但馬 康宏(水曜2限 2604室)  | 
        
| 開講年度 /Year of the Course  | 
          2025年度 | 
| 開講期間 /Term  | 
          後期 | 
| 対象学生 /Eligible Students  | 
          2年次生 | 
| 単位数 /Credits  | 
          2.0 | 
| 更新日 /Date of renewal  | 
          2025/03/03 | 
|---|---|
| 使用言語 /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  | 
	    |
| アクティブラーニングに関する事項 /Attention Relating to Active Learning  | 
	    
本科目では以下のアクティブラーニングを採用している. ?振り返り(小テスト,ミニッツペーパー,オンラインチャット等も含む) ?課題(宿題等)  | 
	  
| 実務経験に関する事項 /Attention Relating to Operational Experiences  | 
	    
本科目は「実務経験のある教員による授業科目」又は「主として実践的教育から構成される授業科目」である. その内容等については,次のアドレスの一覧表を参照. /guide/guide_detail/index/1860.html  | 
	  
| 備考 /Notes  | 
	    【授業形態】本科目は,試験以外の一部または全部をオンライン授業(リアルタイム)で実施する可能性がある. | 
| No. | 単元(授業回数) /Unit (Lesson Number)  | 
          単元タイトルと概要 /Unit Title and Unit Description  | 
          時間外学習 /Preparation and Review  | 
          配付資料 /Handouts  | 
              
|---|---|---|---|---|
| 1 | 1 | [C言語の復習] ソフトウェア演習Ⅰにおいて学習した,if 文および for 文による制御構造をもつプログラム,配列や構造体をデータ構造としてもつプログラム,そして関数を用いたプログラムの作成について簡単に復習する.  | 
                ||
| 2 | 2?3 | [確認試験および復習(1)] 現時点でのプログラミングに関する理解度の確認を行う.  | 
                ||
| 3 | 4?5 | [多次元配列] スライディングパズルを例題として,多次元配列をデータ構造としてもちユーザの操作によってデータの更新を行うプログラムを作成する.  | 
                ||
| 4 | 6?7 | [ファイル入出力] ファイルの入出力を行うプログラムを作成する.  | 
                ||
| 5 | 8?9 | [確認試験および復習(2)] これまでに取り組んだ課題に関する理解度の確認を行う.  | 
                ||
| 6 | 10?11 | [線形リスト] ポインタと構造体で実現される線形リストをデータ構造としてもつプログラムを作成する.  | 
                ||
| 7 | 12?13 | [確認試験および復習(3)] これまでに取り組んだ課題に関する理解度の確認を行う.  | 
                ||
| 8 | 14?15 | [対戦型ゲームの実装] 対戦型ゲームのインタフェースについて検討し,実装する.さらに,再帰を用いたゲーム木の探索に基づく思考ルーチンを実装する.  | 
                
| No. | 
                                到達目標 /Learning Goal  | 
                            
                                知識?理解 /Knowledge & Undestanding  | 
                            
                                技能?表現 /Skills & Expressions  | 
                            
                                思考?判断 /Thoughts & Decisions  | 
                            
                                伝達?コミュニケーション /Communication  | 
                            
                                協働 /Cooperative Attitude  | 
                            ||
|---|---|---|---|---|---|---|---|---|
| 1 | 解決すべき問題をより小さな問題へと分割し,単純な機能を持つ関数の組み合わせとしてその解法を実現する能力を習得し,実践できる.(D) | ○ | ○ | ○ | ||||
| 2 | 線形リストや二分探索木などのデータ構造や,再帰呼出を用いたアルゴリズムをプログラムとして実装する能力を習得し,実践できる.(D) | ○ | ○ | ○ | ||||
| 3 | 設計?実装したプログラムが,与えられた要件を満たしていることを確認し,客観的に説明する能力を習得し,実践できる.(D) | ○ | ○ | ○ | 
| No. | 
                                到達目標 /Learning Goal  | 
                            
                                定期試験 /Exam.  | 
                            確認試験 | レポート | |||
|---|---|---|---|---|---|---|---|
| 1 | 解決すべき問題をより小さな問題へと分割し,単純な機能を持つ関数の組み合わせとしてその解法を実現する能力を習得し,実践できる.(D) | ○ | |||||
| 2 | 線形リストや二分探索木などのデータ構造や,再帰呼出を用いたアルゴリズムをプログラムとして実装する能力を習得し,実践できる.(D) | ○ | ○ | ||||
| 3 | 設計?実装したプログラムが,与えられた要件を満たしていることを確認し,客観的に説明する能力を習得し,実践できる.(D) | ○ | |||||
| 
                                評価割合(%) /Allocation of Marks  | 
                            50 | 50 | |||||