Role of Self-grading Assignments in Teaching Programming

Words
407
Reading
2 min
Listen
Play
8y

image.png
I am working on an article about learning and teaching Node.js and one of the things that I have been thinking a lot about is the role of self-grading problems. Self-grading problems are a type of automated assessment that often comes embedded in a programming language tutorial that will offer up a challenge to test comprehension. Often the questions provide a starter snippet of code and ask the student to modify the code in some manner. The resulting program output is automatically compared against an answer key. The user will get instant feedback whether they completed the assignment correctly or not.

In more than one blog post I have mentioned my like of self-grading assessments as I explore different languages through online tutorials. Competitions like Advent of Code also include self-grading challenges, often with randomized numbers for each competitor. With such randomization, each user's correct answer will be unique, which minimizes cheating through sharing answers. Self-grading assessments are great for individuals desiring to learn through independent study.

I've started to have some concerns however about the limits of self-grading assessments as they relate to teaching others a language versus a single, self-taught environment. I think the current assessments need improvement in at least three areas:

  • Need to record the answer/code: Much like math teachers want their students to show their work, the simple binary complete or uncomplete won't give the teacher enough information about how the student solved the problem and what they struggled with while doing so.
  • Need some type of dashboard to track student's grade: These self-grading assessments could allow students to learn at their own pace, but the teacher will need a way to track the progress of their students.
  • Need to have better feedback for incorrect answers: Most of the self-grading assessments that I've taken have little to no feedback if the answer is wrong. I am not sure how this would work but providing more precise feedback could help the student and avoid frustration.

I still feel like I have more thinking to do on this issues. So I am putting this question out to my followers. What are other concerns/considerations that I need to think about when it comes to the role of self-grading assignments in a classroom environment? Are there any tools out there that already do what I want? I'll incorporate this feedback into another post outlining my ideal system to assist teachers in teaching computer science.

Image 1

Role of Self-grading Assignments in Teaching Programming | Ecency