1. 計算機アーキテクチャと高速化技術
- 計算機アーキテクチャとは
- フォンノイマン型計算機の構造
- 計算機の中でのデータの表現
- CPUの構造
- ムーアの法則とフォンノイマンボトルネック
- 高速化の基本
- スループットとレイテンシ
- キャッシュ
- パイプライニング
2. Operating System
- なぜOSが必要か
- コンピュータの仮想化
- プロセス管理
- 仮想メモリ
- 割り込み
3. データベースシステム
- 何故データベースが必要か
- 関係データモデルとSQL
- クエリ実行計画
- 正規形と一貫性
- 障害回復
4. プログラミング言語
- 構文と意味
- 様々なプログラミングモデル
- コンパイラの概要
5. 分散・並列処理
- スケーラビリティ・アンリライアビィティ・レイテンシ
- 階層的分散
- インターネットとウェブサービスでの分散処理
- 並列処理の必要性
- 命令レベル並列性
- メモリ階層性とメモリバンド幅
- アムダールの法則
- 競合状態
6. セキュリティ
- セキュリティの基本
- セキュリティへの脅威と対策の分類
- ネットワークにまつわるセキュリティ
7. ソフトウェア工学
- 現代のソフトウェアの構造
- 要求・仕様・設計・実装・運用・保守
- ウォーターフォールとアジャイル