Week 8
Monitors in Java
Java case study (starter code for Assign 4)
this version deadlocks!
you will use two different approaches to fix:
synchronized methods
synchronized code blocks
Obscure Java
shortest compilable Java program?
does it run?
what's it good for?
inner classes
what are they?
what are they good for?
what do they look like when compiled?
what does any of this have to do with the assignment?
Assignment: Dining Java Philosophers
Assign 4
PDF
due: Tue, Mar 31, 11:59pm
Channels
Communicating Sequential Processes (CSP) and Golang (Go)!
RIP: C.A.R. 'Tony' Hoare (March 5, 2026; 92 years old)
Wikipedia
BCS Article: Celebrating the Life of C.A.R. 'Tony' Hoare
Hoare discusses
the origins of QuickSort
Hoare's
1978 CSP paper
Hoare's
1985 CSP textbook
Peter Welch's slides introducing CSP and occam-pi (but we will use Go this semester!)
Occam-pi Lecture Notes
today:
Objects Considered Harmful
(slide 27 of motivation.pdf slides)
even though we won't be programming in occam-pi, I want to give you a flavor of it
because:
ultimate lightweight processes!
composition!
basics.pdf
basics of channel communication: slides 11–12
Legoland: slides 83–end