Web-Enabled (GitHub Pages) Assignment Starters

(Rob Muhlestein) #1

The video about using the classroom tools to automatically start every member of a classroom organization off with an assignment starter got me thinking that we might be able to encapsulate a nice web page to go with the assignment on the gh-pages branch of the assignment starter repo. One advantage of this is that the exact documentation for that assignment would be captured for each individual copy of the student’s assignment. Say, for example, the assignment documentation changed, it would also be changed for any subsequent times it is given to later classes.

This could be accomplished, of course, by just using the README.md, but having a bit more web polish in the gh-pages branch would perhaps make the assignment documentation more presentable.

I suppose my first question is, do all the branches get copied over with the starter repo? If not, the main starter repo could have a gh-pages branch that accompanies the assignment nicely even if they students receive a copy of the repo without the branch.


(Rob Muhlestein) #2

Ok, so a little test shows that the gh-pages branch IS created for individual student assignment repos, and not only that, if you set gh-pages as the default branch and even remove the master branch that the students get an automatic, private repo that will also show as a web page at the expected address <organization>.github.io/<assignment-name>-<student>, which is fantastic for web development, even more so because it does not interfere with the student’s own private <student>github.io web page that they can then apply all they have learned to make sharp and something worth presenting to others (instead of the one used for the course assignments as they learn).

This is really great stuff!

(Erik Kotsiuba) #3

That’s an awesome tip !

But as I see - if I’ll create repo with starter code for assignment and set branch for Github Pages to master in repo settings - student won’t be able to see its page on <organization>.github.io/<assignment-name>-<student>.
(I think this could be solved by granting admin access to forked repo to students, so they’ll be able to change branch for Github Pages in settings)

So unfortunately you have to create gh-pages branch and set it as the default and remove master.