This document provides an introduction to computer programming. It discusses why computers can be programmed, and defines what a program is. It then explains the basic hardware components of a computer like the CPU, memory, and input/output devices. It also discusses software, the program development cycle of analyzing a problem, designing an algorithm, writing code, testing and debugging. It provides examples of flowcharts and pseudocode to design algorithms. The overall summary is an introductory overview of computer programming concepts.