This document provides an introduction and syllabus for a compiler construction course. It will cover the principles and tools used to build compilers, including lexical analysis, syntax analysis, grammars, intermediate code generation, and optimization techniques. Students will learn how compilers translate programs to other languages and evaluate programs through interpretation. The course involves four exams, programming assignments, and building a compiler for a simplified language.