Assessment And Computer Science

I was reading the CSTA blog the other day and there is an article called Assessment by Joanna Goode that got me thinking. Good blog posts are like that – they get you thinking. It’s hard to determine how much computer science students know. Oh sure you can give tests and quizzes but they seem even more artificial to me than they do in many other subjects.

You ask students to wrote code – on paper – with no error checking – no reference materials – how real is that? Not very. You can give students some code and ask them what it does. Humm, shouldn’t code be obvious? If you give them code that is obvious (i.e. good code) you’ll only baffle the students who are really behind. If you give them tricky hard to read code aren’t you really demonstrating poor practices? Yep. One of my students once told me that the AP computer science exam was one poor example after another. Hard to disagree. And it is not because the people who write the exam are not good at writing code – they’re among the best of the best – but because you have to be artificial to make examples that fit into time and resource constraints.

Multiple choice questions? Ah, does anyone like them for anything other than ease of grading?

Most computer science (or in high school really we do mostly programming) teachers use a lot of small projects during the course. A lot of people use semester projects at the end of the semester and ask students to demonstrate as much as they know that way. Personally I like this idea. Projects are much more helpful in assessment than most tests or quizzes. They can be difficult to grade of course. And some students struggle with them. On the other hand many students find that learning by doing is the best way to learn. Many isn’t all though. It’s a struggle.

At the end of it all I like the portfolio idea that Joanna Goode talks about. I think that this shows a broad range of what a student knows. Of course there is the cheating problem which seems to be talked about a lot lately. That is why I think the portfolio or any code sample should be the start of a conversation not the answer. I used to have students walk me through their end of term projects and explain what is going on. I would ask a lot of questions. It was/is important to understand not just what a student did but how they understand what they have done.

None of this scales to sections of 300 students though. It’s one of the reasons that huge sections like that don’t make sense to me. Programming is still very much a craft. Crafts are best taught through student/mentor relationships and conversation. Hard to do in school but when it happens it is magic.

Comments

  • Anonymous
    May 12, 2010
    Really great blog Alfred. Wish I could say it as well when I talk about the Who, When, Why, What and How of my classes.