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 |

[ HOME ] [RESEARCH] [ TEACHING ] coursework [ PERSONAL]