CS 169 (Software Engineering), UC Berkeley

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:
My Previous CS 169 Materials (Summer '20, Fall '19) — (link)
John Yang's (Summer '20 Co-Instructor) Extras — (lecture notes) (cheatsheet)
Liang Gong's (Fall '16 TA) Materials — (slides)

Hack Club Workshops

Some workshops I wrote for Hack Club to teach React JS.

1 — React Intro (JSX, components, props, and state) — (instructions) (code)
2 — Advanced React (forms, component lifecycles, lists) — (instructions)