Course CSE356
Title Cloud Computing
Credits 3
Course Coordinator

Mike Ferdman


Creating online services capable of handling millions of users requires a different mindset compared to traditional software development and deployment. Rather than building monolithic software packages from the ground up, bringing up modern online services calls for architecting systems by gluing together mature existing technologies deployed across many unreliable servers, working in concert to provide high-availability robust services. In this course, students will be exposed to the concepts and technologies behind deploying and scaling online services on the computing resources available in modern datacenters.

Bulletin Link

Prerequisite Prerequisites: C or higher: CSE 216 or CSE 260; CSE 220; CSE major Advisory prerequisite: CSE 336
Course Outcomes
  • Gain theoretical and hands-on knowledge of concepts and software packages used to create modern online services.
  • Understanding of high-level concepts of cloud computing, and server software, libraries, and tools used for developing and deploying cloud applications.
  • Develop and deploy a robust and scalable online service on a cloud infrastructure such as Amazon Web Services, Google Cloud Platform, and Microsoft Azure.
Major Topics Covered in Course

Introduction to cloud services, virtualization, para-virtualization, advanced networking, web services, server-side scripting languages and frameworks, cloud programming paradigms, cloud deployment and machine management, scale-up vs. scale-out, cloud storage, cloud service topologies, message serialization and transport, load balancing, content distribution networks, security, authentication, QoS, managing tail latencies, performance monitoring.

Course Webpage