This document discusses algorithms and their use in solving problems. It defines an algorithm as a step-by-step procedure to solve a given problem. The key steps in writing an algorithm are to identify inputs, outputs, additional data, computation steps, and displaying results. There are three main patterns of algorithms: sequential, where steps occur in sequence; conditional, where instructions are divided based on conditions; and iterative, where a set of instructions are repeated until an end condition is met. Examples of algorithms using each pattern are provided.