Topics include programming with Linux processes, OpenMP, concurrent programming with POSIX Threads, parallel and pipeline programming including vector processing and OpenCL, distributed programming including Berkeley sockets and MPI, and Cloud computing using Hadoop and BOINC.
This is an introductory text. Familiarity with C and Java is assumed. There are lots of examples, which are available on request.