Project Objective

Your primary objectives for the project are to create something novel, useful and innovative with code. It should clearly and explicitly demonstrate what you have learned in this course and show you are capable of acquiring new programming skills independently.

We don’t want to limit your idea, but we will help you reign it in so that all student teams are writing about the same amount of code. If your idea is simple enough we will expect a full implementation, if it’s complex then we’ll ask for a manifestation of your idea as a minimum viable product. It should be a proof of concept demonstrating how the bigger system might work.

The types of project you propose are up to you. Whatever you do should be novel, useful and innovative. It should not reproduce functionality in other systems or services. It can extend them or combine multiple sytems / services into something new.

Project Guidelines

The project has the following strict guidelines, for logistical / record-keeping purposes.

  • You must work in teams of 2 to 3 people
  • You must execute some version of the idea you proposed.
  • Once your idea and team are set they cannot be altered.

Penalty for not adhering to the guidelines: grade of ZERO on the project.

Project Phases

The project is worth 120 points. These points are divided into 3 phases. Due dates for each phase are posted on the syllabus.

Phase 1: The Proposal

Your project proposal is worth 12 points. In a nutshell its the formalization of your project idea and team.

What we expect from you:

You will hand in the following as per the instructions on Blackboard:

  • A list of your 2 or 3 team members. You should include times you are available to meet weekly and an agreed upon list of meeting times.
  • A summary of your project idea. Think: If I could program anything I would make and why? Think BIG! We understand you might not be able to implement some of your ideas, but don’t let that stop you from trying. Remember to keep the Project Objectives in consideration. Focus on the problem, not the solution. Don’t worry about how you will do it, instead focus on what you will do.
  • Evidence through research that your idea is novel / useful / innovative and/or feasible. This ensures you’ve thought your idea through. We expect you to provide sources from the web or library.

What you can expect from us:

You will be assigned a Faculty mentor. Your mentor’s role will be to:

  • Provide general feedback for your idea.
  • Use their expertise to help you refine / focus / simplify / improve your project idea.
  • Provide guidance as to what you should research / learn so that you are in the best position to execute your idea.
  • Act as your point person for project inquiries for the semester.
  • Grade your project proposal.

Phase 2: The Plan

Your project plan is worth 24 points. The plan should cover in detail how you will complete your project, and provide evidence that your project is feasible as proposed by your team and amended by your Faculty mentor.

What we expect from you:

You will hand in the following as per the instructions on Blackboard.

  • A list of systems / API’s / Python packages / services / etc. you require to complete your project
  • Code examples you’ve written which demonstrate your team understands how to use these systems / API’s / Python packages / Services / data sets / etc. These should be in your project git repository.
  • Your program’s design: Inputs and Outputs of your program, and a high level algorithm for your program.
  • We expect the feedback provided by your Faculty mentor was taken into consideration.
  • An explanation how each team member has contributed to the project design. Individual team members not contributing will receive a lower grade.

What you can expect from us:

Your Faculty mentor will:

  • Review your project plan and consider it a list of what to expect on demo day.
  • Grade your project plan and provide feedback as to maximize your score on the rest of the project.

Phase 3: The Rest

The remaining 84 points are divided up into 3 section each is due on demo day, which is during our final exam block and posted on the syllabus.

  • Demo day is worth 24 points
  • Video submission is worth 24 points
  • Code submission is worth 36 points

What we expect from you:

Demo day (24 points) is a science-fair like project showcase. Visitors from campus will walk around and ask you to explain your work and demonstrate your code. It is expected that your team will:

  • Create and print a poster, no larger than 11x17 which provides a visual representation of how your project works. The purpose of the poster is to draw passers-by to your project. It is expected your poster will be of professional quality and represent your project’s functionality well to non programmers.
  • Provide an explanation and demo of their project. Your explanation should not focus on the code, but instead explain what problem your project solves and how it solves it. Your demo should be interactive; visitors should be able to engage and participate in your demo.
  • All teams members are present and participatory on demo day. Individuals with minimal contributions will receive a lower grade.

You are expected to produce two videos for your project (24 points). It is expected your team will:

  • Produce a demo day pitch, no more than 3 minutes long. It should NOT be a video from the actual demo day! It should be rehearsed/recorded at another time and include your presentation and code demo. We should be able to see the poster, and the program execution as part of the video demo. Have one team mate operate the camera while the other does the pitch.
  • Produce a demo day reflection. This video should include each project member. You should each introduce yourselves and then each take no more than 1 minute per team member to explain what you learned from your project experience.
  • Provide links to your videos online. Do not upload the videos to Blackboard.

You are expected to hand in all project artifacts including your code (36 points). It is expected your team will:

  • Hand in all code. It is expected that your code will execute, be well written in a modular fashion, use aptly named objects, handle errors, and use the programming style you were taught in class.
  • Write code which matches your project plan as submitted in phase 2. If the code is different we expect an updated design.
  • Hand in a digital copy of your project poster as a PDF or JPG.
  • A brief explanation how each team member has contributed to the final project phase. Individuals with minimal contributions will recieve a lower grade.
  • Put all items in a github repository for easy access by your Faculty mentor.

What you can expect from us:

Your Faculty mentor will:

  • Attend you live pitch and program demo from demo day.
  • Review all project artifacts to determine your grade.