![]()
"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.
Course prerequisites: Software engineering course or equivalent experience; software design course or equivalent experience; discrete mathematics
*This course was previously numbered CSE 914. It is being offered as CSE 891 this
term, instead, in order that students who enrolled in an earlier offering of
CSE 914 may receive credit for the course. The content does not overlap that of the earlier offerings
of CSE 914.
![]()