This document provides an overview of computer programming, including what programming is, why we program, popular programming paradigms and languages. It discusses that programming involves instructing a computer to carry out tasks and is a creative process. Popular paradigms include procedural, structured, functional and object-oriented programming. Popular languages discussed include C, C++, Java, C#, PHP and Python. The document provides recommendations for learning resources and approaches for learning to program.