| 授業計画 | 
		
			| 回数 | 学習目標 | 学習項目 | 
		
			| 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 | ビッグオー表記によってソートを比較し説明出来る。 | 各種ソートのビッグオー表記による比較について説明。 | 
		
			| 【理解度確認】提出課題の結果および講義内の小テストにて確認が出来る。 |