Code from lectures
- Programming in Scala by Odersky, Spoon, and Venners is an excellent overview of the Scala language.
The current edition is the third edition.
Any edition is appropriate for the purposes of this course.
A copy of the second edition is on 24-hour reserve at the Davis Centre library circulation desk.
An electronic copy of the first edition is available free online.
- The first two and a half chapters of the CS 251 textbook give an introduction to CPUs, machine language, and the MIPS architecture: Patterson, Hennessy. Computer Organization and Design.
- Most books about compilers begin with material about scanners and parsers, which we cover in the second half of the course. One example of a book with clear explanations is: Appel. Modern Compiler Implementation in Java.
- Various books document the real MIPS instruction set in great detail. One example is: Kane, Heinrich. MIPS RISC Architecture.