Save time with these tips, tricks, and scripts from SIGCSE 2019

Image of Vanessa Gennarelli

Computer science teachers try to do a lot with a little—growing course enrollments stretch resources, class sizes continue to expand, and there’s never enough time to fix everything that’s broken.

Almost every teacher asks about ways to automate their coursework:

  • How can we scale our assignments?
  • How can we integrate automated testing for assessment?
  • How can we use battle-tested problem sets?
  • How can we run tests to check for plagiarism?

This year’s Special Interest Group on Computer Science Education (SIGCSE) featured two sessions that will save you countless hours of marking and administrative friction.

Near-total automation at Rice University and California State University-Fullerton

For the first session at SIGCSE, we heard about near-total automation. Dr. Dan Wallach was looking for a scalable, reliable solution for his course. In 2015 the peak loads from his students’ work crashed their campus server, forcing them to extend their deadlines and taxing the Rice IT group. He tried GitHub Classroom in 2017 and never looked back. Wallach continues to use Classroom for his 200-level course at Rice University.

Dr. Paul Salvador Inventado teaches 60-120 students per semester at California State University Fullerton—that’s a lot of checking. Inventado combines the use of a unit-testing framework with Classroom to automate problem assignment, feedback, and checking.

CS50’s tools to help students write, test, and submit their programs

Another helpful session at SIGCSE was CS50’s tools to help students be even more successful when writing their programs. CS50 at Harvard developed a suite of GitHub-based tools to streamline their course activities, and scale the course to meet the needs of one million students.

Among those tools are:

  • check50: a Python-based API for functional testing of programs
  • submit50: a command-line tool that submits students’ work via Git and prepares it for web-based commenting
  • CS50 Lab: a web application that enables teachers to create step-by-step programming lessons

Benefits for faculty: GitHub Team

Wallach, Inventado, and many teachers across the world use GitHub Team to automate their coursework, and you can, too! GitHub Team is free to faculty members.

As a teacher, you own the Team account, so even though students have their own repositories for side projects, you manage the account.

Team gives you and your course:

  • Full access to your students’ code
  • Unlimited private repositories and collaborators
  • GitHub Classroom integration

Get GitHub Education benefits for faculty

Join us at GitHub Universe

Our largest product and community conference is returning to the Palace of Fine Arts in San Francisco, November 13-14. Hear what's next for the GitHub platform, find inspiration for your next project, and connect with developers who are changing the world.

Get tickets

GitHub Actions now supports CI/CD

GitHub Actions makes it easier to automate how you build, test, and deploy your projects on any platform, including Linux, macOS, and Windows. Try out the beta before GitHub Actions is generally available on November 13.

Sign up for the beta