This document provides an introduction to programming concepts. It discusses computational thinking, including its pillars of decomposition, pattern recognition, abstraction, and algorithm design. It also outlines the components of a computer and a software system. Computational thinking is defined as a problem-solving approach that involves programming skills and practices across activities. Programming involves developing instructions a computer can understand and execute to solve problems.