CURRICULUM
カリキュラム
- テックスタジアムで学ぶ内容と目標について- これから行う授業内容について説明
- 学習する技術について説明
- 全体スケジュールについて
 
- プロジェクトのバージョン管理- バージョン管理とは
- Gitについて概要の説明
- 環境の導入
 
- 開発環境の構築- 開発環境とは
- VisualStudioとは、IDEについて
- ビルドとは、コンパイル、インタプリタについて
- 環境の導入
 
- C++言語について- C++言語とは
- 関数とは
- カプセル化、オブジェクト指向について
- クラス設計について
 
- ライブラリについて- ライブラリとは
- 標準ライブラリについて
- その他のライブラリについて
 
- コーディングルールについて- コーディングルールとは
- 変数名、関数名、クラス名等
 
- 言語基礎- 変数とは
- 基本的な型について
- 拡張された型について
- 演算子
- 処理優先順位
- 制御文
- 反復文
- スコープ
- 配列
- ポインタ
- 参照(左辺値)
- 構造体
- 共用体
- const
 
- 文字列の扱い- char
- wchar
 
- 関数- 関数とは
- 関数プロトタイプ
 
- クラス- クラスとは
- アクセス制御
- コンストラクタ/デストラクタ
- 継承とは
- 仮想関数とは(純粋仮想関数、抽象クラス)
- operator
- 比較演算子
- <>
 
- VisualStudio- VisualStudioの利用方法
- デバッグについて
 
- 標準ライブラリ/標準C++ライブラリ- 標準入出力
- メモリ割り当て
- ファイル操作
- 文字列クラス
 
- スコープ- グローバルスコープ
- namespace
- class
- ローカルスコープ
 
- 定義- 定義の有効範囲
- スコープ解決演算子
 
- ビルドオプションについて- ビルドオプションとは
- ビルドオプションによるメモリ初期化の有無
- 初期化の重要性
 
- ワーニング、エラーについて- ワーニング、エラーとは
- 警告オプションについて
- pragmaとは
 
- 概要- アドレスとは
- 間接参照とは
 
- ポインタについて
- 参照について
- 概要- 動的メモリ確保とは
- new / delete
- DynamicMemAlloc
 
- 動的メモリ確保の問題点- メモリリーク
- ダンリングポインタ
- 二重開放
 
- スマートポインタ- 所有権とは
- uniqueポインタ
- sharedポインタ
 
- クラスの作成- クラスとは
- クラスの定義
- クラスの実装
- コンストラクタ/デストラクタ
- 初期化方法
 
- クラスの利用- ドット演算子
- オーバーロード
 
- 継承- 継承(派生クラス)
- オーバーライド
- 継承のトラブル
- 仮想関数
- 純粋仮想関数
- 抽象クラス
 
- operatorとは
- クラスの設計について- デザインパターン
- 実装
 
- アロー演算子とは
- 仮想デストラクター- 仮想デストラクターについて
- 仮想デストラクターの実装
 
- 定数- 定数とは
- define
- enum
- const
- 利用の重要性を詳しく説明
 
- マクロ- マクロとは
- マクロの実装
 
- template- template Tとは
- templateの実装
 
- 関数の可変長引数について- 旧来の記述方法
- 現在の記述方法
 
- デバッグ- デバッグとは
- デバッグ方法について
- ログ
- ブレイクポイント
- ウォッチ
- コールスタック
- ライトブレイク
- assert
 
- 色々な要件でのクラス設計について
- アクセス制御やconstを利用したセキュアなクラス設計
- 範囲for文について
- スマートポインタ
- 動的メモリ確保の問題点1- 循環参照とは
 
- 動的メモリ確保の問題点2- 失敗事例
- 確保されたメモリは開放が必要という点について
- スコープと開放について
- ガベージコレクションとは
 
- 名前の隠蔽
- using宣言
- 型変換- 静的
- 動的
- RTTI
 
- 暗黙の型変換
- 比較応用- charポインタ型の比較には注意
- float型の比較(計算結果の場合)→float型で比較をするな
 
- アップキャスト/ダウンキャスト- アップキャストとは
- アップキャストの実装
- ダウンキャストとは
- 危険性について説明
 
- オブジェクト指向/カプセル化- オブジェクト指向の考え方
- カプセル化
 
- ポリモーフィズム- ポリモーフィズムとは
- オーバーロード/オーバーライドとの関連性について
- 有用性について説明
 
- STLとは
- コンテナ- 直列コンテナ(vector, list, deque)
- 連想コンテナ(map, set)
- コンテナアダプタ(stack, queue)
 
- スレッド基礎- スレッドとは
- threadの実装
- threadの危険性
 
- スレッド応用- セマフォ、ミューテックス
- デッドロック
- スレッドID
 
- 文字コード- 文字コードとは
- ファイルを扱う際の注意
 
- アライメントについて- アライメントとは
- コンシューマハード等メモリ量制約が多い環境での必要性
- x86 128bit(16byte)アライメント効率
 
- デザインパターン- デザインパターンとは
- デザインパターン例数種
 
- 計算量について- 計算量(オー)とは
- 処理コスト、乗算等
- STLを利用する事で減らす事が可能
- ソート
- 探索
 
- 色々な要件でのクラス設計について1
- 色々な要件でのクラス設計について2
- 今までに学んだ内容の振り返り
- 最終課題について
- 企画発表
- 中間発表
- 最終発表
- ポートフォリオ制作
 
											 
											 
											