CS Department Logo

COMS E6998-1
Advanced Topics in Programming
Languages and Compilers
Fall 2014
 Announcements
  Class meets 4:10-6:00pm, Mondays, 253 ENG.
First class is on Monday, September 8, 2014.

Class website: http://www.cs.columbia.edu/~aho/cs6998
Class bulletin board: https://courseworks.columbia.edu

 Teaching Staff
 Name   email   Office hours    Location 
Prof. Al Aho   aho@cs.columbia.edu   Mon & Wed 3:00-4:00   513 CSB
 
 Course Overview
  This will be a seminar-based course focused on advanced topics in programming languages and compilers.

Topics will include detailed studies of new programming languages such as Swift and Java 8 and advanced compiling and optimization techniques used in modern programming language translators.

The course requirements are in-class presentations and a final project report on a topic of mutual interest. Some proposed project topics for Fall 2014:

  • New programming languages
  • New features in legacy languages
  • Program analysis and optimization techniques
  • Solver-aided languages
  • Verifying compilers
  • Abstract interpretation and model checking
  • Regular expression pattern matching in programming languages
  • Applications of category theory to programmming languages
  • Insecure constructs in programming languages and how to overcome them
  • Report on a "Most Influential PLDI Paper"
 Prerequisites
  Fluency in at least one major high-level programming language such as
C, C++, C#, Java, OCaml, or Python
  COMS W4115 Programming Languages and Translators, or an equivalent course
 Schedule Fall 2014
Date  Lecture   
Sep 8   Introduction to Course   
 Background Text
  Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman
Compilers: Principles, Techniques, and Tools, Second Edition
Pearson Addison-Wesley, 2007, ISBN 0-321-48681-1
 Grading
  50% Final Project Report
  50% Class Participation and Presentations

aho@cs.columbia.edu Updated Aug 4, 2014