This semester you will be using various tools to complete the assignments and course materials. This first project will help
you set up your computer, and introduce you to some of the tools for the course.
PROJECT UPDATES AND CLARIFICATIONS
You will need the following before you begin this assignment:
- Your computer of choice should be connected to the Internet.
- Your CS112-SPARC login information (you can start the assignment if you don't have this yet; it's only needed in the second part).
Please note that this is different than your GMU username. Your CS112-SPARC login should have been emailed to you around the first
week of class; please contact us through Piazza or email to get your username.
There are four components to this assignment:
- Installing and running python on your computer.
- Installing and running
curl on your computer.
- Setting up VPN on your computer
- Completing Assessment 0: Logging in to Kelpie during lab to submit some sample code.
Part 1: Installing and running python on your computer
There are many different ways to run python on your computer, but this semester we're going to only use the terminal. One reason for this
is consistency, but it's also a useful lesson to get used to interacting with the operating system directly through the terminal.
Open the terminal: On a Mac, you can find the terminal under "Applications" in your Finder. On Windows, go to Start->Run, and in the box
cmd, which will open the terminal window. Once open, type in the command
python, and then hit enter.
If python is installed (this may happen on some versions of the Mac), you will see something similar to the image below:
quit() to exit the prompt. If you see something else, you'll need to install python. You'll want the older version,
version 2.7, available lower-down on this page:
https://www.python.org/download/. Follow the instructions through the various installers;
if you are using the Windows MSI, make sure in the second window you find the red X by "put python on your path" and change it to the
If you get stuck, try googling your error messages or problems before posting questions to Piazza - it's a good skill to not be afraid of
your computer :-) You can also ask your classmates or friends for help! Work together to install python.
Now that you have installed python, we are going to get practice using some basic terminal commands, and running a python program.
Complete the following steps
- Let's view where we are. If you are using Windows, your current path is listed next to the cursor. If
you're on a Mac, type
pwd to show the current directory. From there, you can list the folders under the current directory
dir command on Windows, or the
ls on a Mac.
- Decide on a directory to store your python files this semester (maybe you keep your school files under "My Documents" or something
like that. You'll need to now find it on your machine, through the terminal. Use the
cd command to change directories.
You can go to a sub-directory of the current directory by typing
cd mySubDirectory, or move to a directory just above the
current directory by typing
cd ... This change directory command will allow you to move around anywhere on your file system.
- When you're in a happy place, create a new directory called project1 using the
mkdir project1 command. Then,
change directory to be in this newly created directory.
- Download this python file, runme.py and save it to your computer (you can download it by right-mouse
clicking on the file and saving it in the directory you just created). Also download and save the file file.txt to
the same directory.
- Verify that you've saved the files in the appropriate place by listing the contents of the current directory using the command we
learned in the first step.
- Finally, let's run the python code you downloaded. Type
python runme.py to execute the python file. If everything went
well, you should see the output below.
You will be writing python code this semester, so it is
a good idea to choose a good text editor that is set up to work with programming languages; using Notepad or MSWord will make it very hard,
if not impossible to write code in.
Notepad++ was popular with students in previous semesters (you can google for a free download). On
the Mac, I use TextWrangler (which you can also get a free download through google). Choose one of these two programs (or one of your
favorites), and download and install it so you can write code that semester. If you get stuck, try googling your error messages or problems
before posting questions to Piazza - it's a good skill to not be afraid of
your computer :-) You can also ask your classmates or friends for help! Work together to install a text editor.
Part 2: Installing
curl on your computer.
This semester, it is important for both you, and the instructor, to keep track of your progress on ungraded homework assignments and projects,
as well as the graded assessments. To do so, we'd like to be able to record every time you try one of the homework problems, so that we can
make sure no students are falling too far behind. Though the class is self-paced, we want to make sure students are working throughout the semester,
and offer interventions when we notice a student is stuck on the same assignment for a long time.
To keep track of your progress, you will need to install a utility called
curl (see the wiki on curl if you're curious).
First, check if curl is already installed (most likely if you have a Mac) by opening a terminal window (as described in the section above, and typing
curl and hitting return. If it is already installed, you will be something like this:
If it complains that it can't find
curl, then you'll have to install it. To do so, follow these
instructions for installing
on Windows for SSL SSH version; If you are using Windows, download the link at the bottom, and then download the
.zip file, not the MSI. Once you've completed those installation instructions, you can test your installation by opening a NEW command prompt/terminal
and trying to type curl in again; if it was installed successfully, you should see the image above. If you get stuck, try googling your error messages or problems
before posting questions to Piazza - it's a good skill to not be afraid of
your computer :-) You can also ask your classmates or friends for help! Work together to install curl.
Please log in again to view this part of the page.
Part 3: Setting up VPN
Many of the homework assignments are compatible with a Python Visualizer website we have that can run, trace, and debug your code.
In order to access this website off campus, you'll need to set up a VPN (virtual private network). Again, how to do this depends on your operating system.
Follow the instruction here to install a VPN client. To connect with the
VPN client, you will have to use your mason username and password (the same one as for PatriotWeb).
If you know you will be on-campus all semester (when you're working on the homework assignments), you can skip installing VPN.
Part 4: Completing Assessment 0: Logging in to Kelpie and submitting some code.
You will spend most of your time in this class working in groups on homeworks, projects, and sample assessments. About once a week, you'll
schedule and take an assessment in lab that will take the place of the exams you would normally have in a class. These assessments will always be
taken in lab, and must be scheduled in advance.
To keep you moving through the course, you must schedule at least one assessment each week. In this last part of this project, we will practice
using the website to schedule an assessment, and you will go to lab to turn in this first assessment. You won't have to do any coding for
this first assessment, but you will be required to submit some python code we give you, just so you can get used to using Kelpie.
First, find and use the links on the syllabus to schedule an assessment for this week (open syllabus in new tab).
There are sixty students in this class this semester, with 24 seats in each lab section. There are 4 lab sections, yielding ~100 possible
assessment slots each week. All students must sign up for an assessment slot every week (until you've passed all assessments); if there is room, you
will be allowed to schedule additional assessment slots each week on a first-come, first-served basis. Out of fairness to other students, you must show
up for an assessment slot you schedule; failing to do so will count as failing that assessment (this way we can prevent a handful of students using
up all assessment slots without showing up to take them). You may schedule one slot a week, however, if there are available spaces in a
subsequent lab, you may stay to start a new assessment (you must inform the TA). In addition,
you may take as many assessments in an assessment slot as you like; if for some reason you already know python/programming and you want to finish this
course in a week or two, this is entirely possible. We budget 45 minutes for each assessment, but you're free to do them faster, and if there are
free assessment slots later in the day (you won't know these until the day-of, however), then you can stay later and take more assessments.
Now that you have scheduled an assessment slot for this week, you will complete the rest of this assessment in lab. Since we're not testing any
programming in this first Assessment 0, here's what you'll be doing in lab for the assessment:
- Filling out a programming knowledge survey for the course. If you have no programming background, this is totally fine (and expected)!
We're simply trying to measure the backgrounds of various students coming into the course. This survey is for informational purposes only,
and will not be graded (except to see if you tried all the problems).
- Your TA will give you a Kelpie login (they will always have it on hand for you, and you don't need to memorize it). This is a different
login than your class login or your MasonID; your Kelpie login only lasts for your time in the lab while you're taking an assessment. The TA will remind you not to share your
Kelpie login with anyone, and remember, there is no need to memorize it (you'll get a fresh one each week).
- Once you have your Kelpie login in lab, you'll log in to Kelpie.
Once logged in to Kelpie, you'll submit some python code we give you, and verify that it passes all test cases. You do not have to write or
modify any code; we just want you to become familiar with how to log into Kelpie and submit a file. Please read and follow the
Kelpie upload help page during lab to submit this and all other
Project Hints and Guidelines
- Having trouble with, or want to know more information about the DOS or UNIX commands? There are several manuals online that can
- Having trouble with the project? Try posting to the project discussion board on Piazza to get an answer in 24 hours or less. Someone might
have already asked your question and there may be an answer there already!