Create a project that demonstrates your mastery of CS concepts. Plan the project, document it, build it, and demonstrate its use.
Requirements
Pick any topic of interest to you. If you are having trouble thinking of a topic, ask on the forums or drop me an email. Let me know what you're thinking of working on, and I'll help you get in the right direction. As a minimum, your program should:
Be programmed in Python
Use some type of data structure (array, objects, files, database)
Incorporate some sort of user Interface (Tkinter, pygame, command - line menu)
Solve some identified problem
Run without crashing under typical load
Illustrate programming knowledge
Be original work
Documentation
Project Overview
Project Overview including following features
What does project do?
Who are users?
What problem does it solve?
Hardware limitations
Visual design implications
Data Plan
What is the overall data structure of the program?
What's the data that needs to be manipulated?
How will it be organized?
What's the specific implementation strategy
What classes or files will your project include?
Visual Layout
Create a diagram for your system.
What does each screen look like?
If there are multiple states, how do they interact?
What are the interface elements on each screen called?
How are they laid out? (rows and columns, spanned rows and columns, stickiness, etc)
Define what happens when your program begins
Define what happens on any user event (menu selection, clicking button, whatever)
Define these actions in English
Be specific enough you can translate to code.