Intro
A Science of tradeoffs
Alternative approaches to concurrency
Mechanism Runtime and compile time
Implications of multi-core