This document provides explanations of key concepts related to algorithms including: - Sequencing, selection, and iteration are building blocks used to construct algorithms. Existing algorithms can be combined or modified to develop new algorithms. - Algorithms can be expressed in different languages, like natural language or programming languages, but all algorithms can be constructed using sequencing, selection, and iteration. - Some problems can be solved algorithmically in a reasonable time while others cannot due to their complexity. Heuristic approaches may help approximate solutions for some intractable problems. Some problems are undecidable and cannot be solved algorithmically at all.