TCSS 462/562-F'23: (Software Engineering for) Cloud Computing

TCSS 462/562:
(Software Engineering for)
Cloud Computing

csu-logo

Announcements Syllabus Grading Schedule Assignments

HOME


Course Objectives:

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 satisfied 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 2023 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.

Online Course Delivery Information

TCSS 462/562 in Fall 2023 will be offered as an in-person class streamed online via Zoom and recorded. Lectures for TCSS 462/562 will be live-streamed and recorded using Zoom at 3:40pm on Tuesdays and Thursdays during Fall Quarter from MLY 117. In class assignments and activities can be completed online and submitted asynchronously. Students are encouraged to participate by attending lectures, and submitting comments using Zoom chat or asking questions via Zoom. In-person and remote participants will be able 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 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 and Zoom
Office Hours: T 2:30-3:30p, F (zoom) 11a-12p,
or by appointment
E-mail: wlloyd <@> uw.edu

Fall Quarter 2023
TR (3:40 - 5:40 PM*)
MLG 301 and live-streamed via Zoom (Synchronous)

School of Engineering and Technology, University of Washington-Tacoma,
Tacoma, WA 98402 USA
© 2023 University of Washington