Courses

Full courses with slides and notes, and where they exist, the assignments and exam questions that went with them.

Hands-on projects

Code written live in class or handed out as a reference: small, complete programs that show one idea end to end.

Backend implementation demonstration in Go with JWT, MongoDB, and the usual service plumbing.

A URL shortener in Go that demonstrates the key concepts of the language and of a small web service.

A peer-to-peer network for file distribution over TCP and UDP.

Workshops and talks

Shorter sessions: a few hours on one topic.

Course tooling

Shared pieces behind the courses.