This sentence is false

functional programming, software, and emacs.

First Day at Cornell

This Fall I am attending Cornell University in their Masters of Engineering in CS program. To put it gently, I am excited. There is a lot of faculty working in theory and programming languages, and some in formal methods.

I have also decided that I will blog regularly in graduate school. I plan on blogging class notes, mainly to help my own understanding. If it turns out I don’t, I will delete this post and deny everything.


I’ll start by RFC’ing my school plans. First of all, I am interested in logic, formal methods, [functional] programming languages, and systems. The systems interest is mainly as a domain for applying my other interests.

I have made up a putative class schedule Cornell has four semesters per year, one per season. In order of length, shortest to longest, they are: Winter, Summer, Spring, Fall. Here is what I’m currently thinking for Fall:

  1. Title: Analysis of Algorithms
    Description:

    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, randomized reducibilities. Additional topics such as parallel algorithms and efficient data structures.

    Text: The Design and Analysis of Algorithms (Monographs in Computer Science) and Algorithm Design

  2. Title: Advanced Programming Languages
    Description:

    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.

    Text: Formal Semantics of Programming Languages and Types and Programming Languages

  3. Title: Topics in Logic
    Description:

    This course will focus on intuitionistic logic, including (1) its relationships to classicial logic, some “intermediate logics” between intuitionistic and classical, and a modal logic. We’ll consider (2) both proof-theoretic and model-theoretic characterizations of the consequence relations for these logics, (3) algebraic/topological (and time permitting, categorial) characterizations of intuitionistic consequence. (4) We’ll also look at how certain mathematical theories have been developed on the basis of intuitionistic logic.

    Text: A Short Introduction to Intuitionistic Logic (University Series in Mathematics) (University Series in Mathematics)

In case you’re really interested, here are the courses offered this semester and their descriptions.

Algorithm Design and Programming Languages are supposed to be mathematically intensive; Topics in Logic should be less so (it is an undergraduate course, after all, and it’s cross-listed with Philosophy).

Comments?

Update 23 August: Added longer MATH 482 description.

20 August 2007 Posted by dbueno | school | | 4 Comments