uwlogo

CS 241E - Foundations of Sequential Programs (Enriched)


Home

Piazza
Office Hours
Personnel

Resources/Lectures
Tutorial Code
Additional Reading

Assignment Setup
IntelliJ IDEA Setup
Assignment Policies
Assignments

Exams
Marks

Additional Reading

  • Programming in Scala by Odersky, Spoon, and Venners is an excellent overview of the Scala language. The current edition is the fifth edition. Any edition is appropriate for the purposes of this course. A copy of the fifth 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 and machine language: Patterson, Hennessy. Computer Organization and Design. Different editions of this book cover MIPS machine language or ARM machine language; in CS 241E, we use MIPS machine language.
  • 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.