This document provides an introduction to Message Passing Interface (MPI) and distributed computing. It discusses what MPI is, which is a library specification for message passing between processes without shared memory. The document outlines some key MPI functions and concepts, introduces MPI programming, and discusses thinking in parallel when using MPI. It also provides information on MPI implementations, versions of the MPI standard, and motivations for distributed computing.