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

  1. Sign up for a section at sections.cs169.org.
  2. Fill out the Welcome Survey.
  3. Start Module 1.
  4. Start CHIPS 3.3, and set up your development environment if you have not already.

Public Materials Drive Gradescope Course Assist Videos Textbook

Getting started

  1. Watch the Course Welcome video.
  2. Read the Syllabus and course policies (grading, extensions, etc.).
  3. Complete the Orientation β€” required. It includes an orientation quiz and other elements you must complete before starting the course content.
  4. 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.
  5. 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
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
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
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
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
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
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
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
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
HomeworkCHIPS 8.5: Intro to RSpec (Part 1 & Rails)
Thu, Oct 29

Week 11: Module 10 Β· Project begins

Mon, Nov 02
Tue, Nov 03
Discussion 10Section (Mon & Tue slots)
Wed, Nov 04
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
Thu, Nov 12
Fri, Nov 13

Week 13: Module 12 Β· Iteration 2 begins

Mon, Nov 16
Tue, Nov 17
Discussion 12Section (Mon & Tue slots)
Wed, Nov 18
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.


Back to Top

Accessibility Nondiscrimination

Copyright Β©2026, Regents of the University of California and respective authors.

This site is built following the Berkeley Class Site template, which is generously based on the Just the Class, and Just the Docs templates.

View all course offerings