programming paradigm A program development methodology
structured programming A methodology that applies well-designed control structures to
produce well-organized software
grammar The rules defining the syntax of a programming language
parse tree A “pictorial” representation of the grammatical structure of a string
compiler A program that translates other programs into machine language
interpreter A program that executes other programs written in a high-level
language without first translating them into machine language
high-level language A notational system for representing algorithms in human compatible
terms rather than in the details of machinery
semantics Meaning as opposed to appearance
syntax Appearance as opposed to meaning
operator precedence Dictates the order in which operations are performed
data structure A conceptual organization of information
parameter A means of passing information to a function
data type Encompasses both an encoding system and a collection of operations
syntax diagrams A way of representing a grammar
source program A program expressed in a high-level language
General Format Questions
1. What does it mean to say that a programming language is machine independent?
2. Explain the distinction between the imperative and declarative programming paradigms.
3. Explain why the generation approach to classifying programming languages fails to capture the full
scope of today’s languages.
4. Explain the distinction between translating a program (in a high-level language) and interpreting the
program.
5. Why is the straightforward “goto” statement no longer popular in high-level programming languages?
6. Explain the distinction between a formal parameter and an actual parameter.
7. Explain the distinction between global and local variables.