After a couple of years of thinking about it, I am moving my first course to github classroom this year! The course is called “Digital History” and includes a few very small introductory coding assignments. My students are mostly undergraduate history majors at a canadian university. Most of them have pretty low confidence and base skill levels when it comes to any STEM field, so the technical aspects of the coursework are intended to foster confidence. Last year’s website is here, and the initial assignment is on Github here.
I’d like to add tests to this assignment and use them in two ways:
- For my own grading purposes, I’d like to hook the tests up to Travic CI so I have a good sense of how the class is doing before I sit down to grade assignments. I might use this to semi-automate the marking process, too (though I’m not sure what the most efficient workflow is for this)
- However, I’d also like the students to be able to check their own progress and receive useful feedback about what’s going wrong in their code. I guess I would have to set up a test harness html page and point them to that page somehow.
I’d like to make this whole process as frictionless as possible both for myself and for the students. In past years I have given a lot of direct support to students, but this year I am teaching a larger class and have a heavy courseload, so I won’t be able to give as much individualized support.
- test to see if a particular link has been added to
index.html (the very first step in the student assignment is to add a link to a profile page)
- test whether a script run in index.html changes the content of a
<td class="someclass"></td> from
Some Name to
<a href="https://en.Wikipedia.org/wiki/Some Name">Some Name</a>.
To do either of these things, I need to get access to the DOM in a local web page (which by default would be served off of a
file:// URL, to an
Finally, if at all possible I would like to have the same set of tests running in Travis, as run in a web page where the students can inspect the test results themselves. This would ensure that the students and I always see the same results.
Does anyone have any experience with this kind of thing? I could really use the help! thank you!