CS 115 Project 2, Fall 2016: Celebrating Democracy


Summary: In this project, you will graphically track the results of the presidential election, add up the candidates' vote totals, and determine a winner.

Due dates:


Getting Started

Download the following files into your PyCharm directory for Project 02:

Read through the code in proj2_support_code.py carefully. PUT YOUR OWN CODE IN A SEPARATE FILE. Do not modify proj2_support_code.py.

To use the Project 2 support code, put this line at the top of your Python file (just after the docstring):

from proj2_support_code import *

Checkpoint A (5 points)

For Checkpoint A, you will need to demonstrate a program that displays the following window:
Screenshot of Checkpoint A

Specifically:

Hints:

The only way to get credit for Checkpoint A is to demo it for the course staff during workshop, lab, or tutoring hours (or by appointment) before Monday, Oct. 17 at 8PM.


Checkpoint B (5 points)

Your Checkpoint B code needs to do the following:

The only way to get credit for Checkpoint B is to demo it for the course staff during workshop, lab, or tutoring hours (or by appointment) before Friday October 28 at 3.30PM.


Final Code

In your final code, you will extend your Checkpoint B code in the following ways:

There is no demo for your final code. See the end of this specification for submission instructions.


Grading

Correctness [65%]

The most important part of your grade is the correctness of your final program. Your program will be tested numerous times, using different inputs, to be sure that it meets the specification. A detailed grading sheet for this project is posted here.

Programming Design and Style [25%]

In addition to being correct, your program should be easy to understand and well documented. For details, see the grading sheet above.

Checkpoints [10%]

Your checkpoints are each worth 10 points, as described above. The checkpoints cannot be submitted late.

Extra credit [up to 5%]

There are lots of possibilities to extend this project for extra credit. If you have an idea you'd like to implement, run it by the instructor.


Submitting your final code

You should submit your final code on Moodle by the deadline. As a backup, I strongly encourage you to upload a copy to your blue directory in case something goes wrong with your submission to Moodle.

Please name your file yourlastnameP2.py, substituting your actual last name (in lowercase) as indicated.


Collaboration policy

Programming projects must be your own work, and academic misconduct is taken very seriously. You may discuss ideas and approaches with other students and the course staff, but you should work out all details and write up all solutions on your own. The following actions will be penalized as academic dishonesty:

Late policy

There is a 48-hour grace period associated with the final project deadline. This grace period is designed to only cover small personal emergencies and other unexpected events. No other consideration will be given for these small emergencies.