Designing a Graduate Level Digital Humanities Course using GitHub Classroom

Hi educators!

I am developing a graduate-level digital humanities course that will launch in the Fall 2021 semester, and am planning to use GitHub Classroom. The course will introduce students to Git, GitHub, R (tidyverse), and Gephi.

Would appreciate any tips and/or suggestions you may have related to best practices for building courses, as this is my first time using GitHub Classroom (bonus points for videos!), and would like to avoid as many pitfalls, self-imposed glitches, and extra work as possible.

Am also soliciting suggestions regarding how to most efficiently use GitHub Classroom for assessments.

Thanks to all in advance for your time and guidance–is appreciated.

Zac Selden


Main recommendation would be to likely avoid the auto-testing, and certainly avoid it for grading. This is triply important if you have a large class (it will chew through your minutes (even the educational increase), and cause chaos when things start failing).

Also hit&miss with the Repl.It integration. Even when it works, it’s hard to convey that making changes over there doesn’t mean that their GitHub version is updated. Many empty submissions that way.

Oh, and make sure your templates are rock solid before releasing – awkward time trying to update things for all the students if you need to change it later.




I would really recommend that you put a lot of effort in to starter code (template repository) to be used in the assignment. It can really save you as a teacher a lot of time and the students a lot of frustrations, even for an “empty” repository can it be good with some basic structure.
Remember as soon the the assignment is started is it not (easily) possible to make changes to the students repositories. So make sure to test the assignment before handing it out to the students, so that you know that the base you provide the students is solid.

My own experience is that it’s a bad idea to put the assignment description within the repository, unless you have a good way to update it, as you might like to make changes to the assignment as you go. I normally provide a link to the LMS or a course webpage in the README.

And finally my recommendation is that consider how you can use pull request as an active element in the course, I have started to put a rule on the “main” branch to force the students to do pull requests to main, and then make it clear that only what is on the “main” branch is evaluated. Sadly are you need to set the rules manually (or script it).

Wish you the best of luck!

1 Like

Hello! I am a technologist in the Center for Digital Research in the Humanities so am looking around at DH posts. I wanted to point out some of our data in case it ever is useful for classroom work:

We have a lot of students working on our projects and use github heavily. In the CDRH org, all the repos starting with “data_” contain project data of some sort, usually TEI/XML encoded documents.

One thing that may be especially of interest is our .ttl file from the Early Washington DC project data_oscys/rdf at master · CDRH/data_oscys · GitHub which is what we use (along with the OWL file) to build visualizations

(This might not be useful anymore at all, but thought I would post anyway!)

-Karin Dalziel

© 2017 GitHub, Inc.
with by
GitHub Education