CS Department Logo

COMS E6998-3
Advanced Topics in Programming
Languages and Compilers
Fall 2012
 Announcements
  Class meets 4:10-6:00pm, Tuesdays, 233 Mudd.
First class is on Tuesday, September 4, 2012.

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   Tue 2:00-3:00   513 CSB
 
 Course Overview
  This will be a seminar-based course focused on advanced topics in programming languages and compilers.

Topics will include new programming languages such as GO and Clojure 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.

 Prerequisites
  Fluency in at least one major high-level programming language such as
C, C++, C#, Java, or OCaml
  COMS W4115 Programming Languages and Translators, or an equivalent course
 Schedule Fall 2012
Date  Lecture   
Sep 4   Introduction to Course   
Sep 11   Data-Flow Analysis    
Sep 18   Nikhil Sarda: Chronicler    
Sep 25   Neil Deshpandu, Erica Sponsler, Nate Weiss: GO (Best seen with Chrome)    
Oct 2   Neeraja Ramanan: Android runtime environment    
Oct 9   YoungHoon Jung: Java Dynamics    
Oct 16   Eric Powders and Maria Taku: Types    
Oct 23   Jared Pochtar and Abhas Bodas: Python to C++ translation  
Nov 13   YoungHoon Jung: MIPLex    
Nov 20   Nikhil Sarda  
Nov 27   Neeraja Ramanan
Neil Deshpandu, Erica Sponsler, and Nate Weiss
 
Dec 4   Maria Taku and Eric Powders
Abhas Bodas and Jared Pochtar
 Project Reports
  Abhas Bodas, Py++
  Neil Deshpande, Erica Sponsler, and Nathaniel Weiss, Analysis of the GO runtime scheduler
  YoungHoon Jung, MIPlex: Adapting dynamic code modification to the MIPL language
  Jared Pochtar, The P3 Compiler: Compiling Python to C++ to remove overhead
  Neeraja Ramanan, JIT through the ages
  Nikhil Sarda, Application layer thread migration in Java
  Maria Taku and Eric Powders, Bindings, initialization, scope, and lifetime
 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 Dec 16, 2012