CS W169A (Software Engineering), Summer 2020

Discussion: N/A (No sections for W169A)
Office Hours: Submit all requests to the OH Queue (all times below in PST)
Sun 11am-1pm, Mon 5-7pm, Wed 4:30-7:30pm, Thu 6-7pm

Course Sites(bCourses) (Piazza) (Codio) (Textbook PDF)

Module 1Introduction to SaaS, Agile, and Cloud Computing
Module 2How to Learn a New Language: Ruby(slides) (worksheet) (solutions) (code)
Module 3SaaS Architecture(slides) (worksheet) (solutions) (code)
Module 4Introduction to MVC and Rails
Sinatra: (slides) (worksheet) (solutions) (code)
Rails: (slides) (worksheet) (solutions) (code)
Module 5Advanced SaaS Mechanisms(slides) (worksheet) (solutions) (code)
Module 6SaaS Clients + JavaScript(slides)
Module 7Behavior-Driven Design
BDD: (slides) (worksheet) (solutions)
Cucumber, Capybara: (slides) (worksheet) (solutions) (code)
Module 8Test-Driven Development(slides)
Module 9Legacy Code and Refactoring
Module 10Agile Teams
Module 11Design Patterns for SaaS Classes(slides) (worksheet) (code)
Module 12Dev/Ops

Exam Review:
Midterm Review Slides(MT1, Fa19) (MT1, Sp19)
Practice Exams — (MT2, Fa19: blank, sol)

John Yang's (Summer '20 Co-Instructor) Extras(lecture notes) (cheatsheet)
Liang Gong's (Fall '16 TA) Materials(slides)

CS 169 (Software Engineering), Fall 2019

Week 1Ruby Intro(slides) (worksheet) (solutions)
Week 2REST, SaaS Architecture, and Sinatra(slides) (worksheet) (solutions)
Week 3More Sinatra (with a demo)(slides) (worksheet) (solutions)
Week 4Rails Intro(slides) (worksheet) (solutions)
Week 5BDD & Cucumber(slides) (worksheet)
Week 6Midterm 1 Review(slides)
Week 7Advanced Cucumber & Capybara(slides) (worksheet) (solutions)
Week 8GSI Project Meeting #1, Agile Review(slides)
Week 9Advanced Rails (Associations, Validations)(slides) (worksheet) (solutions)
Week 10GSI Project Meeting #2
Week 11SOLID & Design Patterns(slides) (worksheet)
Week 12GSI Project Meeting #3
Week 13Intro to React(slides) (starter code) (solution)
Week 14GSI Project Meeting #4