Info Lectures Assignments Staff Office Hours Hall of Fame Notes
Info Lectures Assignments Staff Office Hours Hall of Fame Notes

Project Proposal

Assigned: 2020-04-04
Due Date: 2020-04-14 by 11:59PM U.S. Central Time


Assignment Spec

The rubric can be found here.

Part 0: Getting Started

Get your copy of the repository here: https://classroom.github.com/a/0UBcFywl.

Gradescope

You will need to submit your GitHub repository to Gradescope.

Part 1: Final Project Proposal

Starting on 4/15, you will be making a C++ application that leverages Cinder to do something interesting — and you get to choose what you want to make! The concrete requirements for your final project are:

We expect this project to take you about 3 weeks of development time in total, with each week requiring about as much work as one of our assignments, so keep that in mind when thinking about the scope of your project.

Your proposal should go in the README.md file in the provided repository. It should be roughly 3-4 paragraphs long and include the following information:

Your moderator will be responsible for approving or requesting changes to your proposal, but it's okay if you change your mind on some of these details later.

Make sure you read the guide on Markdown so that you can properly format your proposal.

Check out this video about Cinder: https://www.youtube.com/watch?v=kjKx0sFni4Q

Libraries + CMake

Since the build system we are using is CMake, you are able to integrate most open-source CMake projects into your project.

Here is a fantastic list of a lot of commonly used C++ libraries: https://github.com/fffaraz/awesome-cpp.

If you find a library that you would like to use, go to its GitHub page and check to see if it has a CMakeLists.txt file in the root folder of the repo. If it does, you will probably be able to integrate this library into your project without too much difficulty. We will post some notes about how to include CMake libraries into your project. Also, for a given library, make sure to see if the library is supported on whichever operating system you are running on.

Here is a list of some Cinder Blocks: https://courses.engr.illinois.edu/cs126/sp2020/cinder/blocks.

These "Cinder Blocks" are open-source libraries that are very simple to integrate into your Cinder project.

Grading and Deliverables