Overview
Concurrent programming enables developers to efficiently and correctly mediate the use of shared resources in parallel programs. By the end of this course, you will learn how to use basic concurrency constructs in Java such as threads, locks, critical sections, atomic variables, isolation, actors, optimistic concurrency and concurrent collections, as well as their theoretical foundations (e.g., progress guarantees, deadlock, livelock, starvation, linearizability).
Why take this course?
• It is important for you to be aware of the theoretical foundations of concurrency to avoid common but subtle programming errors. • Java 8 has modernized many of the concurrency constructs since the early days of threads and locks. • During the course, you will have online access to the instructor and mentors to get individualized answers to your questions posted on the forums. • Each of the four modules in the course includes an assigned mini-project that will provide you with the necessary hands-on experience to use the concepts learned in the course on your own, after the course ends. The desired learning outcomes of this Concurrent Programming in Java course offered by Coursera in partnership with Rice University are as follows: • Concurrency theory: progress guarantees, deadlock, livelock, starvation, linearizability • Use of threads and structured/unstructured locks in Java • Atomic variables and isolation • Optimistic concurrency and concurrent collections in Java (e.g., concurrent queues, concurrent hashmaps) • Actor model in Java Mastery of these concepts will enable you to immediately apply them in the context of concurrent Java programs, and will also help you master other concurrent programming system that you may encounter in the future (e.g., POSIX threads, .NET threads).
Get more details
Visit programme websiteProgramme Structure
Course structure:
- Threads
- Structured Locks
- Unstructured Locks
- Liveness
- Dining Philosophers
- Demonstration: Locking and Synchronization
Check out the full curriculum
Visit programme websiteKey information
Duration
- Part-time
- 1 days
Start dates & application deadlines
Language
Delivered
Disciplines
Computer Sciences Software Engineering View 746 other Short Courses in Computer Sciences in United StatesExplore more key information
Visit programme websiteAcademic requirements
We are not aware of any specific GRE, GMAT or GPA grading score requirements for this programme.
English requirements
We are not aware of any English requirements for this programme.
Other requirements
General requirements
- Intermediate level
- No previous experience necessary
Make sure you meet all requirements
Visit programme websiteTuition Fee
-
International
FreeTuition FeeBased on the tuition of 0 USD for the full programme during 1 days. -
National
FreeTuition FeeBased on the tuition of 0 USD for the full programme during 1 days.
You can choose from hundreds of free courses, or get a degree or certificate at a breakthrough price. You can now select Coursera Plus, an annual subscription that provides unlimited access.
Funding
Coursera provides financial aid to learners who cannot afford the fee. Apply for it by clicking on the Financial Aid link beneath the "Enroll" button on the left. You'll be prompted to complete an application and will be notified if you are approved. You'll need to complete this step for each course in the Specialization, including the Capstone Project.