This document discusses fundamentals of programming including how a computer works through its machine cycle. It outlines the steps to solve a computer-based problem: 1) Analyze the problem, 2) Design a solution using an algorithm expressed in pseudocode, 3) Code/enter the program, and 4) Test the program. An example algorithm for converting Fahrenheit to Centigrade is provided. Algorithms use stepping, looping, or choosing to represent the logical steps, and pseudocode expresses algorithms in English statements.