Autograding and plagiarism detection for CS education
Articles
October 31, 2022

How to adopt automatic grading in your coding course

In 30 seconds...

  • Many teachers want to adopt autograding solutions to scale classess and improve educational outcomes.
  • Most coding courses are benefitted by autograding. Autograding adds more assessments, optimizes the feedback loop, saves time and improves student results and satisfaction.
  • Teachers face common barriers when adopting a new autograding tool, CodeGrade helps teachers overcome these barriers for a smooth transition without much initial time investment needed.
  • A bottom-up approach (teachers-first approach) is crucial in a successful adoption of a new innovaction in the classroom.
  • Book a 30-minute personal demo to discuss your needs and wishes and see how easy it is to get started with autograding without any time investment.

Adopting a new automatic grading tool for your coding classroom can be a daunting task. One of the reasons many teachers choose to adopt autograding solutions is a lack of time and resources, which also leaves them unable to invest time in setting up an autograder: a computer science education catch-22.

As student numbers for computer science courses go through the roof (The Computing Research Association reported the number of CS undergraduates in the US more than doubled between 2013 and 2017), teachers and university leaders have to come up with new ways to manage larger class sizes to keep up with the increasing demand for coding classes. As discussed in an earlier article, autograding does not only solve these challenges, but also comes with many pedagogical benefits that ultimately result in better learning outcomes and higher student satisfaction. 

Over the past years, we have worked together with hundreds of institutions to successfully help them adopt autograding in their computer science courses. In this article we will share our experiences on this and discuss the challenges of adopting new innovations in the classroom and how to overcome them.

Do you need autograding?

We want to be realistic here: not all coding courses require code autograding. Traditional teaching methods still work very well in some courses, especially courses with a very small number of students, that require specialized hardware (e.g. distributed programming or robotics) or lack a coding aspect (e.g. theoretical computer science or math). 

With that being said, most courses can benefit greatly from autograding. Review the statements below:

  1. I would like to add more practical code assessments to my course;
  2. My course lacks a practical component to put the theory into practice;
  3. Students want more intermediate feedback throughout the course;
  4. I am / my graders are doing too much administrative work;
  5. I / my graders do not have enough time to give feedback to all students;
  6. I need to improve student results or student satisfaction.

If you feel like any of the statements above apply to your course, there’s a very good chance adopting autograding will benefit you. Teachers that adopt autograding report that they save time, save money, improve student results and improve student satisfaction, as you can read some of our case studies here.

What’s more, autograding gives them a new way of assessment that was not possible before: teachers can provide autonomous fully autograded assessments for students to practice, like UNIR did. This adds a practical component to courses or allows teachers to provide coding courses with limited resources that were not possible before. Eastern University set up a new and highly successful Data Science program thanks to autograding.

We will help you set up code autograding within 1 hour!

Overcoming initial barriers to adopt autograding

In their review paper “Propagating the Adoption of CS Educational Innovations”, Cynthia Taylor et al. provide an overview of common barriers that faculty face when adopting tools like an autograder. From our experience, we can help faculty overcome these initial barriers:

  • I don’t have the time to adopt a new tool.
    The most common barrier is time and effort needed to convert courses to a new “autograding” model. We have helped hundreds of teachers overcome this initial barrier by providing personal and extensive support.

    It is often a daunting task to set up a first assignment in a new autograder, but once one assignment is set up, the other assignments are merely a matter of copy and paste and changing some details. This is why we always set up a first assignment for a new teacher adopting CodeGrade, to take away this initial time investment and immediately show them the benefits that can be reaped. Furthermore, we design an extensive personalized onboarding plan to make sure a teacher gets the most out of CodeGrade.

  • Autograding does not fit my current practices!
    Coding courses come in all shapes and sizes and every course is unique, this can make teachers think their course is not suitable for autograding. Or, faculty are scared a new autograder will not be compatible with their current tools.

    Flexibility and interoperability of the autograder are very important here. The technology should fit the workflow, not the other way around. CodeGrade integrates with all major learning management systems and GitLab and GitHub. It also supports 180+ programming languages and any framework or library.

  • Will autograding replace me as a teacher?
    Adopting autograding in your course does not replace your role. On the contrary, autograding should be seen as a virtual assistant to the teacher, finally giving them time again to do what makes them so irreplaceable: be an expert in their field and know how to best teach that to new students. Autograding will not replace teacher-student interactions. Read more about how autograding can empower teachers in our recent article here.

Most barriers cannot be overcome by a “good autograder” alone, this is why teachers value CodeGrade’s support and LMS integration so much. These aspects are often overlooked when comparing autograding solutions initially.

Three steps to successfully adopt automatic grading

Now that you have identified that your coding course can benefit from automatic grading and you are (hopefully at least somewhat) reassured that initial barriers will be overcome. How do you go about actually adopting autograding in your course?

The three steps below summarize the best practices of institutions that have adopted CodeGrade before. From Harvard-Westlake School, to the University of Nevada, Las Vegas, to the University of Edinburgh

1. Identifying that your course needs autograding

You have probably already begun working on the first step by reading this article and thinking about autograding in your course. You may want to save time on grading, improve student results, add more practical assessments to your course or all three. It is useful to determine why you want autograding in your course so we can best help you achieve your goals with autograding.

Some teachers just adopt an autograder for their own course or some may adopt it for their entire CS department right away due to a massive increase in student numbers. Your goals may align with your colleagues’ goals too, so it’s a good practice to discuss them.

2. Setting up a pilot without investing time

Now, it’s time to leave the initial boundaries of adoption behind you. Contact CodeGrade for a 30-minute personal demo and call, and we will do all the work for you so you can try out autograding. Click here to find our calendar and simply select any date and time that works for you, it only takes 1 minute!

You can use one of our many preset assignments or you can provide CodeGrade with your first assignment and we will make sure to develop autograding for this in a way that is easily duplicated to the rest of your assignments. We will help design your course with autograding to meet your goals. Finally, we will help fit CodeGrade in your workflow, because we do not want you to spend time to fit your workflow around CodeGrade: we will integrate CodeGrade in your LMS (Canvas, BrightSpace, Blackboard, Moodle, Open edX, …) and use our API to hook up any necessary tools you use.

3. Successful pilot to adoption

With only very little initial investment, you have now experienced what autograding can do to your course, to your time and your students. Unsurprisingly, empirical research [1] [2] suggests that a bottom-up approach works best for adopting innovations in the classroom. If you and your students experience benefits first hand, a successful long-term adoption becomes much easier. 

Now it’s time to find a model that suits your institution. We have been there and done that many times, so we will take care of this for you. Whether it’s a student-pay model, a license for a single course or an institutional license, you will get the same support as you did during your pilot. 

Autograding for everyone

I’d like to end by sharing something we have come to experience of the past years: almost all teachers who try out CodeGrade in their course want to keep using it after their pilot. This is why we put so much effort in taking away the boundaries and helping teachers set up a successful course in CodeGrade. As mentioned before, empirical research suggests that bottom-up approaches work best. There is no educational change without happy teachers and happy students, which is why we focus so much on achieving that first and foremost.

Are you on the fence of adding automatic grading to your course? Feel free to book a call with us to discuss your thoughts here. My colleagues and I will give you our fair thoughts on autograding for your course without any strings attached.

Bibliography

[1] Taylor, Cynthia, et al. (2018, July). Propagating the adoption of CS educational innovations. In Proceedings Companion of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education (pp. 217-235).

[2] Henderson, C., Beach, A., & Finkelstein, N. (2011). Facilitating change in undergraduate STEM instructional practices: An analytic review of the literature. Journal of research in science teaching, 48(8), 952-984.

[3] Natasha Singer (2019). The Hard Part of Computer Science? Getting into class. In The New York Times (https://www.nytimes.com/2019/01/24/technology/computer-science-courses-college.html).

[4] Nicole Johnson (2022). Uncoding Grades: Autograding Tool Improves Student Performance. In UNLV IT News Center (https://www.it.unlv.edu/news/uncoding-grades-autograding-tool-improves-student-performance-0).

Continue reading

Best Practices for Rubric Design in Coding Assignments

Discover best practices for rubric design in coding education. Learn to align rubrics with learning objectives, use automated tests, and explore ungrading for fairer, growth-focused assessments

Watch now! How to teach Python

Watch our 2024 webinar for updates on the Introductory Python course, including new modules, knowledge checks, and grading automation with CodeGrade.

Follow A New User!

See how CodeGrade streamlines grading and improves assignment design in programming courses.

How to configure an AI Assistant for code

CodeGrade’s AI Assistant offers a flexible way to support coding education through tailored guidance and feedback. This guide explains how to configure and customize the assistant to fit your teaching goals, from helping students debug code to providing conceptual explanations.

Sign up to our newsletter

Transform your Jupyter Notebooks course today!