Reaction for: Problem-Solving Patterns by Saul Daddy

"There is a tendency to focus on details such as the syntax of list manipulation or the behavior of recursion, thus failing to see the similarities between algorithms" (Reed page 6) This is so vital to computer science programs that I had a hard time not using the blink command in html. This article addresses how interesting and powerful many of the binary algorithms can be. I think that the above quote is much more compelling when discussing this subject. Why is it that students are forced to get lost in the syntax or code of a red-black tree or a binary search as opposed to analyzing or reviewing what it's power really is? It is incredible to be able to find an element in a phone book in order(logN) time.

I believe that algorithm classes should teach code but should put more emphasis on the interesting aspects of the structures rather than basically coding them. I will speak directly about cs16 presently. I am a TA and believe that coding a structure is a good way of understanding it; I have seen that by not coding an AVL this year, students are not understanding it as well on the midterm and other homeworks. Is this because it is not taught well, the students only care if they will be graded, or some other thing. Overall, I believe there should be less cosing and more "application" problems used in the course. However, as the midterm questionnaires sounded, the students wanted more code and less written application homeworks. Where do you go from there?


Reactions


Matt C:

Why is it that us students like coding so much? Is it the immediate feedback of coding (that's what it is for me), is it the lack of tests, do we not think as much? What's the deal?!? Given that the majority of students currently want to code, maybe it needs to be our goal to find other methods that aren't coding but will maintain the same interest and teach just as well. These analogies sound like a good idea, but who knows how long they can entertain the students who just want to get in there and program.


Saul Daddy

Hey Matt - I think that there is some satisfaction in the tangible aspects of programming. I also think that the pot of gold at the end of the rainbow for cs graduates is incentive for many people. Unfortunately, for most businesses, if you can code, that is all that matters.


Matt A

I have to disagree with you. I always commented my design choices, but my question is does documenting design choices keep you from losing points? The 15 standpoint, at least to me, seemed to be use our design or lose points. There didn't seem to be much room for creative designing, nor incentive to so. I think that this is a bad thing, students need to learn how to design things for themselves, not how to use someone else's design.


[BACK]