The objective of this course is to learn how to improve the quality of
the programs that you write for execution on high performance computer systems.

The
course discusses the various activities that happen during program execution, and how
they are managed by the hardware (architectural features) and system software (operating
systems, run-time systems).