Certified in Compiler Construction

  • Course level: Expert


This course teaches students about compilers and how to develop them. The course is based around a project where participants build a compiler for a small programming language called Javalette. Javalette is an imperative language, a subset of C and of Java. The finished compiler includes a frontend (lexer, parser and type-checker) and at least one backend, generating LLVM code. Optional extensions include source language extensions and a backend targetting x86 assembly.

What Will I Learn?

  • By completing this course, students will learn concepts and techniques such as grammars, lexers, parsers, abstract syntax, type systems, syntax-directed translation and code analysis. All of these techniques are used in state-of-the-art compilers

Topics for this course

10 Lessons

Module 1

Introduction to compiler construction
Software engineering for compilers
LLVM: tools, language

Module 2

Module 3

Download eBooks




  • The following documents required for admission.
  • Educational documents
  • CNIC/Passport Copy
  • Passport Size Picture
  • Experience letter in relevant field

Target Audience

  • Relevant qualification