I teach computer programming in the Business Information Technology program at Red River College. Following the lead of Jody Gillis, another BIT instructor, I have added self-assessments to my student assignments.
What is self-assessment?
I ask my students to grade their own assignments using the same process I use, a weighted grading rubric. My rubrics are a collection of project requirements and instructor expectations. For each assignment a self-assessment is completed and submitted along with the project source code.
More often than not, the students assign themselves full marks with little reflection on their work. I need them to buy into the process, to see the value in it.
Why I want my students to value self-assessment.
Each week I introduce my students to new coding techniques. They must practice these new skills to learn them. Since each new set of techniques builds on skills acquired in the weeks before, a student’s ability to assess what they know and what they don’t know is essential. Insert “house of cards” analogy here. ;)
Practice Makes Better
To integrate more practice time into my courses, I’ve split assignments into two types:
- Take Home Assignments. Five or six a term. Individual work. Assessed by me and self-assessed.
- In Class Coding Challenges. One a week. Students can work together. Self-assessed only, but no formalized rubric.
The coding challenges provide an opportunity to experiment, to make mistakes, and to learn from direct experience. My gut feeling is that the better my students are able to self-assess these challenges and assignments, the better they will be able to direct their own learning.
My gut also tells me that my students are self-assessing once they believe no further work is needed on their assignments. I have to do a better job of explaining that self-assessment should be used throughout the development of their assignments, allowing them to reflect on and improve their code as they go.
More reading: Self-Assessment Does Not Necessarily Mean Self-Grading