CS 169A: Introduction to Software Engineering
UC Berkeley, Fall 2026
This course presents ideas and techniques for designing, developing, and modifying large software systems using Agile techniques and tools: modular design, design patterns, behavior-driven design, test-driven development, user stories, verification and validation, team organization and management, and analyzing and refactoring legacy code β all in the context of building and deploying Software as a Service (SaaS).
Getting started
- Watch the Course Welcome video.
- Read the Syllabus and course policies (grading, extensions, etc.).
- Complete the Orientation β required. It includes an orientation quiz and other elements you must complete before starting the course content.
- Get the (free) textbook: Engineering Software as a Service, 2nd edition, by Armando Fox and David Patterson. Free and legal PDF download; Kindle and hardcopy available for purchase.
- Start Module 1.
Important information for Fall 2026
- Time conflicts with lecture are OK, since recordings are available.
- Fall 2023 YouTube playlist (berkeley.edu access only) β itβs recommended you review these OR the module videos before coming to live class.
- We expect regular attendance at one section per week; some sections may be offered online.
- Quizzes and the final exam are in person, in the computer-based testing facilities (CBTF) on campus (Sutardja Dai, Soda Hall). Quizzes are usually open for 2 days and the final for 3β4 days, and you schedule yourself at a time that works for you during that window. No remote quizzes or final; exceptions only with a DSP letter. (The CBTFs can handle extended-time and low-distraction accommodations.)
- Self-checks for each module are on Gradescope β unlimited attempts, and they count toward your grade.
- CHIPS extension request form (berkeley.edu access only).
Course content
Work through the course module by module: each module pairs recorded videos with a chapter of the textbook, a self-check on Gradescope, and hands-on CHIPS programming assignments. See the Calendar for lectures, sections, and office hours.
Schedule
The FA26 schedule below is a draft β dates are tentative until confirmed in class and on Ed. Quiz and final sign-ups (CBTF via PrairieTest) usually open one week before each window.
Week 1: Module 1
| Mon, Aug 24 | ||
| Tue, Aug 25 | ||
| Wed, Aug 26 |
Reading
ESaaS Chapters 1β2
|
|
| Thu, Aug 27 |
Week 2: Module 2
| Mon, Aug 31 | ||
| Tue, Sep 01 | Discussion 1Intro Ruby (Mon & Tue slots) |
|
| Wed, Sep 02 |
Reading
ESaaS Chapter 3
|
|
| Thu, Sep 03 |
Week 3: Modules 2β3
| Mon, Sep 07 | Labor Day β no classes (Mon sections meet Tue this week) |
|
| Tue, Sep 08 |
Exam
Orientation Quiz (30 min, CBTF practice β mandatory) Sign-ups open Tue Sep 1 Discussion 2Module 3 (all sections meet Tue this week β Labor Day) |
|
| Wed, Sep 09 | ||
| Thu, Sep 10 | CHIPS 3.3: HTTP and URIs β due Thu |
Week 4: Module 4 Β· Quiz 1
| Mon, Sep 14 | QUIZ 1Modules 1β2 (CBTF) Sign-ups open Mon Sep 7 |
Reading
ESaaS Chapter 4
|
| Tue, Sep 15 | Discussion 3Module 4 (Mon & Tue slots) |
|
| Wed, Sep 16 | Add/drop deadline Β· Team matching survey released |
|
| Thu, Sep 17 | CHIPS 3.7: Wordguesser β due Thu Β· CHIPS 4.3: ActiveRecord β due Fri |
|
| Fri, Sep 18 | Team Matching Survey due (required for everyone) |
Week 5: Module 4
| Mon, Sep 21 | ||
| Tue, Sep 22 | Discussion 4Advanced Rails (Mon & Tue slots) |
|
| Wed, Sep 23 |
Reading
ESaaS Chapter 5
|
|
| Thu, Sep 24 | CHIPS 4.6: Wordguesser on Rails & CHIPS 4.5: Routes (extra credit) β due Thu |
Week 6: Module 5
| Mon, Sep 28 | ||
| Tue, Sep 29 | Discussion 5Module 5 / Associations (Mon & Tue slots) |
|
| Wed, Sep 30 | ||
| Thu, Oct 01 | CHIPS 4.8: Hello Rails β due Fri |
Week 7: Modules 5β6 Β· Quiz 2
| Mon, Oct 05 | QUIZ 2Modules 3β4 (CBTF) Sign-ups open Mon Sep 28 |
|
| Tue, Oct 06 | Discussion 6Modules 5 & 7 (Mon & Tue slots) |
|
| Wed, Oct 07 |
Reading
ESaaS Chapter 7
|
|
| Thu, Oct 08 |
Week 8: Modules 6β7
| Mon, Oct 12 |
Homework
CHIPS 5.3 Rails Intro due |
|
| Tue, Oct 13 | Discussion 7Section (Mon & Tue slots) |
|
| Wed, Oct 14 |
Reading
ESaaS Chapter 6
|
|
| Thu, Oct 15 | CHIPS 7.7: Intro to BDD and Cucumber β due Thu |
Week 9: Modules 7β8
| Mon, Oct 19 | ||
| Tue, Oct 20 | Discussion 8Section (Mon & Tue slots) |
|
| Wed, Oct 21 | ||
| Thu, Oct 22 | CHIPS 7.9: BDD Feature (extra credit) β due Thu |
Week 10: Modules 8β9 Β· Quiz 3
| Mon, Oct 26 | QUIZ 3Modules 4 (part 2) & 5 (CBTF) Sign-ups open Mon Oct 19 |
|
| Tue, Oct 27 | Discussion 9Section (Mon & Tue slots) |
|
| Wed, Oct 28 | ||
| Thu, Oct 29 | CHIPS 8.5: Intro to RSpec (Parts 1 & 2) β due Thu |
Week 11: Modules 9β10 Β· Project begins
| Mon, Nov 02 |
Project
CHIP 10.5 released β final project begins |
Reading
ESaaS Chapter 10
|
| Tue, Nov 03 | Discussion 10Section (Mon & Tue slots) |
|
| Wed, Nov 04 | ||
| Thu, Nov 05 | ||
| Fri, Nov 06 |
Project
Iteration 1 planning meeting (team) |
Week 12: Modules 10β12 Β· Quiz 4
| Mon, Nov 09 | QUIZ 4Modules 7β8 (CBTF) Sign-ups open Mon Nov 2 |
|
| Tue, Nov 10 | Discussion 11Section (Mon & Tue slots) |
|
| Wed, Nov 11 | Veterans Day β no classes |
Reading
ESaaS Chapters 11β12
|
| Thu, Nov 12 | ||
| Fri, Nov 13 |
Project
Iteration 1 due β code, demo video, retrospective, peer evals |
Week 13: Modules 11β12
| Mon, Nov 16 |
Project
Iteration 2 begins |
|
| Tue, Nov 17 | Discussion 12Section (Mon & Tue slots) |
|
| Wed, Nov 18 | ||
| Thu, Nov 19 | ||
| Fri, Nov 20 |
Project
Iteration 2 planning meeting (team) |
Week 14: Module 12 Β· Thanksgiving
| Mon, Nov 23 | ||
| Tue, Nov 24 | Discussion 13Section (Mon & Tue slots) |
|
| Wed, Nov 25 | Thanksgiving β no classes WedβFri |
|
| Thu, Nov 26 |
Week 15: Wrap-Up Β· Quiz 5
| Mon, Nov 30 | ||
| Tue, Dec 01 | Discussion 14Final review (Mon & Tue slots) |
|
| Wed, Dec 02 |
Exam
Quiz 5: Modules 9β11 (CBTF) Sign-ups open Wed Nov 18 |
|
| Thu, Dec 03 | ||
| Fri, Dec 04 |
Project
Iteration 2 due β code, demo video, retrospective, peer evals |
Week 16: RRR Week
| Mon, Dec 07 | RRR Week |
|
| Tue, Dec 08 | ||
| Wed, Dec 09 | ||
| Thu, Dec 10 |
Week 17: Finals Week
| Mon, Dec 14 | ||
| Tue, Dec 15 |
Exam
Final Exam (2 hours, CBTF β slot TBD by registrar) Sign-ups open Tue Dec 8 |
|
| Wed, Dec 16 | ||
| Thu, Dec 17 |
Policy on course content
You are free and encouraged to use course materials for personal use (in collaboration with other students, in your research, etc.). You are also free, for example, to post course notes you create on your personal website. Please DO NOT post homework, exams, or solutions, because this could encourage cheating down the road. You are expressly prohibited from uploading ANY course materials to public/commercial websites such as Chegg, CourseHero, Quizlet, etc., or from using them to train public AI models.