After a couple of years teaching, I have now finally worked out the easiest way to tell if someone is destined to be a programmer or not.
Its not that they get frustrated if they don't understand..thats actually a good sign.
Its not that they ask really dumb obvious questions, thats also actually a good sign.
Its not that they over complicate code...also a good sign.
Its not that they don't know the correct syntax but try to write it in terms they understand...like all the above, a good sign of a working mind trying to understand something.
Its when they don't even try to work out whats gone wrong and expect you to tell them.
That sucks, they are not programmers.
I joke with my students about a universal law of programming...
Brian's 1st law of self fuckery. Which states ;-
"If your code is doing something other than you expected it to do..you fucked up."
There are actually currently 3 Brian's Laws of Self Fuckery
the 2nd is
Brian's 2nd law of Self Fuckery.....
"Is the same as the 1st."
This is to emphasise the importance and factual truth of the 1st law.
The 3d law is ;-
"If you are using someone elses working code in your program and it does not do what it did on someone elses computer...you fucked up."
Yes they are funny, and I may be sailing close to the wind by stating the f word in a class setting, but there's truth in this, I am trying to make people realise that they control what they write, its in their hands, if it does not do what it should do, they made a mistake, its not the computer, its not the language its not even the teacher..its them....if they fuck up..they have to try to find it...programmers, or those destitned to be programers do try to find out!
These 3 laws are self evident and quite provable (though Flash, (ahaaaah..saviour o the universe), does bend the laws a little due to it being totally crap) So its amazing that no matter how many times I explain these laws, students still say...it should work but it doesn't. Others however say, its "still" not doing what it should
I actually don't mind those kind of students..they are trying at least. But the ones who stop dead in their tracks at the 1st sign of an error, then wait till 10 mins before the end of a class to admit, they don't know what to do, worry me.
They won't make it. I should be sad about that, but I'm not..they're not trying, they have 2 hours to put their hand up and say, Brian, what does this mean...but they don't, they sit there for 2 hours with a syntax error, and rather than try to find it they stress out or check out facebook but never actually try to understand the problem.
Teaching is fun, 95% of the time, but that 5% when people are not paying any attention to what you tell them, then doing nothing, and asking you to do it for them when they clearly are not trying....is not fun.
I'm lucky that there are not too many students like this, almost all mine are trying and I never ever critisise those who make an attempt...but those who are just waiting till I put something on screen they can copy....sorry guys...you really are wasting your time...and mine!!
ahhh....feels good to rant sometimes.