Writing a Program is not a Fight
/Our First Year students are busy at the moment working on their Assessed Coursework. They are implementing computerised versions of Tactical Space Cheese Racer, a board game that we've invented just for this year.
One student came to see me today and told me that he was having problems getting the code to work. Each line of his breathless report was prefaced with "And then it does this...." as if the code was some kind of malign being that he was fighting against.
After listening for a while I had to remind him that he is not in a battle here. The program is something that that he created, and therefore he really should focus on the steps that it follows and why it does what it does. Just poking the beast by moving code around and adding and deleting statements will not actually tame it. What you have to do is focus on the sequence of operations it goes through when it does these bad things.
We started going through the code and finding stuff here and there that could be fixed, and by the end he was referring to the thing as "my program", which I think is progress.