Skip to content

Course Syllabus

SE 3830 Cloud Application Development

  • Division: Natural Science and Math
  • Department: Computer Science & Engineering
  • Credit/Time Requirement: Credit: 3; Lecture: 3; Lab: 0
  • Prerequisites: SE 3820 Back-end Web Development
  • Corequisites: SE 3140 SE 3630
  • Semesters Offered: Spring
  • Semester Approved: Spring 2020
  • Five-Year Review Semester: Summer 2025
  • End Semester: Fall 2025
  • Optimum Class Size: 18
  • Maximum Class Size: 24

Course Description

Develop skills necessary to deploy and manage code in a public cloud environment such as Amazon AWS, Microsoft Azure, Google GCP, etc. Understand the differences and tradeoffs between Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS) and other cloud models. Practice automating the compiling, testing and deploying of your code directly into a production environment. This new model of computing requires software developers to think in new ways. Software engineers need to understand the low cost and scalability of the cloud and consider the security and pricing implications of this approach.

Justification

Application development is moving from on-premise into the cloud. The use of public cloud infrastructure to host (and even develop and test) systems is an increasingly common pattern. This is a required course as part of the Software Engineering Bachelor's degree.

Student Learning Outcomes

  1. Be able to deploy an existing application to the public cloud.
  2. Understand the differences between virtualization and containerization.
  3. Use security controls and technologies available to properly isolate and secure cloud resources.
  4. Develop skills necessary to deploy and manage code in a public cloud environment.
  5. Be able to compare and contrast the differences and tradeoffs between IaaS, PaaS, SaaS, and other cloud models.
  6. Practice automating the compiling, testing and deploying of your code directly into a production environment.

Course Content

Course modules include:

Virtualization vs. Containerization
Run single containers and groups of containers locally and in the cloud.
Review differences between IaaS, PaaS and SaaS
Learn to deploy code into the cloud
Learn to automate code testing and deployments
Study cloud security