Save time with these tips, tricks, and scripts from SIGCSE 2019
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 and CS50’s tools helping students with their programs.
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
Written by
Related posts
Introducing Annotated Logger: A Python package to aid in adding metadata to logs
We’re open sourcing Annotated Logger, a Python package that helps make logs searchable with consistent metadata.
Boost your CLI skills with GitHub Copilot
Want to know how to take your terminal skills to the next level? Whether you’re starting out, or looking for more advanced commands, GitHub Copilot can help us explain and suggest the commands we are looking for.
Beginner’s guide to GitHub: Setting up and securing your profile
As part of the GitHub for Beginners guide, learn how to improve the security of your profile and create a profile README. This will let you give your GitHub account a little more personality.