This course is about that part of programming that focuses on parallelism and concurrency. It covers concurrency concepts that are universal to any programming language. The Java programming language is the main language used for practically addressing such aspects; and Erlang is also used for a topic in the course.