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

シラバス

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

科目名 アルゴリズム 作成日 2026/03/18
区分 必修 講義/演習
開催時期・標準履修年次 2年次 後期
講義・演習駒数/週 2駒
実習・実験駒数/週 0駒
合計駒数/週 2駒
総時間数 60時間
総単位数 4単位
企業連携
授業の目的 今まで学習したプログラムの知識を活かしてアルゴリズム(データ構造と検索、ソート、マージ)を熟考することで、プログラマとしての就職準備(予習復習)を行うのが目的である。
到達目標 ・データ構造、検索、ソートについて複数以上の方法を列挙し、適切に選択出来る。 ・数学的な性質を利用して要求を満たしたプログラムを作成することが出来る。

評価項目 ①定期テスト ②小テスト ③レポート ④課題 ⑤作品 ⑥ポートフォリオ ⑦成果発表 ⑧その他
割合 50% 25%  % 25%  %  %  %  %
評価基準
評価基準1. 【演習課題】配布プリントに記載した演習課題のうち、指定の必須範囲を全て合格する。 評価基準2. 【期末テスト】試験に参加して、合格点(60点以上)を取る。 ※試験の結果、合格点に満たない場合は小テストの成績・解答状況を考慮して基準達成の判断を行う。 以上、評価基準1,2を全て達成して単位取得とする。 なお、秀/優/良/可の判定評価は単位取得した学生に対し、 上記の評価方法の配分で評価点を算出し、その合計点で秀/優/良/可の判定・評価を行う。 生成系AIは授業時間中の使用、問題演習での使用、ソースコードの出力など全て禁止とする。 提出されたソースコードに関して、説明を求める場面もあるため、 自身の力で説明・コーディングが出来るよう、内容の理解に努めること。
※上記に示した評価項目の割合(%)を基準に、総合評価点を算出して成績評価を行う。
※出席率が80%未満の場合は、評価対象としない。

担当教員 三枝 尚登、大久保 繁
テキスト・参考文献 配布プリント
実務経験有無  
大久保 繁 ゲーム開発会社(デベロッパー)において、C++でのゲーム開発の実務に携わり、家庭用ゲーム機の開発タイトルの実績が多数ある。その経験を活かして、職業実践的な教育を行う。 
授業外学習
(予習・復習等)
予習:次回授業の単元に関して事前に調査し、重要語句を確認する。 復習:講義で扱ったサンプルコードを実装し、小テストを完答できるまで繰り返し解いて復習する。  履修前提
※自由選択科目のみ記載
  

授業計画

回数 学習目標 学習項目
1 授業の目的および成績評価の方法について理解し説明出来る。   ・シラバス、成績評価について説明。 ・アルゴリズムの効用として効率的な計算手法を具体例を利用して紹介。  
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。 
2 剰余の基本的な性質を理解し、曜日や時間/分などの計算が出来る。   ・剰余の基本性質について説明。 ・剰余を利用した曜日計算・時間/分の計算について説明。  
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。 
3 ・効率化を意識した剰余の計算が出来る。 ・ユークリッドの互除法を利用した最大公約数の計算が出来る。   ・剰余を利用した効率的な計算手法について説明。 ・ユークリッドの互除法について説明。 
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。 
4 ・指数について理解し計算出来る。 ・預金の利子を題材とした複利計算が出来る。   ・指数について説明。 ・指数計算、複利計算について説明。  
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。 
5 対数について理解し計算出来る。   ・対数について説明。 ・ガチャ(抽選式のアイテム獲得)を例とした対数の利用・計算について説明。  
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。 
6 関数の変化量を踏まえてビッグオー表記のメリットを理解し説明出来る。   ・ビッグオー表記(オーダー記法)について説明。 ・指数関数、対数関数も含めた関数の変化量について説明。  
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。 
7 「線形探索」「二分探索」をそれぞれ比較し、意味やメリットについて説明出来る。  ・線形探索・二分探索についてそれぞれ説明。 ・二分探索のメリットや注意点について説明。 
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。 
8 ・「vector(可変長配列)」がどのようなデータ構造なのか説明出来る。 ・他のSTLコンテナと比較したvectorのメリット・デメリットを説明出来る。  ・C++の「vector(可変長配列)」について説明。 ・「vector」の各基本操作の計算量オーダーについて説明。 
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。 
9 ・「list(双方向リスト)」がどのようなデータ構造なのか説明出来る。 ・他のSTLコンテナと比較したlistのメリット・デメリットを説明出来る。 ・イテレータによりデータ構造に依らずにSTLコンテナを活用出来る。  ・C++の「list(双方向リスト)」について説明。 ・「list」の各基本操作の計算量オーダーについて説明。 ・イテレータ(iterator)の用途について説明。 
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。 
10 ・「二分木」が表すデータ構造について説明出来る ・他のSTLコンテナと比較したmapのメリット・デメリットを説明出来る。  ・「二分木」のデータ構造について説明。 ・C++の「map」について説明。 ・「map」の各基本操作の計算量オーダーについて説明。 
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。 
11 ・比較的新しいC++の機能を利用して処理をより簡便に実装出来る。 ・C++で搭載された基礎的なアルゴリズム機能を説明・活用出来る。  ・比較的新しいC++の機能について説明。 ・ヘッダを利用した基礎的な機能について説明。 
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。 
12 関数オブジェクト(ファンクタ)などを利用して ヘッダに搭載された機能を説明・活用出来る。  関数(オブジェクト)が必要な機能について 用法・実装例について説明。 
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。 
13 「バブルソート」を通じて基本的なソートの流れを知り、実装が出来る。   バブルソートについて説明。  
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。 
14 「マージソート」「クイックソート」を通じて 比較的高速なソートの概要を理解し説明出来る。   マージソート、クイックソートについて説明。  
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。 
15 ビッグオー表記によってソートを比較し説明出来る。  各種ソートのビッグオー表記による比較について説明。 
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。