Chapter Five
Names, Bindings, Type Checking, and Scopes
Imperative programming languages
are abstractions of von Neumann computer
architecture.
Primary components of von Neumann:
1. memory: store
data & instructions
2. CPU: provide
operations to modify the contents of memory.

A variable is an abstraction of a memory cell
Variables are characterized by a
collection of attributes
which are