Grading is an inevitable part of most educators’ days… and nights… and weekends! At times, grading stacks of papers or projects can be monotonous and time consuming. On the flip side, it’s an opportunity to enter the minds of your students and their creative thought processes. When it comes to grading in your computer science class and more specifically, coding projects, the task of grading can easily consume your time and energy as you find yourself getting caught up in line by line details. While we understand some of that comes with teaching coding, we encourage you to step back, see a bigger picture, and embrace the opportunity to see how your students are shining. Here we offer some advice on how to alleviate the grading burden, give you some time back, and evaluate your students’ foundational knowledge, problem solving skills, and creativity.
Sharon Albertson, a teacher at Southmont Junior High School, taught elementary music for ten years and then spent two years creating a STEAM program at the elementary level. This year, she moved to the Junior High to introduce computer science to seventh and eighth grade students. For the past two years, she focused on developing this program and exposing students to the STEAM concepts, the 4C’s, coding, and the engineering design process. Until this year, she was not responsible for grading, but rather on developing the program and engaging her students. She saw students excited to learn and working hard in all areas, so there was also no need to grade for accountability. This year, however, teaching in a hybrid scenario has created new challenges, and grading has become more important for her classes. While most of her students were “showing up” daily for class both in person and virtually, there were also those that did not. Sharon felt like she should be grading students for accountability to reward those students that were putting in the time and effort.
“Because of the class time we are spending on coding these projects, it is important to give a grade for students who are following through and who are able to input correctly or debug the mistakes they have made,” she said.
After her students completed the first Scratch* project in Programming 101: Introduction to Computational Thinking with Scratch, she spent hours going through each student’s project, taking screenshots of key areas where they needed to check for bugs, and then wrote an email to each student. She quickly realized she could not spend hours grading 50 projects every week. That’s when she reached out to the Codelicious team for help and advice on some grading best practices for coding projects.
If you face similar challenges in your computer science class and struggle with how to grade coding projects specifically, we hope these best practices will help you as well:
Use short and sweet grading checklists or rubrics to grade projects, which focus on a few major concepts in the project. Develop a rubric according to what you want to grade, share with the students before they begin their project, and use that as a framework for grading. A typical rubric will look for specific elements and challenges accomplished in the project and assign a point value for each. For example, a rubric for a coding project might address the following broad topics by providing students with specific, demonstrable goals:
The following are examples of a simple rubric and checklists:
Using a rubric or a checklist, you can appreciate the overall project while still focusing on a few key items.
Peer review – Take some of the load off of your shoulders. Pair students up to share their projects with each other and conduct peer reviews! Take another student’s input into consideration as part of the project grade. The peer review process can provide general feedback, or students could complete a more detailed rubric or checklist. Allowing students a chance to review each other’s projects, share comments, help with debugging ideas, and test whether the program works not only helps you, but can be very empowering and beneficial for student development. Sharon Albertson has had success with this peer review grading strategy.
She states, “I am now using peer review to have students look over another student’s progress and help them figure out where their bugs might be occurring. I then grade their project more simply, based on if the project works, how much of the project works or doesn’t work, and grade it accordingly.”
Allow time for self reflection for projects where students write and explain how they met the project criteria and what they learned. This reflection could be the entire project grade and may be especially helpful for more complex coding projects or independent projects. Having students explain in writing how they met the criteria and worked through challenges is a time-efficient way to gather insight into the projects, hold students accountable, and can be very beneficial with additional skill development (not to mention the opportunity to address ELA standards for effective communication and writing!)
Have your students present their projects either in-person or virtually. During the presentation, check for 3-4 essential components. Another teacher implementing this strategy with Codelicious curriculum found students eager to share regardless of differences in experience or skill level. He found that students not only looked forward to seeing each other’s projects, but they learned ideas from students who had created more advanced projects and saw the possibilities with that particular coding platform. Here you also have an opportunity to build confidence in your students while also addressing social-emotional learning competencies such as instilling an appreciation for all ideas and different problem solving strategies and showing support for classmates.
When coding projects are finished and students are ready to reveal their projects, you can do a quick walk around and have students run their programs. This can also be done virtually! Giving a quick “completion/accuracy” grade is effective with those projects where the end result is intended to look similar among all your students. Codelicious curriculum also provides Exit Tickets at the end of each lesson that could be used as a grade to check accuracy and understanding as students progress through projects. Keeping in mind there are often multiple ways to solve/code a challenge, as long as the program runs as it should and accomplishes the goal using concepts the lesson is trying to teach, then consider that a WIN! You’ll find it very interesting and rewarding to see the different ways your students go about coding their programs and make them their own, while accomplishing the expected outcome.
Ultimately, we recommend you mix up your grading techniques. Sometimes the nature of the project will lend itself to one grading technique over another. Perhaps the above suggestions will add variety to some of your own tried and true grading practices.
“I am going to be implementing a partner system to also help those students who need. . . guidance.”
— Sharon Alberton, STEAM teacher
When we asked Sharon Albertson what thoughts she might share with other computer science teachers who are struggling with grading student projects or holding students accountable, she reiterated that the peer review process is working well.
“In recent weeks of teaching this new curriculum, I have been able to identify those who have a difficult time staying on task or completing their coding. I am going to be implementing a partner system to also help those students who need help and guidance while we work as a group,” she mentioned.
You know your students best and what strategies will motivate them to not only complete their projects, but do so to the best of their ability. And, we all know those abilities will vary greatly. In the end, you will find that varying your grading techniques, looking at the bigger picture, and utilizing the gifts you have in your students will end up helping them as much as it does YOU!
Codelicious would like to thank Sharon Albertson at Southmont Junior High for her insight and willingness to share her experience!
Download our free coding lesson to introduce computer science concepts in your classroom. Each download comes with a step-by-step lesson plan so you can get started, regardless of your experience level!