Computer programming involves writing code to give computers instructions. An algorithm is a set of steps to solve a problem or complete a task. It takes inputs and produces outputs. Algorithms can be expressed using pseudocode, flowcharts, or programming languages. Pseudocode and flowcharts allow visualizing the steps in an informal way before writing actual code. Computer languages include low-level assembly languages close to machine code, and high-level languages like Python and Java that are easier for humans to read and write.