Special Topics
Other topics classes vary from year to year. The following is an example of a class that has been offered in the past or is expected to be offered in the future:
Computing Science and Social Science — Computing science (computers, computing practices, telecommunications) touch enormous numbers of citizens in the Western world every day. This immediacy makes an understanding of the social and cultural consequences and implications of their actions essential for every student of computing science. This course covers such issues by drawing on the history and anthropology of computing and technology.
Fault-Tolerant Computing — Starts out by studying fundamental probabilistic analysis techniques. Thoroughly discusses the types of failures (faults) that can occur in computer systems, and studies possible remedies for them: Process failures include crash failure and arbitrary failure. Failures in communication systems involve communication link failure, transmission error (corrupted bits), network partition, and so on. Topics include system reliability and availability, failure detection and correction algorithms, error-correcting codes.