Link Search Menu Expand Document

UCLA CS 130: Software Engineering (Fall 2026)

Table of contents

  1. Course description
  2. Important links
  3. Instructors
  4. Lectures
  5. Discussions / TAs
  6. Prerequisites
  7. Textbook and Readings
  8. Class project
  9. Exams
  10. Grading
  11. Academic Honesty
  12. Class Schedule

Course description

Principles relevant to creating large-scale software projects as opposed to small one-person efforts. The class emphasizes scalable software engineering practices, teamwork, processes, and tools. The core of this class is a team project to implement and deploy a web server in C++.

Code Review (Git/Gerrit)
https://code.cs130.org
Piazza discussions
https://piazza.com/ucla/fall2026/cs130
E-mail instructors
ucla-cs130-admin@googlegroups.com

Instructors

Michael Burns
mbx@g.ucla.edu
Alex Monroe
alexrmonroe@gmail.com
Philo Juang
pjuang@google.com

Lectures

Class
Mondays and Wednesdays
4pm - 5:50pm
Franz Hall 1178
Office hours
Book online or e-mail instructors to schedule.

Discussions / TAs

TA
Eric Zhou zitongzhou@cs.ucla.edu
TA
Kalon Kelley klkelley@cs.ucla.edu

Prerequisites

  • CS111: Operating Systems
  • CS131: Programming Languages
  • (Suggested) CS118: Networking

Textbook and Readings

  • (Suggested) Kernighan and Pike, The Practice of Programming
  • Additional readings on the web

Class project

During this course you will join a team of other students and complete a project in which you will jointly develop a configurable, scalable server and deploy it for public access on Google Cloud with appropriate logging and monitoring. The goal of this is to learn and practice sound development practices including thoughtful API design, maintainable coding style, automated testing, and peer code review.

Assignments will be posted on this website each Tuesday before midnight for specific milestones of the project, and will be due the following Tuesday at 11:59PM, submitted via online form. Students will be graded on their individual contributions for each assignment, as well as the health of the project and the functionality of the server.

Assignment topics include:

  • Repository setup, Unit tests, Code reviews (individual assignment)
  • Simple echo server, Deployment
  • Continuous build, Test coverage, Web server testing
  • Serving static files
  • API proposal and presentation (no late work accepted)
  • Refactoring
  • Reverse proxy, Threading
  • Self and peer evaluations (individual assignment)

Exams

Exam questions will be drawn from lectures, readings, and assignments.

Grading

Course grade breakdown:

Assignments
60%
Instructor Assessment
10%
Midterm
15%
Final
15%

Work and exams will be graded on an absolute scale.

A curve may be applied, but only to students’ benefit (your grade will never decrease as a result of a curve)

Academic Honesty

For exams, presentations, and written work (other than code), normal standards of academic honesty apply, as outlined in the UCLA Student Conduct Code.

For computer code, reading and adapting publically available code is encouraged, and in some cases may be necessary. You must cite your source in a comment, in the form of a URL.

Class Schedule

Date Lecture Title
Monday, September 28, 2026 1 Course Overview & The Dev Workflow
Wednesday, September 30, 2026 2 Practical Testing & Testability
Monday, October 5, 2026 3 HTTP Basics & Code Reviews
Wednesday, October 7, 2026 4 Build Systems & Containerization (Docker)
Monday, October 12, 2026 5 Cloud Deployment & CI/CD
Wednesday, October 14, 2026 6 Server Architecture & AI as a Co-pilot
Monday, October 19, 2026 7 Static Analysis & The Art of Readable Code
Wednesday, October 21, 2026 8 Refactoring & Debugging Strategies
Monday, October 26, 2026 9 API Design & Web Security
Wednesday, October 28, 2026 Midterm
Monday, November 2, 2026 10 API Design & Voting
Wednesday, November 4, 2026 11 Project management, Security & Privacy
Monday, November 9, 2026 12 Scaling a Web Service
Wednesday, November 11, 2026 None Veterans Day (no class)
Monday, November 16, 2026 13 Monitoring & Dashboards
Wednesday, November 18, 2026 14 Documentation & Postmortems
Monday, November 23, 2026 15 Deployments, Experiments & Launches
Wednesday, November 25, 2026 None Thanksgiving Break (no class)
Monday, November 30, 2026 16 Team Structure & Your Career
Wednesday, December 2, 2026 17 Team presentations
Thursday, December 10, 2026 Final

Back to top

“You may think using Google’s great, but I still think it’s terrible.” —Larry Page

Page last modified: September 23, 2026.