Teaching

CS240 – Programming in C
A comprehensive introduction to the C programming language. It aims to teach students sound programming principles/techniques for problem solving in C.

  • Spring 2013: Prof. Zhiyuan Li
  • Fall 2012: Prof. Suresh Jagannathan
  • Spring 2012: Prof. Jan Vitek and Prof. Vernon J. Rego

CS352 Compilers: Principles and Practice
The theory and practice of programming language translation, compilation, and run-time systems, organized around a significant programming project to build a compiler for a simple but non-trivial programming language. Modules, interfaces, tools. Data structures for tree languages. Lexical analysis, syntax analysis, abstract syntax. Symbol tables, semantic analysis. Translation, intermediate code, basic blocks, traces. Instruction selection, CISC and RISC machines. Liveness analysis, graph coloring register allocation. Supplemental material drawn from garbage collection, object-oriented languages, higher-order languages, dataflow analysis, optimization, polymorphism, scheduling and pipelining, memory hierarchies.

  • Fall 2011: Prof. Antony Hosking

 

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s