Welcome to CS 4230  
Cloud and Distributed Computing
This course provides an introduction to the concepts, architecture, and programming techniques in high-performance distributed computing environments. An emphasis is placed on scalable web services applications, and large scale data processing and data mining applications. Topics include cloud computing, data processing in large clusters, distributed and parallel data processing, distributed storage systems, virtualization, MapReduce algorithms, and NoSQL databases. Students will study state-of-the-art solutions developed by Google, Amazon, VMWare, Yahoo, Microsoft, Sun/Oracle, and the research community. Topics may vary to reflect the current state-of-the-art and student interest. Students will apply what they learn in a series of introductory lab exercises and a complete a final project using a distributed cloud computing platform.

Prerequisites: CS-2852 or CS-2851.
Course structure: 2-2-3 (class hours/week, lab hours, credits).
Required Materials:
  • Notebook computer required. No text: see reading materials.
Upon successful completion of this course, the student will:
  • Understand the basic concepts, architecture, and programming techniques in parallel and distributed computing environments.

  • Understand how to select an appropriate distributed system architecture for a given application scenario.

  • Understand how to design, develop, and deploy a basic distributed application.