Reaction for: Learning to Program by Adam

This paper identifies exactly the difficulty in teaching an introductory course in not just cs, but in any discapline which involves abstract problem solving. Learning to solve problems and desgin programs around those solutions is a much more difficult and usefull skill than is programming.

To some degree, I feel that in cs15 we risk not teaching the problem solving involved in computer science by giving away too much in some instances. I heard a lot of "because the TA told me this was the way to do it" around the sunlab; are these people learning problem solving?

In reading this paper, I couldn't help but think about the upcoming thoughtful programs. While lectures on design patterns and good programming style are useful, I don't think that a lot of people are able to take the abstract ideas presented in that format and apply it to a concrete example. My hope is that, by reading the thoughtful programs, students will be able to carry over what they see to their own programs.


Reactions


Matt C:

I agree with you that there is often too much "the TA told me to do it that way." The question is whether it is the TA's fault for simply giving away the answer, or if the student just listened for the answer without the explanation. That's why I think it important for a teacher to lead students through a solution, rather than giving it away straight out. If the student is a participant in the discussion, they are more likely to understand why they are doing what they are doing.


Amanda:

It's kind of funny. Tonight I had the most unusual experience I ever had with a TA (that was related to the course...but that's another story.) Anyways, what happened was, and I'm not sure that this is even acceptable TA behavior, that he started editing the code with me. I had written some pretty shifty code. Really bad, like it was impossible to tell what was happening. And then he started going through the code with me. He started editing it with me. He put System.out.prinlns where he thought it was appropriate and we pin pointed the problem. Of course it took a half hour and we ended up not being able to fix it, it still taught me a lot. It taught me that the code written at the begining is the most important. And the most important thing is to be able to understand what is going on. He made me think about HOW I write my code...But then I turned in a non functional assignment. I blame it on my lack of competence, I should. The TA didn't help me much on this program, but somehow I feel that the next one will be a lot cleaner. I hope.


[BACK]