Throughout this course there will be many programming homeworks. You will be organizing them into a coursework portfolio directory with a very specific structure on your computer. That directory will be shared (automatically) with the TAs and Professor/

IMPORTANT You are required to organize your portfolio in a very specific way so that we can automatically review your work. Look way below for the specifics for this particular course.
IMPORTANT We are asking that you use Dropbox (see below.) That is just for our convenience. If for whatever reason you are really uncomfortable with Dropbox, talk to us. We will find a way around. Your choice will have no impact our evaluations or your grade.

Once you create your portfolio directory, you should just use it as your work area. So, just cd to your portfolio directory and edit your files however you want to, with sublime or atom or whatever.


In addition to formally grading an assignment that spans multiple classes, in some cases it is very useful to receive help or feedback along the way. By working in your portfolio we will be able to pay attention to your work in progress.

Secondly, at the end of the course you will have a nicely organized set of code that you wrote that you will be able to use for your own portfolio as you go out into the world.


Every Monday a TA will look at your portfolio directory to check your progress and participation. Based on that they may get in touch with you to give you help or answer questions if you are stuck.

Submitting the actual deliverable

There will be a specific date by which the assignment should be completed, just like any other homework. While you’ve been developing the work in your portfolio, for the submission you neaten up the directory, zip it up and submit it to Latte.

Directory structure

These rules are very specific because we may use an automated grading tool (RoboGrade) to do a first pass on your work.

  1. Your portfolio directory is called <coursenumber>_<yourbrandeisid>. So for example, it might be cosi166b_cburkh/. Note that the <coursenumber> is complete and all lower case and your <brandeisid> is the part of your brandeis email before the @brandeis.edu
  2. Once you create that directory, use Dropbox to share it with Pito and the TAs
  3. Use the portfolio as your work directory. Don’t work somewhere else and copy files over. You will just make your life unnecessarily complicated!
  4. Inside the portfolio directory there will be folders with very specific names that will be indicated as part of the homework. So for example, ./movies-1.
Dropbox for sharing the directories with us
  1. Download and install the Dropbox Desktop application from https://www.dropbox.com/install
  2. This will create a Dropbox folder on your local machine. Within this folder, create a folder named <coursenumber>_<yourbrandeisid>. This will serve as the top-level portfolio directory.
  3. Using the Dropbox web interface, share this folder with the TAs and instructor. To do this, select the folder, press the Share dropdown, select invite people to collaborate, and add their emails.

Specifics for this course

  • Call the top level directory cosi166b_<yourbrandeisid>
  • You will have the following subdirectories, named exactly like this:
    • hardway
    • movies-1
    • movies-2
    • mazes
    • … more to come
Emails to share your Dropbox folder with:
  • pitosalas@gmail.com - Pito (Salas)