Princeton University
COS 217: Introduction to Programming Systems

Assignment 0: Introductory Survey


The purpose of this assignment is to:


Make sure you study the course Policies web page before doing this assignment or any of the COS 217 assignments.

The Task

Your task is to take the COS 217 survey and submit your answers.


Do all your work on the CourseLab cluster following the procedure below.

Step 0: Create a Proper Computing Environment

Create a proper COS 217 computing environment by completing the steps in the A Minimal COS 217 Computing Environment document from the first precept.

Step 1: Copy the File

Start a terminal session and connect to CourseLab. At the Bash shell prompt issue a mkdir command to create a project directory (named, say, surveyproj) in your home directory. Issue a cd command to make your project directory your working directory. Issue a cp command to copy the file, found in the /u/cos217/Assignment0 directory, to your working directory.

The file contains a program written in the Python programming language. We encourage you to read that program, but you are not responsible for understanding it. (The COS 217 course doesn't cover the Python programming language.)

Step 2: Take the Survey

Issue the command:


to take the survey. Read the instructions carefully and answer all questions.

Once you have answered all questions, the survey program will finish and you will return to the Bash shell prompt. Make sure that you took the survey properly issuing a ls command and examining the contents of your working directory. If the list of files in your working directory includes a file named survey, the survey was completed properly.

Step 3: Submit the Survey Results

Issue a submit command to submit the results of the survey. More specifically, issue this command:

submit 0 survey

to submit the results of the survey.

The instructors maintain for you one submission directory for each assignment. The submit X file1 file2 ... command copies the specified file(s) to your Assignment X submission directory. For example, the submit 0 survey command copies your survey file from your working directory to your Assignment 0 submission directory.
Instead of issuing a submit X file1 file2 ... command, you can issue a submitandbackup X file1 file2 ... command. The submitandbackup X file1 file2 ... command first copies the specified file(s) to your Assignment X submission directory, just as the submit X file1 file2 ... command does. Then it creates a directory in your home directory whose name is of the form BACKUP_X_date_time, and creates a backup copy of the specified file in that directory. If you consistently issue submitandbackup commands, then you will have a record of which files you submitted, when you submitted those files, and the contents of those files.
You can resubmit a file. For example, if you submit a file named survey to your Assignment 0 submission directory and then later submit another file named survey to your Assignment 0 submission directory, then the new version of survey simply overwrites the old version of survey in your Assignment 0 submission directory.
You can issue unsubmit commands to delete specified files from your submission directory. For example the command unsubmit 0 survey deletes the survey file (which, presumably, you submitted previously) from your Assignment 0 submission directory. The unsubmit program does not affect files in your working directory.


We will not grade your Assignment 0 submission. However, your Assignment 0 submission is required. We will not accept your submissions for subsequent assignments until you complete Assignment 0.

This assignment was written by Iasonas Petras
with feedback from Robert M. Dondero, Jr.