CS Department Logo

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

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:45-3:45   513 CSB
 
 Course Overview
  This course will focus on advanced topics in programming languages and compilers.

The course requirements are a semester-long project on a topic of mutual interest and classroom discussions.

 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 2011
Date  Lecture  Reading 
Sep 6   Introduction to Course   
Sep 13   Briceno: PL&C for Quantum Computers    
Sep 20   Golec: Intro to Python and Dynamic Languages    
Sep 27   Kambadur: Programming Language Fundamentals    
Oct 4   Kambadur: Programming Language Fundamentals    
Oct 11   Zimmeck: Legal Protection of Programming Languages    
Oct 18   Powders: How the OS Facilitates PL&C    
Oct 25   Le: A Fast Fourier Transform Compiler    
Nov 1   Lattice-Based Data-Flow Analyses   ALSU, Ch. 9 
Nov 1   Data-Flow Analyses Examples    
Nov 15   Guo: Practical Software Model Checking via DIR    
Nov 22   Li: Automatic Predicate Abstraction of C Programs  
Nov 22   Le: Bridging Investment Models    
Nov 29   Zimmeck: An Introduction to Type Inference    
Nov 29   Poweders: How C++ Compilers Implement Object Orientation    
 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% Project Report
  50% Class Participation and Presentations

aho@cs.columbia.edu Updated Sep 4, 2011