TCSS 562-F'19: Software Engineering for Cloud Computing

TCSS 562: Software Engineering for Cloud Computing

csu-logo

Announcements Syllabus Grading Schedule Assignments

Home


Cloud Software Design Analysis Team Project
TCSS 562 will feature a team-based term project focused on building a serverless cloud native application or a related cloud application. Students have the opportunity to propose a term project topic, or work on an assigned project. The course focuesed more on learning new cloud technologies and the differences with cloud software development, as opposed to traditional software engineering course content. Term projects should include a performance and cost analysis. Student will build prototype-quality cloud software to perform a performance and cost evaluation to support evaluation of design tradeoffs to compare alternative cloud services and softwre architectures. Students will learn about new cloud technology as well as system analysis skills important for work in industry. For example, while working as a software engineer, for a given software application would it be better to leverage a relational database service such as Amazon's RDS? Or would the more performant and cost effective solution involve deploying and managing a database using a virtual machine hosted by Amazon EC2? With cloud computing there are many ways to implement backend application architectures. Good analytical skills to assess performance and cost of system implementations are essential. This course aims to explore new cloud technologies while teaching evaluation skills to help aspiring software engineers and cloud architects make good design choices when developing cloud systems.

Midterm and Final Exams
TCSS 562 will feature a midterm exam, but there will be no final exam. The term project will take the place of a final exam. Other assessment will include student reviews, presentations, and sharing on: (1) various cloud technologies and software services (e.g. EC2, S3, RDS, Lambda, Heroku, Dynamo DB, Elastic BeanStalk, Azure DocumentDB, Azure BlobStorage, etc.), and (2) Cloud-computing related research papers. The course also includes lab-based tutorials.

Readings and tutorials
Weekly readings will be posted to the schedule page, and tutorials throughout the quarter are posted on the assignments page.

Grading Policy
Weights are assigned to the different elements of the course as listed below. Points are added up at the end of the quarter and weighted accordingly to determine a total percentage score. The percentage score is translated into a final decimal point (4.0 max) grade.

Course ElementWeight
Tutorials20%
Project Status Reports / Activities / Quiz10%
Midterm Exam20%
Class Presentation15%
Final Project/Paper/Presentation/Demo35%

UW Grading Scale

Due Dates / Submitting Assignments
All assignments are due at 11:59 PM on the due date unless specified otherwise. There is a late penalty of 10% per day for up to 2 days. Submissions more than 48 hours late will receive a zero score. When possible, assignments will be posted at least two weeks prior to the due date. Assignments may include programming and/or written components. Homework will relate to the lecture and textbook readings throughout the quarter. The details of each homework will be posted HERE. Completed homeworks will be submitted through Canvas.

Conduct / Academic Honesty
Any attempt to receive credit for non-original work that is not your own is plagiarism. Attempts to hide the lack of contribution from a weak team member will be counted as academic dishonesty. Discussing topics, including general approaches to assignments, in a collaborative atmosphere among peers and in study groups is encouraged. Non-group homework assignments that require original individual work will be specified as individual.