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. IMPORTANT: Fill out the Team Matching Survey.
  2. CHIPS 5.3: Rails Intro (an individual assignment) is now released β€” due Wed 10/14.
  3. The Module 7 self-check is also due Wed 10/14.
  4. CHIPS 7.7: Intro to BDD and Cucumber (an individual assignment) is now released β€” due Wed 10/21.
  5. Review your Quiz 2 results on Gradescope.
  6. Set up your development environment if you have not already.

Public Materials Drive Gradescope Course Assist In Class Recordings 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

  • 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 on Wed Dec 16, 8:00–11:00am; the location 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
Discussion 2Module 3 (all sections meet Tue this week β€” Labor Day)
Wed, Sep 09
Thu, Sep 10

Week 4: Module 4 Β· Quiz 1

Mon, Sep 14
Team matching survey released
Tue, Sep 15
Discussion 3Module 4 (Mon & Tue slots)
Wed, Sep 16
Add/drop deadline
Thu, Sep 17
Fri, Sep 18
Team matching survey due (required for everyone)

Week 5: Module 4

Week 6: Module 5

Tue, Sep 29
Discussion 5Module 5 / Associations / Quiz review (Mon & Tue slots)
Wed, Sep 30
Thu, Oct 01

Week 7: Module 6 Β· Quiz 2

Tue, Oct 06
Discussion 6Modules 5 & 7 (Mon & Tue slots)
Wed, Oct 07
Reading Reading 1 due
Thu, Oct 08

Week 8: Module 7

Week 9: Module 8

Tue, Oct 20
Discussion 8Section (Mon & Tue slots)
Wed, Oct 21
HomeworkRelease CHIPS 8.5: Intro to RSpec (Part 1 & Rails)
Thu, Oct 22

Week 10: Module 9 Β· Quiz 3

Tue, Oct 27
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
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
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
Wed, Dec 16
Exam Final Exam (8:00–11:00am β€” location TBD)
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