This article introduces a compiler construction practicum based on the implementation of a compiler for a small C-like language. The compiler has three phases, viz., lexical analysis, syntax analysis, and intermediate code generation. It uses some venerable principles of compiler construction like recursive descent parsing, syntax directed translation, and backpatching. The practicum is appropriate for pedagogical purposes because of its balanced design and the availability of an open source reference implementation of the compiler with a source code size of 2.2 KLOC only. ß