This document introduces algorithms and the process of program development. It defines an algorithm as a precise list of instructions that terminates after a finite number of steps to solve a problem. It discusses methods of specifying algorithms like pseudocode and flowcharts. Properties of algorithms include being finite, unambiguous, and having a defined sequence of execution and input/output. The steps of program development are stated as understanding the problem, planning instructions, coding the program, running and debugging it. Flowcharting guidelines and common symbols are provided. Sample exercises demonstrate writing programs to calculate simple formulas.