TCSS 562-S'17: Software Engineering for Cloud Computing

TCSS 562: Software Engineering for Cloud Computing

csu-logo

Announcements Syllabus Grading Schedule Assignments

Home




Hybrid Format for Fall 2018
TCSS 562 in fall will feature a hybrid format with lectures on Mondays and Wednesdays, and lab/tutorial/project workdays on Fridays. On Fridays video conferencing will enable remote participation and interaction.


Course Objectives:

In this course we will introduce and explore cloud computing and software and systems design concepts for the cloud. We will introduce new cloud technologies and explore cloud service alternatives that can be harnessed in the development of cloud native applications. The term project offers the opportunity to engage in building a serverless cloud native application prototype while contrasting performance and cost implications 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, if hired by a company to develop a cloud based customer informtion database, would it be better to implement the system using a relational database service such as Amazon's RDS or Aurora? A Key-value database such as Dynamo DB? Or will the most performant and cost effective option be to compose the application as a monolithic virtual machine based on expected load and data size? With cloud computing there are many alternatives for the implementation of backend cloud application architectures, but there is little 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 2018 course, will feature additional lecture coverage from Cloud Computing Theory and Practice as well as tutorials on 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. The course will offer lab sessions on Fridays to practice and develop cloud computing skills through tutorials and to foster group work for term projects.

Instructor

Lecture Location
Wes Lloyd
Office: Cherry Parkes 229
Office Hours: M 6-7p, W 2:30-3:30p, or by appt
E-mail: wlloyd <@> uw.edu
Tel: (253) 692-5681

Fall Quarter 2018
MWF (11:00 - 12:20 PM)
Joy 206

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