Overview of Multithreading, Concurrent Programming, and Parallel Computation in Java. Low level concepts: Threads, Synchronization, and Locks. The Concurrent Library. Multithreading Simulations. Parallel Computation. Fork Join Framework for Parallel Computation.