Saturday, October 8, 2011

Students at Brown are impressive

This week I taught higher-order procedures and anonymous procedures (lambda). I said, among other things, that a high-order procedure is a procedure that takes a procedure as one of its arguments. I said, among other things, that lambda enables you to define a function anonymously, without giving it a name. Here are some of the very first questions I got:

1 - Can a higher-order procedure be called with itself as its own argument?

2 - How do you write a recursive procedure using lambda? Since it does not have a name, how do you write the recursive call?

I was just blown away. My students are so smart. A little bit on the crazy side, but amazingly creative.


  1. The ones who understood what's going on anyway...I was just confused...O.o

  2. Anonymous:
    that's reassuring. I would expect people to be confused the first time they see higher-order procedures. It means that you understand that I'm not just shuffling words around, but there is something really new going on there: confusion is, I think, the right reaction, and it is a good sign. First, confusion, then, as you gradually take it in, amazement. Hopefully...

  3. Those seem like natural questions to me :).