Restricted to computer science majors.
An introduction to low-level software abstractions with an emphasis on the connection of these abstractions to underlying computer hardware. Key abstractions include threads, dynamic memory allocation, protection, and IO. Requires writing of synchronized multi-threaded programs.
Only one of the following may be counted: Computer Science 439, 439H, 352, 352H. Only one of the following may be counted: Computer Science 439, 439H, 372, 372H.
Prerequisite: Computer Science 310, 310H, 429, or 429H with a grade of at least C-; and consent of the honors director.