0. Introduction to Assignments

Assignment 0: Introduction to Assignments #

This first assignment is a sort of practice in working with and submitting assignments. While your assignments in the remainder of the semester focus on computing in Python, this assignment instead focuses on getting you started with some of the tools we will be using this semester.

Do the reading #

Before getting started on the assignment, we recommend doing the corresponding reading, which covers the information you need to complete the assignment. You can also do the assignment and the reading together, if you prefer.

Make a GitHub account, if you don’t have one already. #

Go to GItHub and make an account. You may use this when applying to jobs, so we recommend sticking to something more or less professional sounding. Then, submit the username through Canvas. You need to do this early, so we can give you the proper permissions that will allow you to submit the rest of the assignment.

Install the virtual machine. #

A Virtual Machine (VM) is exactly what it sounds like—a virtual computer inside your computer. Virtual Machines are useful tools for software developers. Individual computers can have a variety of settings and software that make them unique. These differences can cause problems with software. It is helpful to have everyone on a team using the exact same computer with the same settings, aka, a virtual machine. You can probably see why the instructors like this tool—we want all students to be working in the same computing environment. This makes your software more likely to work, and makes troubleshooting easier.

Please install a virtual machine (VM) that runs a full-featured version of Ubuntu (an operating system). To get this VM up and running, you will first need to download and install VirtualBox. VirtualBox is a program that will run the virtual machine. Read the instructions carefully. You want to click on the link below the header “VirtualBox 6.1.16 platform packages” that corresponds with the operating system currently on your computer. For most of you, that will be the link “Windows hosts.”

You will also need to download the VM “image file”. An “image file” is basically a summary of all the settings and state of a computer system, stored as a single file. This is the information that lets everyone have the same VM. You can get the image file here. Please note that this image file is large (almost 5 GB) so you will need the necessary disk space, as well as a stable (and preferably fast) Internet connection.

To get things set up, open VirtualBox. Select File -> Import Appliance. From there, select the ubuntu_2004.ova file and proceed with the import. You can use the default appliance settings.

Once you have done this, you should be able to start up the VM by clicking the green arrow labeled Start. The password for the user account is “Python 3!” (note the space in the middle).

We have done most of the setup for you, but you will still need to set your own username and email in Git. To do that, simply follow the Configure Git section of the computational setup for the course.

Fork and clone! #

After we’ve given you permissions to access the course repository (or repo), which is called “softdes-2021-01” there’s a few steps you’ll need to take. For more details, see the reading, but we’d like you to fork the repo to your own account, and clone it to your virtual machine you just installed. This repo has a folder for Assignment0, which is the survey described next.

Complete the survey and submit! #

Normally, our assignments will be distributed through Git, but in this first (or zeroth) assignment, we assume that you have never used Git before. So this assignment will be described here.

We would like you to fill out the following course survey. Please include:

  • Preferred Name
  • Pronouns
  • Time Zone
  • Previous experience in programming (as an integer 1-5, with 5 being a lot of experience for an Olin student)
  • A text explanation of your previous experience in programming
  • Previous experience with Python (1-5, with 5 being a lot of experience for an Olin student)
  • A text explanation of your experience with Python
  • Previous experience with command command line/Git (1-5, with 5 being a lot of experience for an Olin student)
  • A text explanation of your experience with command line/ Git
  • What do you hope to get from this course?
  • What concerns do you have in taking this course?

Here’s an example of how Steve would fill out this survey:

preferred_name = "Steve"
pronouns = "he/him/his"
previous_programming_exp = 5
previous_programming_description = "Blah"
learning_goals = [
    "I hope to learn Python",
    "I want to figure out what Git is"
concerns = [
    "I'm scared of computers",

(Is Steve really scared of computers? We will have to observe him closely this semester.)

Then submit this survey by staging, committing, and pushing via git.