![]()
"Although threads seem to be a small step from sequential computation, in fact, they represent a huge step. They discard the most essential and appealing properties of sequential computation: understandability, predictability, and determinism."
— From “The Problem with
Threads,” by Edward A. Lee
— IEEE Computer,
vol. 25, no. 5, May 2006
While few would argue with this observation, programmers are increasingly turning to threads as a way to improve quality of service and responsiveness of applications.
This fall, students in CSE 914 will
dig into the key problem with threads and learn about new programming models
that aim to address this problem.
Topics to be covered include:
correctness criteria for multi-threaded applications, the Java memory
model, data race prevention/detection, software transactional memory (STM), and
extensions and alternatives to STM.
To receive credit for this offering of CSE 914, students who
enrolled in CSE 914 in 2004 or 2006 must notify the instructor in order for an
override to be processed.
Course prerequisites: Software engineering course or
equivalent experience; software design course or equivalent experience;
discrete mathematics.
![]()