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