,

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.