Compilers course review

I would like to review the course “Compilers” available at Coursera. It is offered by Professor Alex Aiken of Stanford University.

The course discusses the major ideas used today in the implementation of programming language compilers, including lexical analysis, parsing, syntax-directed translation, abstract syntax trees, types and type checking, intermediate languages, dataflow analysis, program optimization, code generation, and runtime systems. It teaches how a program written in a high-level language designed for humans is systematically translated into a program written in low-level assembly more suited to machines. It also discusses how programming languages are designed, programming language semantics, and why there are so many different kinds of programming languages.

This is a 10 weeks course. Each week a set of videos with embedded in-video questions, a quiz and optional DeduceIt assignments are released. DeduceIt is an experimental tool for students to do free-form derivations and have them automatically checked. Then, there’s an optional project to write a complete compiler for COOL, the Classroom Object Oriented Language. COOL has the essential features of a realistic programming language, but is small and simple enough that it can be implemented in a few thousand lines of code. The compiler project consists of four programming assignments. Finally, there are two exams – the mid term and the final.

This is a hectic course which will keep you engaged throughout. I would recommend it for everyone serious about Computer Science.

2 thoughts on “Compilers course review

Leave a Reply

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

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

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s