ECEN 4043/5043: Thinking Concurrently
TR 12:30-1:45, ECCR 137
Aaron Bradley
bradleya{shift+2}colorado.edu
ECOT 351
Office hours: MWF 4-5 and by appointment
A sequence of programming challenges, to be completed alone or with a
partner, will prepare students for designing correct and efficient
concurrent/parallel programs. Challenge projects will include the
following:
- Synchronization problems using mutexes, semaphores, etc.
- An API for software transactional memory (STM).
- Lock-free stacks and queues, including "match-pair" queues.
- Using actors in Erlang.
- An API for event-based communication in ML.
Students will also be responsible for performing code reviews of
peers' code, presenting designs in class, and actively participating
in class discussions.
The final grade will be a (weighted) mean of the grades assigned per
project. Project grades will be based on design and functionality,
quality of peer code review, and participation in class discussion.
Links
- O'Caml stuff:
- Erlang stuff:
- cmpxchg atomic builtins for gcc