The following lessons introduce the topic of algorithms by discussing the characteristics of a good algorithm and comparing several sorting algorithms to illustrate algorithm efficiency and algorithm analysis. 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 Algorithms
  2. The Definition of an Algorithm
  3. Specifying Algorithms
  4. Sorting Algorithms
    1. Basic Operations
    2. The Simple Card Sort
    3. The Simple Sort
    4. The Insertion Card Sort
    5. The Insertion Sort
    6. The Selection Card Sort
    7. The Selection Sort
  5. Algorithm Analysis
    1. Space Efficiency
    2. Time Efficiency
    3. Comparison of Sorts
    4. Analysis of Selection Sort
    5. Analysis of Other Sorts
    6. Worst Case Comparison
    7. Order Notation
  6. Summary

Learning objectives:

  • Specify simple algorithms using Structured English
  • Sort numbers using Simple, Insertion, and Selection sorts
  • Compare simple algorithms for efficiency of space and time