CSCI 150 Final Project
Instead of a final exam, you will complete a final project which will count for 20% of your final grade in the course.
Important dates
- Project design due (2%): Wednesday, April 25 @ 4pm
- Project due (15%): Monday, May 7 @ 8:30am
- Presentations (3%): Monday, May 7, 8:30-11:30am
Guidelines
Unlike the other projects, you may work with one partner for the final project. You can also work individually if you wish.
You have wide latitude in choosing what to do for your final project. The only requirements are that it should be sufficiently complex and should somehow go beyond what we have done in class or lab. Your project idea must be approved by your lecture instructor (who is also happy to help you brainstorm) via email or conversation prior to the April 25 design submission. Get started early! Waiting until just before the April 25 deadline to start thinking about your final project will be too late.
Projects must make use of Python class
es to encapsulate and structure data.
Design
By Tuesday, April 25, you must turn in a design document describing your project and planning details of how you will implement it. Warning: you should start thinking about, designing, and even implementing your project long before this! Your design must include:
- A description of the classes you will use to decompose the information in your project, with a list of the variables and methods in each class.
- A description the main algorithm which will control the project.
- A list of functions you will use to decompose the project, with the inputs, output, and description for each.
- A timeline of steps you will take to complete your project with deadlines for each step. Plan not just what you must do but the ordering of steps that will allow you to complete by the final deadline.
- A description of the way(s) in which your project goes beyond what we have done in class and labs.
You should be as detailed as possible for full credit in your description. Time spent on the design will pay off immensely as you implement your project.
Presentation
Everyone in the class will present their projects from 8:30-11:30am on Monday, May 7. Your presentation, using PowerPoint, Prezi, the chalkboard, or some other appropriate presentation medium, will be at most 6 minutes long. (I am serious about this; presentations that are too long will lose points and/or be rudely cut off. Practice beforehand to make sure you have a good sense for how much time you have. Six minutes is not very long at all.)
Your presentation should include three slides and a quick demo of your project. The three slides should answer three questions, one per slide:
- What is the overall idea of your project?
- What is interesting/unique about your project?
- What was one of the biggest challenges you faced and how did you overcome it?
You might plan to spend, for example, 30 seconds on each slide and then use the remaining time doing the demo.
Do not show us your code! This is super boring and wastes a lot of time. If there is some specific code you want to show us to illustrate something that is interesting/unique about your project, or about a challenge you overcame, copy it onto one of your slides.
If you worked on the project with a partner, both partners must be involved in giving the presentation. For example, you might have one partner present the slides and the other present the project demo (but feel free to do whatever makes sense).
What to turn in
On Moodle, you should turn in
- Your presentation slides (if your slides are on Prezi or Google Slides or some other cloud-based system, just submit the URL).
- A document explaining how to run your project and any other special notes to the grader.
- All the Python source files, data files, etc. necessary to run your project.
Of course, the Python style guide and style checker still apply!