This course surveys the field of parallel computing, covering hardware design and architecture, interconnection networks, and parallel algorithms. In addition to the broad survey, students concentrate on the implementation of message-passing parallel computers and algorithms. This aspect of the course includes laboratory work using the parallel computer laboratory. This course addresses topics in the theory of computation and the semantics of programming languages. Topics include axiomatic, denotational and operational semantics, type theory and categorical models of computation.
Students work collectively, presenting and implementing various issues raised in the course.
This course provides a conceptual framework within which both theoretical and concrete analyses of computer algorithms may be developed. A seminar offered occasionally as an alternate to others in the department. Topics vary depending upon needs of students and interests of the instructor. Students interested in the specific content of this course as offered in a particular term should consult the instructor. This seminar is counted toward completion of the concentration requirement.