Last night I had my first experience teaching programming to beginners. The students had read the first three sections of the HTML 4 specification, and during the class session we installed a text editor and web browser, and started building web pages from scratch.
Based on the questions they asked and the discussion we had, I decided that it might help to zoom out a level and frame the concept of “programming” in general terms. This is what I came up with.
Computers are a tool to extend our power of reason.
Reason can be thought of as a processing of symbols according to rules.