This document outlines the topics that will be covered in the course on massively parallel computing, including computational thinking skills for parallel programming, hardware limitations and constraints on algorithms, and common parallel programming patterns. The topics include thinking in parallel, computer architecture, programming models, theoretical concepts, and parallel programming patterns. The goal is to provide students with the skills needed to design efficient parallel algorithms that maximize performance on modern parallel hardware.