CS 515 – Programming Languages and Compilers I at Rutgers
CS 515 is a graduate level course in programming language design and implementation. We will cover basic concepts of programming languages and the challenges in building compilers for them. The students will incrementally build a compiler from a C-like language (RU-C) to a subset of x86 assembly during this course. In this process, they will learn lexing, parsing, interpreters, challenges in translating high-level languages to machine code, and the x86 architecture. The course will also introduce students to OCaml, a functional programming language.
This is an intensive course with 8 programming assignments. The assignments will expose students to real world compilation environments like GCC and LLVM, functional programming in OCaml, and in summary, create a better understanding of code and teaches you how to be a good programmer.
Textbook and reference books