Overview

A portfolio is a collection of what you consider your best work to date. The goal of a portfolio is to package together a few exemplary pieces of work rather than dozens of disconnected assignments. You might even consider using these portfolios as a showcase of some of your skills in a professional setting.

Each portfolio is divided into two parts.

  1. Mini Project (Required)
  2. Add-Ons for the Portfolio (Optional)

Mini Project (Required)

You will be given a short coding project to complete for each portfolio. These coding projects will take a similar form to the labs, but they will be more open-ended. This allows you to be creative with the prompt and add your own voice. For example, I might ask you to write a simple console game, analyze a dataset, or build a helpful tracking program.

Each Mini Project will include a self-review and peer-review. You will be expected to share your code with some of your classmates and review their work in turn. This is an opportunity for you to find and fix any potential issues with your program before I grade it. It also helps build skills like reading other people’s code and ensuring that your code works on a variety of systems.

Add-Ons for the Portfolio (Optional)

At the bottom of most of the lab assignments is a section called “Add-Ons for the Portfolio”. You have the option to complete some of these add-ons in order to earn extra credit in the class.

Each add-on is given a credit score to indicate approximately how difficult it is. Roughly speaking, one credit is easy, two credits is moderate, and three or more credits is difficult. It is your choice which problems / credits you want to complete. You can do many add-ons from one lab or spread out add-ons over many labs.

It is highly recommended that if you decide to do portfolio add-ons for a given problem, you first do lab corrections for that problem (if applicable). Trying to add code onto an existing, incorrect solution is likely to result in more incorrect work.

Submit all of the add-ons for a particular assignment as one code submission. Do not create a separate program for each add-on.

Handing In Portfolios

For each portfolio you will create a Word document or PDF that contains all of your work. This document will include a cover sheet that describes your Mini Project at a high level as well as which add-ons you attempted. It will also include all of your code.

Grading

I will use the same rubric to grade the Mini Project and Add-Ons as the original assignments themselves. You can earn extra credit on Add-Ons according to the scale below:

Number of Add-On Credits Number of Extra Credit Points
Less Than 5 0
5 5
10 10
15 or More 15