Lecture 2: Concurrency and Parallelism