Friday, November 10, 2006

Halfway through the algorithms module

In the classroom:

Me: Are there any questions about the assignment?
Student X: We want extension.
Me: That's not a question. Actually, some of you told me that the assignment is "too easy".
Student Y: Who's that?
Me: Yeah, who's that? Do you know? I don't remember...
Student X: (pretending to be looking around) ...

***

The old problem of "Find an efficient algorithm for returning the n copies of assignments to n students" arises again. Although we clearly know there is an O(n) time algorithm, in practice no one (including the teacher) like to use it and end up with the O(n^2) time algorithm.

***

Teaching algorithms has the advantage of you really know what you are talking about, so you don't need too much preparation, don't need to look at the screen every second, etc. The feeling of my best year of DAA teaching, where I have the freedom to say almost anything I like, seems to have come back.

***

However, too little preparation and relying on memory can be a problem. The lecture notes on quicksort and order statistics - I just don't remember how many bugs have been fixed during or after class. I would blame the CLRS again - I'm not fully aware that a different Partition() algorithm in its second edition affects that many things.

No comments: