Daily Work: Programming Assignments
Most of my students' daily work consisted of programming assignments. I started out requiring them to write comments throughout each program, even in the most basic programs. I graded the minutia of each submitted programming assignment, from the format of the heading comments to the alignment statements. I did this because this is what my college Computer Science professors did. I also thought it was important for students to learn the "correct" way to program.
I still think these things are important, but I realize that during my first year, when I was teaching five different courses, I needed more efficient methods of grading. Here are some suggestions for grading programming assignments in a way that gives your students quality feedback while being an effective use of your time.
I still think these things are important, but I realize that during my first year, when I was teaching five different courses, I needed more efficient methods of grading. Here are some suggestions for grading programming assignments in a way that gives your students quality feedback while being an effective use of your time.
"Traditional" Grading
One good thing about "traditional" grading is that you come to know each students' areas of strength and areas that need improvement as you examine every element of their programs. This reminds me of getting to know students through grading their English essays. It also takes as long as grading English essays, which is one of the downsides of "traditional" grading.
Another downside that I discovered is that many students rarely look at the feedback that I wrote on their programs, and they would make the same mistake on the next program. I think that "traditional" grading should be one of your methods of grading, but I would suggest employing other grading methods to both save you time and make a greater impact on student improvement.
Also, consider emphasizing the use of comments within the program later in the year, as programming concepts become more complex. By the time students needed to comment their programs, they were already burned out on writing comments.
- Students create a program that compiles and runs.
- Students copy their output, paste it at the bottom of the program as a comment.
- Students print out their completed programs and turn it in.
- Teacher marks areas of concern, marks the grade, and returns the graded program to the student.
One good thing about "traditional" grading is that you come to know each students' areas of strength and areas that need improvement as you examine every element of their programs. This reminds me of getting to know students through grading their English essays. It also takes as long as grading English essays, which is one of the downsides of "traditional" grading.
Another downside that I discovered is that many students rarely look at the feedback that I wrote on their programs, and they would make the same mistake on the next program. I think that "traditional" grading should be one of your methods of grading, but I would suggest employing other grading methods to both save you time and make a greater impact on student improvement.
Also, consider emphasizing the use of comments within the program later in the year, as programming concepts become more complex. By the time students needed to comment their programs, they were already burned out on writing comments.
Screen Grading
Reasons to include screen grading as one of your methods of grading:
- Student creates a program that compiles and runs.
- Teacher comes to student's computer, where student compiles and runs the program for the teacher.
- Teacher examines the output and the code.
- Teacher and student conference briefly about the areas of success and areas that need improvement.
- Teacher uses a simple rubric to give the student a grade for the programming assignment.
Reasons to include screen grading as one of your methods of grading:
- Paperless - nothing to print, nothing to return
- Grading is completed in class - teacher can focus on lesson plan preparation outside of class, rather than grading
- Teacher and student develop rapport through conferences
- Students prefer verbal feedback to written feedback
Online Program Submission and Verbal Feedback
Tools
- Student creates a program that compiles and runs.
- Student submits the program file to an online learning management system, Google Drive, or Microsoft OneNote.
- Teacher adds voice comments or text comments the areas of success and areas that need improvement.
- Students listen to or read teacher's feedback
Tools
- Online learning management system that has assignment turn-in functionality and voice recording or text comment feedback functionality. Schoology is one example of an LMS that has turn-in and text comment functionality.
- Google accounts with Google Drive access and the Kaizena add-on. Tutorials on using Kaizena: Sophia and School Library Journal
- Microsoft Office 365 and OneNote access. Tutorial on using OneNote to record voice comments: TeachUComp video
Rubric
Using a simple rubric for every programming assignment will help you quickly assess whether the student met the learning objects.
Using a simple rubric for every programming assignment will help you quickly assess whether the student met the learning objects.