Tuesday, July 26, 2016

Collecting and Grading Programming Projects

No one like grading. Well no one I know. But as teachers it is an essential part of what we do. Grading programs can be a real pain to do though. Do you run every program? Well you probably better. Do you read all of the code? Probably better do that as well. How do you collect it? On paper? Online? A lot to think about. Bare with me as I “think out loud” here looking for input from others.

My students save all of their programming work on a network drive that I have full access to. Assuming they follow directions, give files the names I ask them to use, and save things in the right place we’re off to a good start. Easier than it sounds but let’s assume it works. It usually does.

Opening up the project in the IDE used to develop it is the simple most powerful way to look at the code and run the resulting program. IT an take a while depending on the size of the project, the speed of the network and the speed of the computer.It’s not really necessary if the program compiles. One can just run the executable – assuming one trusts that the executable matches the code.

One can also ask for the code to be printed out and handed in. I do that a lot but it feels like a waste of paper. On the other hand reading code on paper feels better to me than reading it online. This is probably a result of me being old school and dating back to before we had screens to read code on and it was look at the cards or a listing or nothing.  I miss the color coding of the IDE though sometimes. Like those times when I think there is a problem somewhere in the code.

I’m thinking of having students create a Word document (or PDF) for handing in code this year. I’ll ask them to include a couple of screen shots of the running program at the top of the listing. That way I can see how their results look without running anything. I’m unsure if that will actually save time or not. Will it also open the door for more cheating? I hope not but it is something I will watch for.

I’ve been learning about the way projects have to be submitted for the new AP CS Principles course and that is moving my thinking about a bit. IT seems like doing something similar even if not exactly the same might have the added benefit of preparing students (and me) for the APCSP course which my school will be offering in 2017/2018.

Feedback is the other issue in grading. I have experimented with a couple of programs to record my feedback and grade justifications for both students and myself. Basically I have the result saved in each student folder on the network drive. Files are less likely to be lost or misplaced than pieces of paper. Plus my typing is a lot easier to read than my handwriting. I plan to keep this up this year but I also want to upgrade the rubrics I use and the programs I use to make it easier to provide more details than previously. What I use now   if very basic.

I’ve experimented with the rubric developed for Harvard’s CS 50 course. I like it for the most part but I want to tweak it some to fit what I think I need to provide for details. I’m open to other rubrics or grading plans as well if you know one that works well for you.. No matter what method I use for collecting and reviewing projects a good clear rubric that students understand is critical.

No comments: