I just came out - I must mention, "barely alive" - from an "argument" with a student of mine. The point of argument is on program correctness.
He asked: Why did I give him a low grade for his exam when his program produced the correct outputs.
My point: He did not use the Stack data structure properly.
He argues: But it worked! (Poor guy... too bad, he's in MY class...)
I can't stress well enough that it is not just about producing the correct outputs... it is producing the CORRECT program...
But, it also got me thinking now... What exactly is a CORRECT program?
Your thoughts please... :)