Lectures meet Tuesday and Thursday from 1-2:20 in 85 Waterman. Lecture capture can be found here.

Readings from Effective Java and Design Patterns can be accessed through Safari Books Online. Follow the steps below:

  1. Navigate here to setup your Brown affiliated account. Select the option 'Not listed', input your Brown email address, and confirm.
  2. Once you've done this, you can access the readings for Effective Java here and Design Patterns here.
Topic Resources Code Reading for the Week Date
Introduction to CS32 ๐Ÿ’ป Jan 23
Comparators and KD Trees ๐ŸŒณ Notes Code Effective Java, Item 14 Jan 28
REPL Extensibility and Funny Java Issues ๐Ÿค” Notes See notes Effective Java, Item 10
Effective Java, Item 11
Effective Java, Item 12
Jan 30
Generics, Interfaces, Collections ๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ Notes See notes Effective Java, Item 26
Effective Java, Item 28
Effective Java, Item 29
Reference (not required): Generics FAQ
Feb 4
Generics, Puzzles, and Testing ๐Ÿงฉ Notes See notes See notes Feb 6
Patterns Notes See notes Design Patterns, Strategy
Design Patterns, Proxy
SKIM: at least 2 other sections of your choice! Beware: this book was written some time ago; the language it uses may not be familiar. Forgive its 90's sensibilities and press on: it will reward you.
Feb 11
Professionalism and Teamwork Slides See slides See slides Feb 13
Long Weekend - No Class Feb 18
Code Review and Intro to Databases Slides Main.java, MyFactory.java. (Note, you will need Guava to use a Guava cache). Chapter 2 of the Mom Test
(once you navigate to this link, click 'Online Readings' to access the PDF)
Feb 20
How To tIMDb ๐ŸŽฌ Slides Feb 25
Team Formation ๐Ÿ‘ช Slides Feb 27
More Team Design Slides March 3
Requirements and Specifications Slides March 5
User Interface Design Notes Code Coverage vs Test Coverage
Model Based Testing
These articles will be helpful as you think about testing and developing for your final project!
March 10
General Questions Notes and Zoom Recording Why Doctors Hate Their Computers
The Epistemology of Software Quality โ€“ Increment: Teams
March 12
Cancelled Class March 17
Cancelled Class March 19
Spring Break March 24
Spring Break March 26
A* Notes and Zoom Recording March 31
Term Project Demos from TAs Zoom Recording April 2
Concurrency Notes, Code, and Zoom Recording April 7
Good Code/Bad Code, Property-Based Testing Notes, Code, and Zoom Recording April 9
Networking Notes and Zoom Recording Google Cloud Outage
AWS Outage
April 14
Guest Lecture: Emmanuel Schanzer from Bootstrap Zoom Recording Bootstrap blocks
Try it out!
April 16
Guest Lecture: Sam Dooman from DownDog Zoom Recording April 21
Guest Lecture: Guillaume Marceau on Mission-Driven Coding Zoom Recording April 23
Last Lecture: Final Thoughts and Advice Zoom Recording April 28