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!


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

1 Like

It’s so cool that you create your own course for graduates. Education is getting better and more and more digital. I love it. With the development of technology, more tools and learning resources are opening up for students. For example, I had problems writing papers and my friend recommended me where you can read a lot of useful material on your topic. You can also get help with writing from professional writers. This service has helped me several times, so I recommend it to you.

Zac, I am curious as to how the course progressed? Any feedback on what worked and what did not would be great. Thanks!

Hi Mark! Thanks for your message. It’s going really well; am still tweaking the draft of my content/workflow—the course was pushed to Spring of 2022, which gives me more time to tinker. Am currently shopping for ways to automate as much of the course as possible (homework, quizzes, and exams), but the process of learning how to automate those tasks and testing the output is taking more time than I anticipated. That said, am hoping that the time investment on the front-end helps me to save time while the course is running (efficiency is a priority).

Thanks for the feedback! I look forward to hearing how it goes in the future.

Since you are using R, I’d definitely suggest using the ghclass package. There is a website plus they authors have given a number of talks about it.

For me the biggest pain is that as far as I can tell you need to enter a PAT for each project if you use RStudio’s project feature.

© 2017 GitHub, Inc.
with by
GitHub Education