primitive expressions
The simple entities a language is concerned with
The means by which compound elements are built from simpler ones
means of combination
The means by which compound elements can be named and manipulated as units
means of abstraction
The three mechanisms that every powerful programming language has for combining simple ideas to form more complex ideas.
primitive expressions, means of combination, means of abstraction
Stuff that we want to manipulate in programming (informal description)
data
Description of rules for manipulating the data
procedures