Skip to content

Latest commit

 

History

History

README.md

Please refer to the top-level README.md file located at the root of the repository first to understand the overall structure and approach of this repository. Once you have gone through the top-level README.md, you can start reading the details below.

Concurrent programming enables developers to efficiently and correctly mediate the use of shared resources in parallel programs. I have used 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).

Skills Gained:

  • Algorithms
  • System Programming
  • Java
  • Performance Testing
  • Computer Science
  • Debugging
  • Programming Principles
  • Data Structures
  • Distributed Computing
  • Java Programming

The desired learning outcomes of this course 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

Certification:

https://coursera.org/share/d8ad73a27c80b74c08380d058e46132e