MIT 6.172 Performance Engineering of Software Systems, Fall 2018
- Introduction and Matrix Multiplication
- Bentley Rules for Optimizing Work
- Bit Hacks
- Assembly Language & Computer Architecture
- C to Assembly
- Multicore Programming
- Races and Parallelism
- Analysis of Multithreaded Algorithms
- What Compilers Can and Cannot Do
- Measurement and Timing
- Storage Allocation
- Parallel Storage Allocation
- The Cilk Runtime System
- Caching and Cache-Efficient Algorithms
- Cache-Oblivious Algorithms
- Nondeterministic Parallel Programming
- Synchronization Without Locks
- Domain Specific Languages and Autotuning
- Leiserchess Codewalk
- Speculative Parallelism & Leiserchess
- Tuning a TSP Algorithm
- Graph Optimization
- High Performance in Dynamic Languages
MIT 6.034 Artificial Intelligence, Fall 2010
- Introduction and Scope
- Reasoning: Goal Trees and Problem Solving
- Reasoning: Goal Trees and Rule-Based Expert Systems
- Search: Depth-First, Hill Climbing, Beam
- Search: Optimal, Branch and Bound, A*
- Search: Games, Minimax, and Alpha-Beta
- Constraints: Interpreting Line Drawings
- Constraints: Search, Domain Reduction
- Constraints: Visual Object Recognition
- Introduction to Learning, Nearest Neighbors
- Learning: Identification Trees, Disorder
- Neural Nets / Deep Neural Nets
- Learning: Genetic Algorithms
- Learning: Sparse Spaces, Phonology
- Learning: Near Misses, Felicity Conditions
- Learning: Support Vector Machines
- Learning: Boosting
- Representations: Classes, Trajectories, Transitions
- Architectures: GPS, SOAR, Subsumption, Society of Mind
- Probabilistic Inference I
- Probabilistic Inference II
- Model Merging, Cross-Modal Coupling, Course Summary
- Mega-R1. Rule-Based Systems
- Mega-R2. Basic Search, Optimal Search
- Mega-R3. Games, Minimax, Alpha-Beta
- Mega-R4. Neural Nets
- Mega-R5. Support Vector Machines
- Mega-R6. Boosting
- Mega-R7. Near Misses, Arch Learning