CS Department Logo

COMS E6998-1
Advanced Topics in Programming
Languages and Compilers
Fall 2014
  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 project-oriented 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"
  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   
Sep 15   Design and Implementation of Lambdas in Java 8   
Sep 22   Kevin Roark: The Swift Programming Language   
Sep 22   Louis Croce: JIT Compilers    
Sep 29   Chris Narrikkattu: The PyPy Interpreter Framework    
Oct 6   Dina Lamdany: The Rise of OOP    
Oct 27   Suzanna Schmeelk: Formal Methods for Android Applications    
Dec 1   Suzanna Schmeelk: Formal Methods and Security for Android Applications    
 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
  50% Final Project Report
  50% Class Participation and Presentations

aho@cs.columbia.edu Updated September 7, 2014