Teaching programming
How should we be teaching programming? Here is an account of a good impression a student had when he encountered a lecture where they would actually improve something about their programming:
Hal put the archetypical Lisp program on the blackboard:
(define (fact x)
(if (zero? x)
1
(* x (fact (-