Reaction for: "Old Dog, New Tricks" by Jon

When I read this, what immediately struck me was the emphasis the study put on the scores of tests. It compared the test scores across the groups, and the different tests, to judge whether the people involved learned OOP or not. That brings up a question which I think I am rather biased in: whether a test on programming accurately tests your abilities.

My initial reaction is that no, a sit-down, presumably written, test does not test someone's ability to understand programming, and that only programming does that. However, that is probably because that is the philosophy I have learned most of my programming with. Most of our classes in the Brown CS dept have no tests, and those who do test do so on concepts of the class (such as cs16, 31, or 167), and not on the programming.

So, what could testing accomplish? Well, it seems that it is very possible for people to get programs functional, and fairly decently designed, without really knowing what they are doing. Especially at Brown, it is possible through experimentation and talking to TAs that they will get their program to compile and run, but if you asked the person to explain a programming concept, they would be at a complete loss. Testing gives the opportunity to ask a direct question, and require the student to give an answer. Of course, that still runs the risk that student may be able to supply a memorized definition, without really understanding it, but it might catch more students.

Returning from that tangent, I would like to know what the format of the tests were, as well as what the content of the lab exercises were. I wonder whether the tests were formatted such that the students could just spit back definitions. Thus, I think the programming assignments (if that is what the labs really were) would give a good indication of whether or not the students could apply the material. This would be of extra interest for those students who complained about why to use object oriented methodology.

This course also presumes that the participants start the class knowing C, so it would be interesting to see how someone without a procedural programming background would do in this course. You would have to gear the course much differently though, so it is probably not a fair question to ask.


Reactions


Saul's Beef

good points Jon. I agree about the tests being direct questions, but what is the best way to define is someone "knows" a language or programming? I am not sure how I feel about this issue. Perhaps having the test be putting someone in a room with a node and seeing what they come up with? There is no right answer in my book. If the goal is to have people successfully create working projects, then we here are pretty successful. In _Real_ world applications, you are able to ask people for help to solve problems. I'd like some feedback on my feedback so anyone please jump in.



Lucas's Reaction

I agree with Saul in that I feel that there exists no perfect "litmus test" for gauging a student's ability wrt programming. I think the closest one will get to a perfect testing environment is a well-thought out combination of the two types of exams: programming and written. Although a case could be made for the programming assignments in CS15 themselves being a programming exam, there is something gained by putting someone in a time-constrained/you either know it or you don't type of situation. It's also tough to collaborate on a programming test, which in addition would go further toward exposing the a student's true grasp of a particular concept.


[BACK]