URI CSC 212 logo URI CSC 212

On this page:
✔️ About the Final Project
✔️ Submitting a Proposal
✔️ Final Project Requirements
✔️ Submitting the Final Project

About the Final Project

It’s never too early to start thinking about a final project! Final projects are a completely open-ended opportunity for you to demonstrate your deepest understanding of whatever topics you’d like. Final projects are due Friday, July 30th @ 8:00pm.

Proposing a Final Project

While submitting a proposal is not required, it is strongly recommended as it will allow you to confirm the scope of your project, ensure you’re on track to meeting all final project requirements (outlined below), will allow you to received feedback and ideas, and will force you to start thinking about the project early rather than the week it’s due (which wouldn’t be enough time to finish!).

To submit a proposal, please make a post on Piazza with answers to the following questions:

  1. Who are you working with, if anyone (or are you looking for groupmates)?
  2. Brief description of your project (elevator pitch for what it is and how it works)
  3. What topics will you be demonstrating and how (be specific with how you will use and demonstrate your chosen topics)
  4. Milestones & Timeline (what major tasks will you accomplish by when)

Your post can be private if you’d like or public if you’re looking for potential groupmates or don’t mind sharing ideas.

Final Project Requirements

Language
Must be written in standard C++.
Scope
Scope of project must be significantly broader than that of an assigned lab.
Code Compilation
Must compile and execute without any warning or errors.
Code Execution
Program must execute completely without crashing.
Modular/OOP
Functions and classes must be used appropriately to abstract and divvy-up your code (i.e., must follow OOP principles).
Applications
Your final project should use the most appropriate data structures and/or algorithms to complete a task based on a real-world problem/context/scenario and you should explain why said data structure or algorithm is the most appropriate for the task and for the given context/scenario/application.
Video
Project should include a video of no more than 10 minutes where you:
  • Show how to compile and run your program
  • Do a full runthrough of the program, explaining what users can and can’t do and what they should expect as a response from your program
  • Walk through your code and explain what data structures and/or algorithms did you choose and why)?
README
Project should include a README.txt (or README.md) that answers:
  • Purpose overview: What’s the purpose/use case of this project?
  • Instructions for use: Describe how the user will interact with your program (is there anything the user shouldn’t do? Tell us!)
  • Code overview: An overview of how your program works, including how all of the pieces fit together (use this to explain how your various functions and classes interact with each other)
  • Potential bugs: A description of any possible bugs or problems with your program
  • Easter Eggs: A description of any extra features you chose to implement, if any
  • Group: The names of all group members
  • Topic Overview: What course topics does your final project use?
  • Video Link: Upload your video to Google Drive and enable link sharing or upload it to Youtube as unlisted or Vimeo as password-protected.

Submitting the Final Project

Final projects will be submitted through Gradescope. If you worked in a group, only one person needs to submit BUT the person submitting must add the groupmates via Gradescope. Zip/Compress all your project files: