This document provides an overview of a distributed computing seminar. The seminar covers 5 lectures including an introduction to distributed computing, MapReduce and GFS, and algorithms for distributed computing. It discusses how distributed computing allows larger problems to be solved by splitting work across multiple computers. Key challenges include parallelizing work, synchronizing access to shared resources, and networking between machines. Synchronization techniques like semaphores and condition variables are introduced to coordinate parallel threads.