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
- Message brokers
- Java StampedLock vs ReentrantLock
- Classic problem with multiple solutions
- Java lock striping and lock splitting
- ?
- ?
- ?
- ?
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).
Peer Rubric
| Presenter Name | 4 | 3 | 2 | 1 |
| Delivery | Presenter’s voice is clear and speaks at a good pace. Does not read off slides | Presenter’s voice is clear, but the pace is a little slow or fast at times. | Presenter’s voice is low or the pace is too rapid or slow. | Presenter’s delivery makes it difficult to understand the presentation. |
| Length | Within two minutes of the allotted time. | Within four minutes of the allotted time. | Within six minutes of the allotted time. | Too long or too short; more than six minutes above or below allotted time. |
| Content | There is an abundance of material related to the topic. Points are clearly made and evidence is used to support claims. | There is sufficient material related to the topic. Many good points made, but uneven balance and little consistency. | There is an obvious lack of material related to the topic. | There is material included that does not support the topic in any way. |
| Organization | The information is presented in a logical and interesting sequence which the audience can follow. | The information is presented in a logical sequence which the audience can follow. | The information is presented in a way that lacks logical transitions making it difficult to for the audience to follow. | The information is presented in a chaotic manner which the audience cannot understand. |
| Demo Quality | The demo is strongly cohesive and includes the most salient features of the software. | The demo is relatively cohesive and/or includes many salient features of the software. | The demo is weakly cohesive and/or include few salient features of the software. | The demo is incoherent and/or lacks any salient features of the software. |
| Comments | ||||
Note: all students must complete this rubric for every other student’s presentation; an overly unobjective evaluation will result in a grade penalty.