Overview

Portfolios are an opportunity to pull together many different concepts learned in class and create a single larger application. Each portfolio is divided into a few parts.

  • Complete a semester-long coding assignment
  • Complete an ideation assignment / initial submission
  • Complete a self-reflection
  • Complete a peer code review

Semester-Long Project

I will assign you a problem that you will work on in each of the portfolios over the semester. This problem is more open-ended than the traditional labs that you complete during the semester, allowing you to add your own creative touch to the project. Your code will be graded in a similar manner to the labs, with points awarded for a working solution, rigorous tests, and clean code.

Ideation / Initial Submission

Depending on the time we have and the modality of the class, I will ask you to complete an ideation assignment, an initial submission of the portfolio, or both.

The ideation assignment is an opportunity to come up with a plan to tackle the portfolio. You will break the project down into manageable pieces and think about how you will accomplish each part of the assignment. This is generally done as an in-class activity and gives you the opportunity to determine the direction of the project.

The initial submission is a “first draft” of your code. It is an initial attempt to implement the project which may or may not be complete. You will have an opportunity to get a peer review of your code before you submit your final draft of the code for the portfolio.

Self-Reflection

The self-reflection is an opportunity for you to take a step back and think about your work on the portfolio. I will ask you questions on topics including your strategy for solving the problem, some of the issues that you ran into when writing the code, and thoughts on how you might expand your submission.

Peer Code Review

An important skill that good developers need to build is the ability to read and review other people’s code. It is common practice for code to go through one or more rounds of peer review before it is released to production. In each portfolio, you will have an opportunity to review another person’s code as well as have your code reviewed. This will happen before I grade the portfolios - it is my hope that everyone performs a good review for their partners and catches any major issues before I look at the code.

Handing In Portfolios

You will hand in your portfolios as an assignment on Blackboard, similar to how you hand in your labs.

Grading

The grade breakdown for each portfolios is as follows:

PartPercent
Semester-Long Project60%
Ideation / Initial Submission10%
Self-Reflection15%
Peer Review15%