This document discusses programmed instruction and its various types. It defines programmed instruction as a systematically planned, self-instructional technique that presents material in small logical steps. There are two main types: linear programming which follows a single track, and branching programming which allows learners to follow different paths based on their responses. The principles of programmed instruction include presenting material in small steps, active responding, immediate reinforcement, and self-pacing. Both types have advantages such as individualization and engagement, but also limitations such as potential dullness or lack of coverage.