1. トップ
  2. 学校紹介
  3. 情報公開
  4. 学科情報
  5. シラバス - 科目一覧

シラバス

ゲーム制作科 2024年度入学生

科目名 C言語Ⅲ 作成日 2024/03/07
区分 必修 講義/実習
開催時期 2年次 前期
講義・演習駒数/週 1駒
実習・実験駒数/週 1駒
合計駒数/週 2駒
総時間数 60時間
総単位数 3単位
企業連携
授業の目的 コンシューマゲーム業界で使われるC++の文法を学び、既存のソースコードを読めるようになることを目的とする。
到達目標 ①CとC++の違いの説明が出来る。 ②クラスの説明(定義、インスタンス、アクセス権、継承、ポリモーフィズム)が出来る。 ③三種類のスマートポインタの違いの説明が出来る。

評価項目 ①定期テスト ②小テスト ③レポート ④課題 ⑤作品 ⑥ポートフォリオ ⑦成果発表 ⑧その他
割合 60%  %  % 30%  %  %  % 10%
評価基準
評価基準1. 【中間テスト】試験で60点以上取得する。 評価基準2. 【期末テスト】試験で60点以上取得する。 評価基準3. 【実習課題】教科書に記載された課題のうち、必須範囲を全て合格する。 評価基準4. 【出席点】出席率を85%以上にする。 評価基準1から4すべてを達成して単位取得とし、評価基準1~4の合計点にて秀優良可の評価を行う。
※上記に示した評価項目の割合(%)を基準に、総合評価点を算出して成績評価を行う。
※出席率が80%未満の場合は、評価対象としない。

担当教員 三枝 尚登、大久保 繁
テキスト・参考文献 C言語Ⅲテキスト(ブルー、日本電子専門学校) 新・明解C++入門編 (明解シリーズ)(SBクリエイティブ)
実務経験有無  
大久保 繁 ゲーム開発会社(デベロッパー)において、C++でのゲーム開発の実務に携わり、家庭用ゲーム機の開発タイトルの実績が多数ある。その経験を活かして、職業実践的な教育を行う。 
関連科目 C言語Ⅱ、アルゴリズム  履修前提   

授業計画

回数 学習目標 学習項目
1 ・参照(reference)およびconst属性について理解出来る。 ・引数を参照およびconst参照にするメリットを理解し、説明出来る。  ・シラバス・成績評価、本授業におけるC++の特色について説明。 ・参照およびconst属性について説明。 ・他の手法と比較しながら引数をconst参照にすることのメリットについて説明。 
【理解度確認】 実習時、提出課題の結果にて確認が出来る。
2 構造体(struct)を利用したデータ構造、およびメソッド(振る舞い)を理解し、 メソッドを含めた構造体を作成出来る。  ・構造体におけるメソッドの作成方法について説明。 ・メソッドを含めた構造体の作成について実演・説明。 
【理解度確認】実習時、提出課題の結果にて確認が出来る。
3 ・アクセスラベル(public/private)を理解し説明出来る。 ・アクセスラベルも含めクラス(class)を利用したデータ構造を作成出来る。  ・アクセスラベル(public/private)について説明。 ・アクセスラベルを含めたクラス(class)の作成について説明。 
【理解度確認】実習時、提出課題の結果にて確認が出来る。
4 ・デフォルトコンストラクタについて説明出来る。 ・デストラクタについて説明出来る。 ・引数付きコンストラクタ、初期化子リストについて説明出来る。  ・デフォルトコンストラクタ、デストラクタについて説明。 ・引数付きコンストラクタの作成・注意点について説明。 ・初期化子リストについて説明。 
【理解度確認】実習時、提出課題の結果にて確認が出来る。
5 ・コピーコンストラクタについて説明出来る。 ・constオブジェクト、constメソッドについて説明出来る。 ・default/deleteによるコンストラクタ/デストラクタの作成について説明出来る。   ・コピーコンストラクタについて説明。 ・constオブジェクト、constメソッドについて説明。 ・default/deleteによるコンストラクタ/デストラクタの作成について説明。 
【理解度確認】実習時、提出課題の結果にて確認が出来る。
6 ・static,friendの効果・用途について説明出来る。 ・関数のオーバーロードについて説明出来る。 ・オペレータ(演算子)のオーバーロードについて説明出来る。  ・static,friendの効果・用途について説明出来る。 ・関数のオーバーロードについて説明出来る。 ・オペレータ(演算子)のオーバーロードについて説明出来る。 
【理解度確認】実習時、提出課題の結果にて確認が出来る。
7 ・public継承について説明出来る。 ・継承元クラスのprivate属性およびprotected属性について説明出来る。 ・private継承および包含について説明出来る。  ・public継承について説明。 ・継承元クラスのprivate属性およびprotected属性について説明。 ・private継承および包含について説明。 
【理解度確認】実習時、提出課題の結果にて確認が出来る。
8 ・これまでの学習内容(第1~7回)について改めて整理・理解して説明出来る。 ・中間テスト(第1~6回の内容が試験範囲)による学習結果の数値化が出来る。  ・第1~7回までの復習内容について説明。 ・実習時に中間テスト(第1~6回の内容が試験範囲)を実施。 
【理解度確認】 実習時の提出課題の結果及び中間テストの結果にて確認が出来る。
9 ・仮想関数(virtual)について説明出来る。 ・仮想デストラクタについて説明出来る。  ・仮想関数(virtual)について説明。 ・デストラクタによるメモリリークの可能性および仮想デストラクタについて説明。 ・override,finalなど仮想関数と関連した用語について説明。  
【理解度確認】実習時、提出課題の結果にて確認が出来る。
10 ・純粋仮想関数について説明出来る。 ・抽象クラスについて説明出来る。  ・純粋仮想関数と仮想関数との比較について説明。 ・抽象クラスについて説明。  
【理解度確認】実習時、提出課題の結果にて確認が出来る。
11 抽象クラスを活用したゲームプログラミングにおける設計手法について説明出来る。   抽象クラスを活用した設計手法・デザインパターンについて説明。 
【理解度確認】実習時、提出課題の結果にて確認が出来る。
12 テンプレート機能を応用した各種STL(Standard Template Library)を活用出来る。  ・テンプレート機能の基礎について説明。 ・STLを活用したデータ構造およびイテレータについて説明。 
【理解度確認】実習時、提出課題の結果にて確認が出来る。
13 ・ダングリングポインタによる問題点を説明出来る。 ・スマートポインタの用途・メリットについて説明出来る。  ・new/deleteによるメモリの動的確保、およびその問題点について説明。 ・スマートポインタについて用途・メリットの概略について説明。 
【理解度確認】実習時、提出課題の結果にて確認が出来る。
14 ・用途に応じたスマートポインタの使い分けが出来る。 ・循環参照とその対処方法について説明出来る。  ・unique_ptr,shared_ptr,weak_ptrについてそれぞれ説明。 ・shared_ptrによる循環参照、weak_ptrを使った対処方法をそれぞれ説明。 
【理解度確認】実習時、提出課題の結果にて確認が出来る。
15 比較的新しいC++の機能を理解し、説明・活用出来る。  ・第1~14回で扱えなかったC++の機能について説明。 ・第8~14回までの復習内容について説明。 
【理解度確認】実習時、提出課題の結果にて確認が出来る。