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).
To Do
- Sign up for a section at sections.cs169.org.
- Fill out the Welcome Survey.
- Start Module 1.
- Start CHIPS 3.3, and set up your development environment if you have not already.
Quick Reference Links
Public Materials Drive Gradescope Course Assist Videos Textbook
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 by chapter; Kindle and hardcopy available for purchase.
- Start Module 1.
Important information for Fall 2026
We will have in class quizzes 5 times during the semester, on Tuesdays.
- Lecture recordings: Fall 2023 YouTube playlist (berkeley.edu access only) β itβs recommended you review these OR the module videos before coming to live class.
- Lectures are Tuesdays and Thursdays, starting Thu Aug 27.
- We expect regular attendance at one section per week; some sections may be offered online.
- Assignments β both CHIPS and module self-checks β are due Wednesdays at 11:59pm PT (a few exceptions are marked on the Schedule).
- The final exam is in person; details will be announced later in the course. No remote final; exceptions only with a DSP letter. (Extended-time and low-distraction accommodations are available.)
- Self-checks for each module are on Gradescope.
- 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.
Week 1: Module 1
| Tue, Aug 25 | ||
| Wed, Aug 26 | HomeworkRelease CHIPS 2.5: Ruby Intro |
|
| Thu, Aug 27 |
Reading
ESaaS Chapter 1
|
Week 2: Modules 1β2
| Tue, Sep 01 | Discussion 1Intro Ruby (Mon & Tue slots) |
Reading
ESaaS Chapter 2
|
| Wed, Sep 02 |
Homework
Module 1 Self-Check
Homework
Module 2 Self-Check HomeworkCHIPS 2.5: Ruby Intro HomeworkRelease CHIPS 3.3: HTTP and URIs |
|
| Thu, Sep 03 |
Reading
ESaaS Chapter 3
|
Week 3: Module 3 Β· Orientation Quiz
| Mon, Sep 07 | Labor Day β no classes (Mon sections meet Tue this week) |
|
| Tue, Sep 08 |
Exam
Orientation Quiz (30 min β mandatory, in class) Discussion 2Module 3 (all sections meet Tue this week β Labor Day) |
|
| Wed, Sep 09 |
Homework
Module 3 Self-Check HomeworkCHIPS 3.3: HTTP and URIs HomeworkRelease CHIPS 3.7: Wordguesser & CHIPS 4.3: ActiveRecord Basics |
|
| Thu, Sep 10 |
Week 4: Module 4 Β· Quiz 1
| Mon, Sep 14 | Team matching survey released |
|
| Tue, Sep 15 | QUIZ 1Modules 1β2 (in class) Discussion 3Module 4 (Mon & Tue slots) |
|
| Wed, Sep 16 | Add/drop deadline HomeworkCHIPS 3.7: Wordguesser HomeworkRelease CHIPS 4.6: Wordguesser on Rails |
|
| Thu, Sep 17 | ||
| Fri, Sep 18 |
Homework
CHIPS 4.3: ActiveRecord Basics Team matching survey due (required for everyone) |
Week 5: Module 4
| Mon, Sep 21 |
Reading
Reading 1 released |
|
| Tue, Sep 22 | Discussion 4Advanced Rails (Mon & Tue slots) |
|
| Wed, Sep 23 |
Homework
Module 4 Self-Check HomeworkCHIPS 4.6: Wordguesser on Rails HomeworkRelease CHIPS 4.8: Hello Rails (group) |
|
| Thu, Sep 24 |
Week 6: Module 5
| Tue, Sep 29 | Discussion 5Module 5 / Associations (Mon & Tue slots) |
|
| Wed, Sep 30 |
Homework
Module 5 Self-Check HomeworkCHIPS 4.8: Hello Rails (group) HomeworkRelease CHIPS 5.3: Rails Intro |
|
| Thu, Oct 01 |
Reading
Reading 1 due |
Week 7: Module 6 Β· Quiz 2
| Tue, Oct 06 | QUIZ 2Modules 3β4 (in class) Discussion 6Modules 5 & 7 (Mon & Tue slots) |
|
| Wed, Oct 07 |
Homework
Module 6 Self-Check HomeworkCHIPS 5.3: Rails Intro HomeworkRelease CHIPS 7.7: Intro to BDD and Cucumber |
|
| Thu, Oct 08 |
Week 8: Module 7
| Tue, Oct 13 | Discussion 7Section (Mon & Tue slots) |
|
| Wed, Oct 14 |
Homework
Module 7 Self-Check HomeworkCHIPS 7.7: Intro to BDD and Cucumber HomeworkRelease CHIPS 7.9: Using BDD to Add a New Feature (extra credit) |
|
| Thu, Oct 15 |
Week 9: Module 8
| Tue, Oct 20 | Discussion 8Section (Mon & Tue slots) |
|
| Wed, Oct 21 |
Homework
Module 8 Self-Check HomeworkCHIPS 7.9: Using BDD to Add a New Feature (extra credit) HomeworkRelease CHIPS 8.5: Intro to RSpec (Part 1 & Rails) |
|
| Thu, Oct 22 |
Week 10: Module 9 Β· Quiz 3
| Tue, Oct 27 | QUIZ 3Modules 4 (part 2) & 5 (in class) Discussion 9Section (Mon & Tue slots) |
|
| Wed, Oct 28 |
Homework
Module 9 Self-Check HomeworkCHIPS 8.5: Intro to RSpec (Part 1 & Rails) |
|
| Thu, Oct 29 |
Week 11: Module 10 Β· Project begins
| Mon, Nov 02 |
Project
CHIP 10.5: Iteration 0/1 begins |
|
| Tue, Nov 03 | Discussion 10Section (Mon & Tue slots) |
|
| Wed, Nov 04 |
Homework
Module 10 Self-Check |
|
| Thu, Nov 05 |
Reading
Reading 2 due |
Week 12: Module 11 Β· Quiz 4
| Tue, Nov 10 | QUIZ 4Modules 7β8 (in class) Discussion 11Section (Mon & Tue slots) |
|
| Wed, Nov 11 | Veterans Day β no classes
Homework
Module 11 Self-Check |
|
| Thu, Nov 12 | ||
| Fri, Nov 13 |
Week 13: Module 12 Β· Iteration 2 begins
| Mon, Nov 16 |
Project
Iteration 2 begins |
|
| Tue, Nov 17 | Discussion 12Section (Mon & Tue slots) |
|
| Wed, Nov 18 |
Homework
Module 12 Self-Check |
|
| Thu, Nov 19 |
Reading
Reading 3 due |
|
| Fri, Nov 20 |
Week 14: Thanksgiving
| Tue, Nov 24 | Discussion 13Module 12 (Mon & Tue slots) |
|
| Wed, Nov 25 | Thanksgiving β no classes WedβFri |
|
| Thu, Nov 26 |
Week 15: Wrap-Up Β· Quiz 5
| Tue, Dec 01 | QUIZ 5Modules 9β11 (in class) Discussion 14Section (Mon & Tue slots) |
|
| Wed, Dec 02 | ||
| Thu, Dec 03 |
Reading
Reading 4 due |
|
| Fri, Dec 04 |
Week 16: RRR Week
| Mon, Dec 07 | RRR Week |
|
| Tue, Dec 08 | ||
| Wed, Dec 09 | ||
| Thu, Dec 10 |
Week 17: Finals Week
| Tue, Dec 15 |
Exam
Final Exam (2 hours β time TBD by registrar) |
|
| 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.