Link Search Menu Expand Document

Lectures

Lectures will be given live in Franz 1178 each Monday and Wednesday from 6-7:50 PM. Lectures will not be recorded but videos of past fully-online lectures from Spring 2020 are available by request to students with legitimate need. (Content and voiceover will be slightly different and may reference the early days of Covid-19 in awkward or depressing ways.)

Lecture presentation slides will be posted before lecture and will only be available to users logging in from their @g.ucla.edu accounts.

Slides will also be available for lab sessions.


Table of contents

  1. TOC

Course overview / Development environments / Source control

Lecture
1
Date
Monday, April 3
Links
Slides, Check-in, Check-out

Testing

Lecture
2
Date
Wedneday, April 05
Links
Slides, Check-in

Code Reviews and Web Servers

Lecture
3
Date
Monday, April 10
Links
Slides , Check-in

Build Systems and Deployment

Lecture
4
Date
Wednesday, April 12
Links
Slides, Check-in
Reading
Why Google Stores Billions of Lines of Code in a Single Repository

Testing, Refactoring, Debugging

Lecture
5
Date
Monday, April 17
Links
Slides, Check-in

Tips for Testing

Lecture
6
Date
Wednesday, April 19
Links
Slides , Check-in

Static Analysis

Lecture
7
Date
Monday, April 24
Links
Slides , Check-in
Reading
A Few Billion Lines of Code Later: Using Static Analysis to Find Bugs in the Real World

Logging, Midterm review

Lecture
8
Date
Wednesday, April 26
Links
Slides ,Check-in
Reading
Kqueue: A generic and scalable event notification facility

API Design

Lecture
9
Date
Monday, May 1
Links
Slides , Check-in

API Design & Voting

Lecture
10
Date
Monday, May 8
Links
Slides, Check-in

The Art of Readable Code

Lecture
11
Date
Wednesday, May 10
Links
Slides, Check-in

Threading and Concurrency

Lecture
12
Date
Monday, May 15
Links
Slides, Check-in
Reading
Real-world Concurrency

Web Server & Distributed System Architecture Anti-patterns

Lecture
13
Date
Wednesday, May 17
Links
Slides, Check-in
Reading
2003 The Google File System , 2004 MapReduce: Simplified Data Processing on Large Clusters , 2006 Bigtable: A Distributed Storage System for Structured Data , 2010 Dapper, a Large-Scale Distributed Systems Tracing Infrastructure , 2012 Spanner: Google’s Globally-Distributed Database

Performance

Lecture
14
Date
Monday, May 22
Links
Slides, Check-in

Monitoring, Documentation, & Postmortems

Lecture
15
Date
Wednesday, May 24
Links
Slides

Postmortems, Team Structure, AMA

Lecture
16
Date
Wednesday, May 31
Links
Slides, Check-in

Deployments, Experiments, and Launches

Lecture
17
Date
Monday, June 5
Links
Slides

Back to top

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

Page last modified: June 9, 2023.