<!--
.. title: Repl.it setup instructions
.. slug: replit-setup-instructions
.. date: 2020-06-08 15:40:46 UTC-05:00
.. tags: 
.. category: 
.. link: 
.. description: 
.. type: text
-->

Here are the instructions I gave my students for getting Repl.it (and everything else) set up at the beginning of the term.

<!-- TEASER_END -->

-----

## Sign up for GitHub

We'll be using GitHub (and the associated GitHub classroom tool) for
distributing sample code and for submitting your work. If you don't have a
GitHub account, create one at [github.com](https://github.com). It will make
some of the following steps simpler if you use your Carleton email address
instead of a personal one when creating the account. That said, if you already
have a GitHub account with a different address, you can use it.

## Sign up for the GitHub Student Developer Pack

The GitHub Student Developer Pack will allow you to be able to get free
access to some of the other tools we'll be using this term. Visit the
[GitHub Student Developer Pack site](https://education.github.com/pack)
and click the "Get the Pack" button. Follow the directions within to
sign up. Make sure that you are logged into the same GitHub account that
you used for the previous step.

## Sign up for GitHub Classroom

Visit this GitHub Classroom link [link removed for public purposes here]. If this is your first time
using GitHub Classroom, you'll be prompted to authorize GitHub Classroom to your
GitHub account. Click the green button to grant it authorization. It will then
ask you to join the classroom by associating your GitHub account with your
school's identifier. Find your email address in the list, and click it. Finally,
you'll be asked to accept the assignment: go ahead and do so. If this worked
successfully, you should see a page saying "You're ready to go!" with a link to
your new assignment repository on GitHub.

We're going to be using GitHub to do automated testing on your assignments to see if they work. This first repository has some work that you'll be submitting, eventually, at the end of Scheme Lab 2. Those automated tests will run automatically right when you set it up, and you might receive an email from GitHub telling you that your tests fail. Ignore that (for now) if you do.

## Sign up for and set up Repl.it

We'll be doing our programming using [Repl.it](https://repl.it/), which
is an online web-based programming environment. It has all of the
programming tools we need for the term, and it will let us do remote
pair programming in a similar fashion to using a Google doc. Visit
[Repl.it](https://repl.it/) and login using your *GitHub account*. In
other words, at the login screen for Repl.it, click on the GitHub cat
icon, and then enter in your GitHub id and your GitHub password. This is
important because it will connect Repl.it to your GitHub account, and it
will enable you to get free private access to Repl.it as a result of
having subscribed to the GitHub Developer Pack.

Once you are in Repl.it, you're going to create a new "repl" to store your work.
Repl is an abbreviation for "read-eval-print loop." Repl.it uses this term in an
unusual way to simply mean a virtual machine that you can work in.

To do this, click the blue button on the top right that says "new repl". (DO NOT
use the "import repo" button that has the GitHub icon on it.) After clicking
"new repl", you'll get a dialog box with a tab at the top that says "Create New
Repl." (DO NOT click on the "Import From GitHub" tab).

* For language: choose Bash.
*  You'll then need to give your repl a name. It will give you an entertaining
default name. Replace this with the name `my-work`, since this is the repl where
you're going to store all of your individual work.
*   There is a slider that indicates this repl is public: change that to private.
(Your ability to change it to private will only work if you've successfully
wired up the GitHub Student Developer Pack).
*   Click "Create Repl."

Once you have created your repl, you should see an editor window with a bash
file (main.sh), and a terminal window on the right. This is where you'll do your
programming.

## Clone your GitHub repository into Repl.it

You're next going to clone your Git repository that you created
earlier.

In a different browser tab (leave the one with Repl.it open), visit our
our class GitHub organization page [link removed for public purposes]
online. Once you've landed there, you should see the GitHub repository you
created in the GitHub Classroom step above. It should be named
`scheme-lab-username` (where username is your own username). Contact us for help
if the repository isn't there. Click on that repository titled
`scheme-lab-username`. This should take you to the home page for that
repository. There is a green box on the page that says "Clone or download."
Click that box, and make sure it says "Clone with HTTPS." Highlight the https
link shown, and copy it to the clipboard. The link that you're copying should
look something like

```bash
https://github.com/carleton251-term/scheme-lab-username.git
```

... though your username and term will be different.

Then navigate back to the Repl.it tab with the repl that you created above, and
click on the terminal window within your new repl. First, just to make sure you are in the right
place, issue the command `ls` and hit the enter key. You should see a single
file, titled `main.sh`. Your next step is to clone the repository from GitHub.
To do that, type `git clone`, then a space, then paste in the URL from the
github page that you copied from above. (To paste, you might need to right-click in
the terminal window and choose paste rather than using a keyboard shortcut.)

For example, I would type the following, though your username and term will be
different:

```bash
git clone https://github.com/carleton251-term/scheme-lab-username.git
```

You'll be prompted to enter your *GitHub* username and password.

If all goes well, you should receive a directory, titled
scheme-lab-username. If you type `ls` at the prompt, you should be able to see it.
It will also appear in your file browser window with Repl.it on the left. 

