Let's take a quick review of all that we have learned about programming languages in these lessons.

  1. We began by introducing the three generations of programming languages: machine code, assembly languages, and high-level programming languages.

  2. We examined how variables and constants are named using identifiers. Identifiers are descriptive names that are mapped to locations in the computer's memory. Once a memory location is given a specific name, we can refer to that location using the identifier rather than the numeric address.

  3. We saw how the contents of a variable could be changed with assignment statements and expressions. Expressions are mathematical combinations of numbers, variables, and constants. Boolean expressions are expressions that represent values which are either true or false.

  4. We found that some expressions do not make sense because the variables are not compatible. Thus, our variables need a specific type to identify what variables are compatible and what operations can be performed on those variables. Some of the data types we saw were integer, real, character, Boolean, and an aggregate type called an array.

  5. We learned that the flow of control in a program proceeds sequentially from one statement to the next. This flow of control can be altered using three constructs: selection, loops, and subprograms.

  6. We saw that programming languages support two types of input and output: interactive user I/O and non-interactive file I/O.

  7. We examined a complete program to see how the individual parts of a program such as I/O, procedures, functions, and control logic fit together to make this finished product.