<commit_before>= Starter Upper

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 http://db.grinnell.edu/sigcse/sigcse2013/Program/viewAcceptedProposal.pdf?sessionType=paper&sessionNumber=257[git on the cloud in the classroom].

== Student instructions

. http://git-scm.com/download[Install Git]
. Copy/paste this command into Git Bash or Terminal:

----
curl https://raw.githubusercontent.com/lawrancej/starterupper/master/starterupper.sh | sh
----

== What Starter Upper does for students

. 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

== What Starter Upper does for faculty

Starter Upper collects the class roster from Github and fetches all student work.

== Starter Upper principles

* Set up everything with one command
* Small download
* Minimize user interaction as much as possible
* Validate all user input and sanity check
* Provide good defaults

== References

* https://git.wiki.kernel.org/index.php/GitHosting[Git hosts]
<commit_msg>Updated README.<commit_after>= Starter Upper

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 http://db.grinnell.edu/sigcse/sigcse2013/Program/viewAcceptedProposal.pdf?sessionType=paper&sessionNumber=257[git on the cloud in the classroom].

== Student instructions

. http://git-scm.com/download[Install Git]
. Copy/paste this command into Git Bash or Terminal:

----
curl https://raw.githubusercontent.com/lawrancej/starterupper/master/starterupper.sh | bash
----

== What Starter Upper does for students

. 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

== What Starter Upper does for faculty

Starter Upper collects the class roster from Github and fetches all student work.

== Starter Upper principles

* 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

== References

* https://git.wiki.kernel.org/index.php/GitHosting[Git hosts]

{'fraction_non_alphanumeric': 0.0631891433418151, 'fraction_numerical': 0.0029686174724342664, 'mean_word_length': 4.434331797235023, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6381048', 'n_tokens_mistral': 1218, 'n_tokens_neox': 1136, 'n_words': 591}