2A SE

CS241E: Foundations of Sequential Programs (Enriched)

https://student.cs.uwaterloo.ca/~cs241e/

Link to original course notes here. The final review slides are super helpful.

This course taught me how we go from Bits to entire Computer Programs. It went pretty well alongside ECE222 (computer architecture course), as well as SE212 relating to Formal Methods in terms of the Correctness of a language.

In this class, we are building on levels of abstractions. The layers of abstractions (from my understanding) are:

  1. Opcodes to abstract instructions
  2. Labels to abstract memory locations
  3. Parsing and Scanning a particular language: functions, variables, closures

Concepts