We're going to be using a lot of online tools this term, so here's a list of everything you need to sign up for and how to do it. Typically, assignments will be due on M/W/F, but I've got this one due early because I want to make sure we can quickly shake out any technical problems early. Here we go!

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. 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 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 for your first assignment. 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, 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 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).

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 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

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:

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.

Survey, pair programming preferences, and other trivia

Fill out this form to let me know some info about you, your preferences regarding pair programming, and whether or not you've succeeded at the above tasks.

What to turn in: Make sure you submit your responses to the above form.