| I would argue some important concepts to understand are. - programming is commanding a machine to do what they want. - computers speak a non-english language so everything they write is translated before the machine follows it - a machine is only limited to its hardware. You cannot save without a harddrive, you cannot communicate without an antenna of somesort. Instructing a machine can come in a variety of forms - Robotics - commands reinterpreted into physical movement - User Experience - commands reinterpreted to produce graphics or sound - Logical - Encoding and decoding, list management and prediction, mapping commands to actions, language grammer If anyone disagrees or has more to add, let me know |
If they are good at programming, they will do this quickly, and in a way that the computer does not have to do any (or many) unnecessary steps.
However I also observe a programmer must understand: If they can program, they can understand the computer, at least in some circumstances and at some level.
If they are good at programming, they will also be good at understanding others.
I believe mathematics teaches people to understand by helping them recognise when they do not yet understand.
To know when you have convinced someone, and yourself have been convinced, is clearly not exclusive to mathematics: Writers, artists, lawyers and lobbyists, all specifically develop these two kinds of understanding, and it is this line of thinking I am currently exploring.