Introducing undergraduate students to git and hosting services is difficult without cutting into scarce class time. Even with clear instructions, students rarely set up everything properly, frustrating everyone. As a result, few undergraduate computer science faculty use git for work submission, despite its importance in software development. Starter Upper automates set up as much as possible so students and faculty can get to work using git on the cloud in the classroom.
-
Copy/paste this command into Git Bash or Terminal:
curl https://raw.githubusercontent.com/lawrancej/starterupper/master/starterupper.sh | bash
-
Configures git locally
-
Configures git’s user.name to the student’s full name
-
Configures git’s user.email to the student’s school email address
-
Creates SSH keys if they do not already exist without user interaction
-
-
Configures project hosting on Github
-
Asks users to join Github if they haven’t already
-
Authenticates with Github (supporting two-factor authentication)
-
Ensures the student’s email is validated
-
Requests educational discounts
-
Sets the user’s profile name to the student’s full name
-
Shares SSH keys with Github, if not already shared
-
Tests SSH connectivity, and reconfigures gracefully in case of firewall restrictions
-
-
Set up the course repository
-
Creates a private repository (origin) for the student on Github
-
Adds faculty as a collaborator to the private repository
-
Clones the course (upstream) repository
-
Adds origin for the student
-
Pushes to origin
-
Loads the local repository in the file explorer / finder
-
Loads the Github repository page in the web browser
-
Starter Upper collects the class roster from Github and fetches all student work.
-
Set up everything with one command
-
Small download
-
Minimize user interaction as much as possible
-
Provide good defaults and ask for confirmation
-
Validate all user input
-
Degrade gracefully when facing errors