CSc 340 Foundations of Computer Systems teaches the
different levels of abstraction in a computing system,
assembly language programming, the basics of low-level
systems software, hardware components of a system, and
how these components interact with each other.
The class page for 2001 is here.
Lecture notes can be found here.
- Hardware foundations:
basic machine organization,
instruction fetch cycle,
number systems and encodings,
- Assembly language using MIPS as an example:
operations and operands,
using registers, control flow, addressing.
- Program execution:
Subroutines and stack,
activation records/stack frames,
- Dynamic storage (heap) management:
dealing with forward and external references,
resolving external references,
- Operating systems:
interrupts, traps and exceptions,
concurrency and mutual exclusion.
- Learn to program in C and use Unix.