TCSS 562: Software Engineering for Cloud Computing |
![]() |
|
Cloud Software Design Analysis Term 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. Students will build prototype-quality cloud software to perform a performance and cost evaluation to contrast design tradeoffs of alternative cloud services and softwre architectures. Students will learn about new cloud technology as well as analytical 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. NO Midterm or Final Exam This quarter with TCSS 562 offerred as an online class, there will be NO Midterm or Final Exam. In lieu of exams, there will be 3 online quizzes offerred online at roughly the end of week 3, week 6, and week 9. Quizzes will be implemented online using the Canvas system and will allow the use of notes, books, and online resources. Quizzes will review material from roughly the previous 3 weeks of class lectures in a mostly objective format. Make-up quizzes will not be offerred. Addressing a missed quiz for reasons such as illness requires making arrangements with the instructor. The term project in many ways serves in place of a final exam. Other assessment in the course includes project status reports, in-class activities, class presentations, and tutorials. Class Presentations During the quarter, each term project group will prepare an in-class presentation to be streamed LIVE over Zoom during week 9 or 10 of the course. Groups will choose to present either: (1) A CLOUD TECHNOLOGY SHARING PRESENTATION: where the focus is on presenting a specific cloud computing service or technology including a demonstration of how to use the service which exercises the user interface and/or programmer APIs Examples include: Amazon EFS, Amazon RDS, FaaS platforms besides those presented in class, CaaS platforms, IaaS platforms besides AWS EC2, object-storage besides Amazon S3, Heroku, Serverless Databases (e.g. Dynamo DB and others), Elastic BeanStalk, Azure DocumentDB, Azure BlobStorage, and many many others. Consult the instructor for suggestions. --OR-- (2) A REVIEW OF A CLOUD-COMPUTING RELATED RESEARCH PAPER: The idea is to present the key contributions of the paper while critiquing strengths and weaknesses. Tutorials and Readings This course offers many tutorials that assume limited/no background with cloud computing. Tutorials are incremental in that they build off knowledge gained from previous tutorials. Completing tutorials provides the necessary background to complete the term project and to progress towards completing a MS Capstone or Thesis project in Cloud Computing. Weekly suggested 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.
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 36-hour grace period on all late assignments. These assignments will be marked as late in Canvas, and the cumulative timeliness of assignments may be referred to for grade curving/rounding decisions and for future employer/letters of recommendation, etc. Assignments submitted from 36 to 48 hours late will receive a 5% late penalty. After two days, each subsequent day an assignment is late will result in an additional late penalty of 5% per day for a maximum of 15% for up to 4 days. Late submissions more than 96 hours late will receive a zero score without prior arrangement with the intructor. When possible, assignments will be posted at least two weeks prior to the due date. The details of each homework will be posted HERE. Completed homeworks will be submitted through Canvas. Academic Integrity and Collaboration Policy To quote the UWT statement of values, "our fundamental purpose is to educate students for life as global citizens." Students are active participants in their education and are expected to uphold high standards of academic conduct. Any action that subverts the educational process or misrepresents student knowledge and abilities constitutes academic dishonesty. In this course some assignments and all quizzes, exams, etc. must be completed individually. When collaboration is permitted for an assignment, this will be noted in the instructions. With respect to student collaboration, these actions are acceptable:
|