Project Title

Description

Description of the project. Use this space to provide a high-level overview

Learning Outcomes

By completing this project, you should be able to…

  1. Implement...
  2. Describe...
  3. Practice...
  4. Use...
  5. Build...

Schedule

INSTRUCTOR NOTE: Example text given below:

From the day this project is assigned, you will have 1 week to complete this project. A sample daily outline is provided to assist you in planning your project.

Important note: “Day 01” refers to the first calendar day of the project being assigned, and subsequent days will follow this reference:

  • Day 01: Project assigned, read the project spec, ask any clarifying questions you may have, begin designing how you would implement the project
  • Day 03: Build out guessing functionality, scoring system
  • Day 05: Establish how to traverse a word to find all instances of a letter
  • Day 06: Tie all the pieces of the project together, test with short and long words, and test with words that have repeat letters (like “apple”)
  • Day 07: Fix any remaining bugs, make sure your code has helpful comments, and submit the project!

Phases and Deadlines (Optional)

Deadlines of deliverables for the project, broken up by phases. Example given below:

  • Phase 1: Proposal - Due Day 8 @ 11:59pm.
    • Deliverables:
      • Public GitHub Repository Link
      • README.md in the repo with proposal.
    • Approval: Instructor will approve projects by start of class on Day 9.

Requirements

List out requirements for the project here

  1. Requirement 1
  2. Requirement 2
  3. Requirement 3

Stretch Requirements/Challenges (Optional)

If the project has stretch challenges, these can be listed here

Rubric

Link to project rubric placed here

Commit Requirements

INSTRUCTOR NOTE: Change the numbers below to be appropriate for your project

All projects will require a minimum of 10 commits, and must take place throughout the entirety of the course

  • Good Example: 40+ commits throughout the length of the project, looking for a healthy spattering of commits each week (such as 3-5 per day).
  • Bad Example: 10 commits on one day during the course and no others. Students who do this will be at severe risk of not passing the class.
  • Unacceptable Example: 2 commits the day before a project is due. Students who do this should not expect to pass the class.

Why are we doing this?

We want to encourage best practices that you will see working as a professional software engineer. Breaking up a project by doing a large amount of commits helps engineers in the following ways:

  • It's much easier to retrace your steps if you break your project/product/code up into smaller pieces
  • It helps with being able to comprehend the larger problem, and also will help with your debugging (i.e. finding exactly when you pushed that piece of broken code)
  • It allows for a more streamlined, iterative communication in your team, as it's much easier to hand off a small change to someone (updating a function) than a huge one (changed the architecture of the project)

Through this requirement, we hope to encourage you to think about projects with an iterative, modular mindset. Doing so will allow you to break projects down into smaller milestones that come together to make your fully-realized solution.

Resources

Additional resources that will help with this project, or that can be used as reference

  • Resource 1
  • Resource 2
  • Resource 3