If parallel computing were defined as "running multiple programs at the same time" we can do that by running multiple programs on multiple computers and be done with it...)
If you run the SAME program simultaneously on multiple computers, you will get the SAME output multiple times - it's not parallel programming, it's called wasting CPU ccyles
It involves dividing up the work among multiple CPUs and possibly combining the results of the multiple computations to produce the final outcome
(There are other API's the are similar to PThreads, such as OMP)
(There are other API's the are similar to MPI, such as Parallel Virtual Machine (PVM))
If time allows, we will also study MPI