At a high level, when the microprocessor is given electricity, it sets the program counter to a predefined address in memory where it expects the sequence of program instructions to start. Each instruction tells the microprocessor to do one or more things, such as read/write memory, do math, or change the value of the program counter.
The ALU is the Arithmetic Logic Unit, which just does the math bits.