CodeLab is a web-based interactive programming exercise service that has been customized to accompany each text. It provides over 300 short exercises, each focused on a particular programming idea or language construct. The student types in code and the system immediately judges its correctness, offering hints when the submission is incorrect. Through this process, the student gains mastery over the semantics, syntax and common usage of the language elements.