Our first meeting of the semester started with a presentation by Tom Rush. Tom brought in his copy of Programming Pearls by Jon Bentley and started discussing one of the earlier points in the book. Bentley challenges the reader to reproduce the binary search algorithm in code. Our group began to discuss the different ways to begin, and Tom grabbed a marker and went to the whiteboard.
Conceptually, each member of the group was able to recall the algorithm, and we were able to develop psuedo-code similar to the final answer. The main point was revealed in the next section of the same page of Programming Pearls:
“I’ve assigned this problem in courses for professional programmers. The students had a couple of hours to convert the description above into a program in the language of their choice, or high-level pseudo code. At the end of the specified time, almost all of the programmers reported that they had correct code for the task. We would then take 30 minutes to examine the code…90% of the programmers had errors in their code. Given ample time, only 10% of professional programmers were able to correctly solve the problem.”
Tom also developed a program in Python to test the code developed by our group as well. It was a great reminder that teaching requires regular reinforcement.
Lukas joined in near the end of the presentation and was able to show his CR-48 laptop to the group. Congrats Lukas!