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

シラバス

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

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

評価項目 ①定期テスト ②小テスト ③レポート ④課題 ⑤作品 ⑥ポートフォリオ ⑦成果発表 ⑧その他
割合 50% 25%  % 25%  %  %  %  %
評価基準
評価基準1. 【実習課題】配布プリントに記載された課題のうち、指定された必須範囲を全て合格する。 評価基準2. 【出席点】出席2点、遅刻、早退1点とし、基準点である50点以上にする。       但し忌引き、公欠は基準点から-2点とする。 評価基準3. 【期末テスト】試験に参加する。 以上評価基準1~3を全て達成して単位取得とする。 秀/優/良/可の判定評価は単位取得した学生に対し、上記評価項目の割合によって判定・評価を行う。
※上記に示した評価項目の割合(%)を基準に、総合評価点を算出して成績評価を行う。
※出席率が80%未満の場合は、評価対象としない。

担当教員 三枝 尚登、大久保 繁
テキスト・参考文献 配布プリント
実務経験有無  
大久保 繁 ゲーム開発会社(デベロッパー)において、C++でのゲーム開発の実務に携わり、家庭用ゲーム機の開発タイトルの実績が多数ある。その経験を活かして、職業実践的な教育を行う。 
関連科目 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 ビッグオー表記によってソートを比較し説明出来る。  各種ソートのビッグオー表記による比較について説明。 
【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。