Presentation
Overview
Each presentation will run 15 minutes, including setup time and questions answers. Plan on talking about 12 minutes. Inform your talk by writing demo code. The intent of the code is to familiarize yourself in a concrete way with the topic. It is demo code, not an entire application. It does have to have at least some custom work. It cannot just be downloaded from the net. You may download and enhance. Talk with me about the scope of the code if you are uncertain. You do not need to write a paper. Pretend to be doing a professor's job for 12 to 15 minutes. Grading will be on clarity of the talk, clarity of the slides with optional demo, ability to answer questions.
Grading criteria, 25% each:
- Is the work non-trivial, for example, not just downloaded?
- Is the presentation clear?
- Are the materials complete and clear?
- Can the presenter answer questions about the project?
Previous Topics:
- java.util.concurrent.Phaser
- java.util.concurrent.ReentrantReadWriteLock
- How to use IntUnaryOperator and IntBinaryOperator operator parameters with AtomicIntegers.
- A ray tracer with CUDA
- Recursive partitioning and 3 pixel Photos to work in tandem
- Unix semaphores, shared memory, and message buffers between processes.
- Concurrency in the Go language
- Concurrent programming in Racket
- Worker threads in node.js.
- Rust language & concurrency.
- STM in Haskell
Spring 2026 Topics:
- Concurrency in Go
- Virtual threads in Java
- Parallelizing Lua
- Java Akka library
- Java StampedLock vs. ReentrantLock
- OCaml eio library
- Parallel Mandelbrot renderer
- ?
- ?
- ?
- ?
- ?
- ?
- ?
- ?
You can pick a new topic.
You can demo anything from java.util.concurrent,
java.util.concurrent.atomics, java.util.concurrent or other
multithreading in the Java library *with my permission*.
Materials are due via D2L by the beginning of class on May 4 (slides & demo code, prefer zipped, include a README.txt on how to run code).