TCSS 562-S'17: 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 quarter long project focused on building and prototyping a cloud-based solution for a single component of a multi-tier / SOA application. The focus, unlike a traditional software engineering course, is not on executing a waterfall, spiral or agile software process, but will focus on systems analysis. The goal is to build good-enough functional prototypes of back-end components such that we can evaluate the tradeoffs of using different types of technology for the cloud implementation and deployment. For example, if you were hired by a company to develop a cloud based relational database, would it be better to implement the system using a relational database service such as Amazon's RDS? Or will the more performant and cost effective option be to deploy your own database using a virtual machine hosted by Amazon EC2? With cloud computing there are so many ways to implement backend application architectures but there is very little to help us demystify the clouds to quantify which design decisions are the best for the customer and end users. This course will focus on exploring alternative cloud technologies and 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. Instead, the quarter long project will take the place of the 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 may also include tutorials, and homeworks where apprioriate.

Readings and homeworks
Weekly readings will be posted to the schedule page, and homework assignments 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
Project Proposal5%
Project Status Reports / Tutorials / Activities / Quizzes20%
Midterm Exam20%
Class Presentation(s)20%
Final Project/Paper/Presentation35%

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 is encouraged. Discussing concepts and methods to be applied to problems is a tremendous aid to studying. Non-group homework assignments require original individual work and will be specified as individual.