CS 169 (Software Engineering), UC Berkeley

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)

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.

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