Simple HTML/JS assignments via github classroom


(Dhowe) #1

I’m trying to setup a workflow for non-programmer students in an ‘intro to creative coding’ class to submit simple HTML/JS assignments via Github.

I’ve setup a Github classroom and created an assignment (with private repos for each student). However, my ‘simple’ setup guide is already long and complex due to the constant switching between the Atom editor , Github Desktop, and the Classroom and Github web Interfaces. Can someone suggest a simple workflow for this use-case (without the cmd-line)?

Ideally, I think, one could paste an assignment invitation into an app, clone their repo and begin editing; then preview in a browser, commit, push, pull as needed from the editor…


(John Britton) #2

It doesn’t exist right now, but it would be possible to build an Atom plugin that would take the student from a Classroom assignment to editing it locally on their machine.

I’d be really interested to pursue such a feature.

Based on what you said, the guide for the student should be something along the lines of:

  1. Click this assignment link
  2. Clone the repository
  3. Open the code in your editor and edit
  4. Push changes to your repository

Steps 2, 3, and 4 need simplifying, especially with respect to students who don’t have Git experience.


(Dhowe) #3

Agreed. I was thinking about a version of Github Desktop that included Atom (which could be used, at very least, for commit messages), but an Atom plugin might be equally useful. For those of us teaching in labs that are locked down, being able to tell a sysadmin to install a single app (Desktop w’ Atom) is better than specifying specific packages to be installed, but either way is possible…


(Dhowe) #4

So, if there is interest, I can start on an atom plugin to do some or all of the above? Would people be interested in such a thing? And if so, are there specific features we’d want? Perhaps this should be moved to a new ticket?


(Rob Muhlestein) #5

We prefer to introduce them to VIM and the Bash Command Line (even at 8) over Atom. When we do use an editor other than VIM it is through CodeAnywhere. We have a simple save:

#!/bin/sh

comment=save
[ ! -z "$*" ] && comment="$*"

git pull
git add -A .
git commit -a -m "$comment"
git push

Obviously this means a lot more commits and forget about meaningful commit comments, but we cover that a lot later.

We still do the git clone using the ssh URL from the site.

For non-technical course material we just use the direct editor in GitHub itself.

In general I think hiding this stuff from students who are otherwise capable of doing it, just slowly, might do them a disservice unless we eventually teach them how.

The bigger issue is multiple student management from a single physical classroom workstation through GitHub. If that could be built into Atom somehow it would be ideal. Most organizations do not have individual logins to their workstations for each student.