Programmed instruction is a method of self-paced learning that presents material in small incremental steps, requires active learner responses, and provides immediate feedback. There are two main types: linear programming that follows a set sequence, and branching programming where learners' responses determine their path. The technique was pioneered by B.F. Skinner in the 1950s based on operant conditioning principles and aimed to individualize learning through machines/programs instead of teachers. It remains influential as a predecessor to modern computer-assisted learning.