[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

examination of C hackers (was Conway's Game of Life (cellular automata))




Michael, I was dead serious. I will use type annotations to mark those
places where I am not in this message. 

Like you, I had many students at Rice who claimed that they knew how to
 program, that they had been taught programming in the womb (okay that's an
 exaggeration but their mothers would pad their bellies and say "C <their
 name here> C, this is how things work" and boy it was over then :), and
 that they were angry that they had to take my course.

Invariably, they either turned around within a week or by the 4th week the
 assignment to write an interpreter exposed the limitations of their
 approach and learning. Some admitted it openly, and became willing
 learners; others admitted it grudgingly and became unwilling learners (to
 pass the course). But all of them could demonstrate that they can follow a
 design recipe and thus program to an interface. 

On exams, I hardly ever ask for just complete programs. I almost always ask
 for specific steps in the design recipe, giving them enough information
 about the results of the previous steps. When it comes to writing
 templates (or deriving a higher-order function from them), they can't do
 it. When they complain, I show them that this is the template-and-hook
 pattern or the visitor pattern from OO design patterns and tell them to
 study harder. (At the PL group at National Instrument, programmers
 actually write templates down as comments -- and those who take over the
 code must copy this template.) 

Try it. -- Matthias