The following lessons introduce the topic of programming languages by discussing the five important concepts in a computer language: identifiers, expressions, control structures, input/output, and abstraction. The final lessons illustrate these concepts with an example program implementing the selection sort algorithm. Each lesson includes a set of review questions which test the important concepts from the lesson and provide practice problems. After reading each lesson, you should work the review questions before proceeding to the next lesson. Use the navigation bar at the top of this page to view the lessons and access the review questions. Each lesson page has a link on the navigation bar which will take you to the review questions for that lesson. To begin your study, click at the top of this page.


  1. Introduction to Programming Languages
  2. Identifiers
  3. Assignment
  4. Expressions
  5. Boolean Expressions
  6. Data Types
  7. Control Structures
    1. Selection
    2. Loops
    3. Subprograms
    4. Parameters
  8. Input/Output
  9. Programs
  10. Summary

Learning objectives:

  • Identify appropriate control structures
  • Use subroutines to organize programs
  • Trace the execution of simple programs
  • Write simple programs in pseudocode