Parallel, Concurrent, and Distributed Programming in Java Specialization

Boost your programming expertise with parallelism and learn the fundamentals of parallel, concurrent, and distributed programming.

COMP 140: Computational Thinking

Develop core computer science skills and learn about problem solving in a way that utilizes computation.

Parallel Programming in Java

Learn to use popular parallel Java frameworks to write parallel programs for a wide range of multicore platforms , while also learning about their theoretical foundations.

Concurrent Programming in Java

Learn to use basic concurrency constructs in Java such as threads, locks, accumulators, concurrent collections, and actors, as well as their theoretical foundations.

Distributed Programming in Java

Learn to use popular distributed programming frameworks from Java programs, as well as interfaces for locality-aware scheduling in multicore processors.
, ,

COMP 130: Elements of Algorithms & Computation

Learn an introduction to computer science and programming and go beyond the basics of programming to learn actionable strategies for real world problem solving.
, ,

Fundamentals of Computing Specialization

Learn sophisticated programming skills in Python from the ground up and apply these skills in building more than 20 fun projects.