Skip to content

Course Syllabus

Course: SE 3830

Division: Natural Science and Math
Department: Computer Science & Engineering
Title: Cloud Application Development

Semester Approved: Spring 2020
Five-Year Review Semester: Summer 2025
End Semester: Fall 2025

Catalog 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.


Semesters Offered: Spring
Credit/Time Requirement: Credit: 3; Lecture: 3; Lab: 0

Prerequisites: SE 3820 Back-end Web Development


Corequisites: SE 3140 SE 3630


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:
Be able to deploy an existing application to the public cloud. This will be assessed through homework exercises, quizzes, exams and/or project work.

Understand the differences between virtualization and containerization. This will be assessed through homework exercises, quizzes, exams and/or project work.

Use security controls and technologies available to properly isolate and secure cloud resources. This will be assessed through homework exercises, quizzes, exams and/or project work.

Develop skills necessary to deploy and manage code in a public cloud environment. This will be assessed through homework exercises, quizzes, exams and/or project work.

Be able to compare and contrast the differences and tradeoffs between IaaS, PaaS, SaaS, and other cloud models. This will be assessed through homework exercises, quizzes, exams and/or project work.

Practice automating the compiling, testing and deploying of your code directly into a production environment. This will be assessed through homework exercises, quizzes, exams and/or project work.


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

Key Performance Indicators:
Homework 20 to 40%

Quizzes 0 to 20%

Exams 0 to 30%

In-class participation 0 to 15%

Final project 10 to 40%


Representative Text and/or Supplies:
Learn Microsoft Azure (Current Edition)

Hands-On Azure for Developers (Current Edition)

Expert AWS Development (Current Edition)


Pedagogy Statement:
This course will be delivered through in class discussions, lecture and project mentoring.

Instructional Mediums:
Lecture

Maximum Class Size: 24
Optimum Class Size: 18