TCSS 562: Software Engineering for Cloud Computing |
![]() |
|
In this course we will introduce and explore cloud computing and software and systems design concepts for the cloud. We will introduce cloud computing delivery models and explore cloud service alternatives that can be harnessed to support the development of cloud native applications. The term project offers the opportunity to engage in building a serverless cloud native application to contrast performance and cost trade-offs of various system designs and compositions. The focus, unlike a traditional software engineering course, is not on executing a waterfall, spiral or agile software process within the class, but to focus on introducing new cloud technologies to enable building a prototype application while teaching good systems analysis skills. The goal is to build functioning prototypes of a native cloud application to enable evaluation of design alternatives and their corresponding cost and performance implications for deployment in the cloud. For example, when designing cloud native software one must choose a backend database service to persist data. Depending on the characteristics of the data, is it better to select a relational database service such as Amazon's RDS or Aurora? A Key-value database such as Dynamo DB? Or can performance criteria be satisified while saving costs by deploying and managing a database service directly on a cloud-based virtual machine? With cloud computing there are many alternatives for the implementation of cloud application architectures, but there is little guidance to help demystify the cloud software design alternatives. This course introduces important analysis and evaluation skills to support further learning to help aspiring software engineers and cloud architects make good design decisions when developing cloud systems. The Fall 2021 course, will leverage material from the textbooks: Cloud Computing Theory and Practice, and Cloud Computing Concepts, Technology & Architecture as well as hands-on tutorials to introduce Infrastructure-as-a-Service cloud, serverless computing, and containerization. In addition to the term project, students will prepare one class presentation on either: (1) a cloud technology sharing talk demonstrating a specific cloud technology or service (e.g. EC2, S3, RDS, Lambda, Heroku, Dynamo DB, Elastic BeanStalk, Azure DocumentDB, Azure BlobStorage, etc.), or (2) a cloud-computing related research paper. Time at the end of select lectures will be set aside to offer lab time and Q&A to support completing cloud computing tutorials and to foster group work for term projects. |
TCSS 562 in Fall 2021 will be offerred as a fully online digital course with NO in-person or synchronous participation requirements. Lectures for TCSS 562 will be recorded using Zoom at 5pm on Tuesdays and Thursdays during Fall Quarter. Students will be invited to attend the recording sessions. Participation in the recording sessions is optional. There will be no graded work or assignments during the recording sessions. Participation will enable students to ask questions, and interact with the instructor and other students. Student collaboration will also be catalyzed using discussion forums and group project support features provided in Canvas. The course features a group project. Groups are responsible for organizing meetings based on the specific needs of the group (in-person, fully virtual, hybrid, synchronous, asynchronous, etc.). For this online course, there will be two medium length quizzes in lieu of a midterm exam that will be delivered online. The final project involves a programming component, a writing component, and, a presentation component. There will be no final exam in lieu of the final project. For student presentations, groups can participate in the instructor-lead recordings sessions over Zoom, or submit pre-recorded videos. |
Instructor |
Lecture Location | ||
Wes Lloyd Office: CP 229, otherwise Zoom Office Hours: TR 7-7:30p Zoom, or by appt E-mail: wlloyd <@> uw.edu |
Fall Quarter 2021 |
School of Engineering and Technology, University of Washington-Tacoma, Tacoma, WA 98402 USA © 2021 University of Washington |