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

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

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