This document discusses basic computer programming and microprogrammed control. It introduces some basic programming concepts and their relation to hardware representation of instructions. It describes how a program may be dependent or independent of the computer that runs it. It also discusses machine language, assembly language, and the translation process from symbolic code to binary code using an assembler. Examples are provided of assembly language programs for addition and multiplication.