Course Theme
- Abstraction Is Good But Don’t Forget Reality
Reality #1
- Ints are not Integers, Floats are not Reals
Reality #2
- Gotta Know Assembly
- Understanding assembly is key to machine-level execution model
Reality #3
- Random Access Memory Is an Unphysical Abstraction
- Memory is not unbounded
- Memory referencing bus especially pernicious
- Memory performance is not uniform
Reality #4
- There’s more to performance than asymptotic complexity
- Constant factor matters too
- And even exact op count does not predict performance
- Must understand system to optimize performance
Reality #5
- Computers do more than execute programs
- They need to get data in and out
- They communicate with each other over networks