Mar 28, 2024  
2019-2020 Undergraduate Academic Catalog 
    
2019-2020 Undergraduate Academic Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

CS 4230 - Distributed and Cloud Computing

2 lecture hours 2 lab hours 3 credits
Course Description
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. Topics include cloud computing, data processing in large clusters, distributed and parallel data processing, distributed storage systems, virtualization, and secure distributed computing. 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 complete a final project using a distributed computing platform. (prereq: CS 2852 )
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • 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

Prerequisites by Topic
  • None

Course Topics
  • Course introduction (1 class)
  • Introduction to cloud and distributed computing (1 class)
  • Virtual machine monitors (1 class)
  • Autoscaling computing clusters (1 class)
  • Developing and deploying clustered Web applications (1 class)
  • Distributed file systems (2 class)
  • Non-relational database systems (2 classes)
  • Midterm (1 class)
  • Data intensive processing in large clusters. Google’s MapReduce. Apache’s Hadoop (2 classes)
  • Warehouse scale computing architecture (1 class)
  • Map reduce and DFS applications (2 classes)
  • Map reduce and databases (1 class)
  • Map reduce graph processing and PageRank (2 classes)
  • Distributed retrieval and data mining (2 class)

Laboratory Topics
  • Introduction to Amazon Web Services - Launching an EC2 Machine Instance 
  • Creating an Amazon Machine Image (AMI)
  • Elastic load balancing and autoscaling
  • Deploying a web application
  • Non-relational database application
  • SimpleDB
  • MapReduce
  • Final project

Coordinator
Dr. Jay Urbain



Add to Portfolio (opens a new window)