Lessons

Lesson 1: Welcome & Overview

Lesson 2: Representing Programs

Lesson 3: Local Analysis & Optimization

Lesson 4: Data Flow

Lesson 5: Global Analysis

Lesson 6: Static Single Assignment

Lesson 7: LLVM

Lesson 8: Loop Optimization

Lesson 9: Interprocedural Analysis

Lesson 10: Alias Analysis

Lesson 11: Memory Management

Lesson 12: Dynamic Compilers

Lesson 13: Program Synthesis

Lesson 14: Concurrency & Parallelism