NA00527_.WMF (1024 bytes) Graduate Coursework  

Math 788 Topics in Applied Logic: Typed and Untyped Lambda Calculus, Richard Platek
Math 503 History of Modern Mathematics, Anil Nerode
Math 783 Model Theory, Richard Shore
CS 711 Topics in Advanced Programming Languages, Greg Morrisett
Math 681 Logic, Richard Shore
Course covers basic topics in mathematical logic, including propositional and predicate calculus; formal number theory and recursive functions; completeness and incompleteness theorems. 
CS 631 Multimedia Systems, Ramin Zabih 
Multimedia project homepage
CS 686 Programming Logics, Dexter Kozen
Topics in logics of programs and program verification. Possible topics include: Floyd/Hoare logic, modal logic, dynamic logic, temporal logic, process logic, automata on infinite objects and their relation to program logics, the Rabin tree theorem, the modal mu-calculus, games and alternating automata, applications to type inference, set constraints, and Kleene algebra.
CS 601 System Concepts, Fred Schneider
This course teaches broadly applicable principles of computing system design and analysis. For example, the principle of locality of reference used in caching, virtual memory, and network service hints. Such broadly applicable abstractions are discussed along with their implementations in a variety of settings. Case studies from the systems literature are employed throughout.
CS 671 Intro to Automated Reasoning, Robert Constable
Topics in modern logic needed to understand and use automated reasoning systems such as HOL, Nuprl, and PVS. Special emphasis is on type theory and logic and on tactic-oriented theorem proving.
MATH 453 Topology, Ken Brown
Course covers basic point set topology, connectedness, compactness, metric spaces, fundamental group. Application of these concepts to surfaces such as the torus, the Klein bottle, and the Moebius band.
CS 682 Theory of Computing, Dexter Kozen
Advanced treatment of theory of computation, computational-complexity theory, and other topics in computing theory.
MATH 434 Abstract Algebra, Shankar Sen
CS 611 Programming Languages, Greg Morrisett
A study of programming paradigms: functional, imperative, concurrent, and logic programming. Models of programming languages, including the lambda calculus. Type systems, polymorphism, modules, and other object-oriented constructs. Program transformations, programming logic, and applications to programming methodology.
CS 681  Analysis of Algorithms, Ronitt Rubinfeld
Methodology for developing efficient algorithms, primarily for graph theoretic problems. Understanding of the inherent complexity of natural problems via polynomial-time algorithms, randomized algorithms, NP-completeness, and randomized reducibilities. Also covers topics such as parallel algorithms and efficient data structures.
CS 481 Formal Languages, Dexter Kozen