This document provides the syllabus for the course CS 643 - Cloud Computing. The course focuses on parallel programming techniques for cloud computing and large scale distributed systems. It covers topics such as cloud systems, parallel processing in the cloud, distributed storage systems, virtualization, security, and multicore operating systems. Students will study solutions from companies like Google, Amazon, and Microsoft. The course involves a programming assignment, group project, exams, homework, and paper presentations. Students are expected to spend 10 hours per week on coursework.