Sequential circuits: state
Mathematical functions have no state: inputs combined to produce output, no memory
C/C++ functions may have state: store data from 1 call to another
static variables
objects store values in data members
State of a running program
Values of variables
Values of registers
Contents of stack
Address of current instruction
Hibernate laptop
Save state of entire machine, including all programs
Sequential logic circuits
Previous history is used together with inputs to produce output
We don't care HOW previous value was obtained
State encoded in bits
Finite number of bits, so finite number of states