Reaction for: Instructional Strategies for Novice Programmers by Matt C

Well, this paper was interesting in that it discussed the need for additional teaching styles in programming courses. Since this seems to be written maybe 10 or so years ago, it is a little dated as I'm sure some of what they suggested has been implemented in other courses. Two things that were mentioned in the article stuck out at me. One was emphasizing the difference between lack of knowledge and fragmented knowledge, and the other was a more minor point making sure students realize how dumb computers really are.

I would say that Brown CS leaves students with at worst fragmented knowledge of the material. We currently do enough that almost all students get the _basic_ ideas of what we are teaching, even if they have trouble implementing them. There are some who don't, and sometimes they slip through the cracks and make it through anyway, or realize themselves that they aren't getting anywhere and leave the course. However, I believe this number is small and they are not the students that we need to deal with. We need to focus on bringing students to the next level with a full understanding of the material. However, we actually do teach most of the stuff that was offered in the meta-courses. We may simply need to do it better.

The minor issue was pointing out how dumb computers are. This is really simply to show students the importance of really understanding what your program is doing, because if they don't, the computer surely won't. Thinking how the computer is going to deal with something (hand-simulating as an example) will help catch errors early and avoid nasty bugs. Thinking in this way is something that needs to be not only encouraged, but somewhat taught. Today we think of computers as these all-powerful machines that can do anything, but clearly that is not the case. I'm not sure of a way to go about teaching how the computer is thinking of things (though the paper computer was an ok idea), but knowing that the compiler doesn't fill things in for you in the way you expect will hopefully encourage the student to confirm on their own the correctness of the program before turning it over to the computer. Kinda rambling huh? Anyway, those are my thoughts.


Reactions


[BACK]