This course aims to introduce students to theory and practice of cloud computing. Topics include: parallel and distributed systems; deployment and service models; cloud infrastructure; applications and paradigms; resource virtualization; resouce management and scheduling; networking support; cloud storage systems; and cloud security.