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: Fall, Spring
- Semester Approved: Spring 2026
- Five-Year Review Semester: Fall 2030
- End Semester: Fall 2031
- Optimum Class Size: 18
- Maximum Class Size: 24
Course Description
In this course, students will 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
- Upon successful completion of this course, students will be able to deploy an existing application to the public cloud.
- Upon successful completion of this course, students will be able to understand the differences between virtualization and containerization.
- Upon successful completion of this course, students will be able to use security controls and technologies available to properly isolate and secure cloud resources.
- Upon successful completion of this course, students will be able to develop skills necessary to deploy and manage code in a public cloud environment.
- Upon successful completion of this course, students will be able to compare and contrast the differences and tradeoffs between IaaS, PaaS, SaaS, and other cloud models.
- Upon successful completion of this course, students will be able to practice automating the compiling, testing and deploying of your code directly into a production environment.
- Upon successful completion of this course, students will be able to demonstrate an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives. (ABET-SLO5)
Course Content
Course modules include:Virtualization vs. ContainerizationRun single containers and groups of containers locally and in the cloud.Review differences between IaaS, PaaS and SaaSLearn to deploy code into the cloudLearn to automate code testing and deploymentsStudy cloud security
Key Performance Indicators: Homework 20 to 40%Quizzes 0 to 35%Exams 0 to 30%In-class participation 0 to 35%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