The Personal Programming Project (P3) is your opportunity to apply everything you’ve learned in Python and develop a real, working application from start to finish. Just like professional developers, you will design, plan, build, and test your program while following a structured development process. Your program must include all 15 programming concepts from the Python Programming course, with a strong focus on Object-Oriented Programming (OOP). This is your chance to be creative, solve real problems, and showcase your coding skills in a meaningful way.
Unless you begin early, you will have 8 weeks (16 lessons + homework time) to complete the project. The project is divided into four stages, each with a draft deadline. The final project deadline will be announced on Stream.
Stage 1: Project Brief & Initial Planning (2 classes → draft deadline)
Stage 2: Design & Development Planning (3 classes → draft deadline)
Stage 3: Coding & Development (9 classes → draft deadline)
Stage 4: Testing & Reflection (2 classes → final deadline)
The final deadline for the entire project is immediately after Stage 4.
1. Project Brief & Initial Planning (2 classes)
Develop a Project Brief that explains your program idea.
Define the purpose and goals of your program.
Plan how your program will work and what features it will include.
Show how you will use all 15 programming concepts in your project.
Outcome: A well-structured Project Brief that serves as a foundation for the rest of the project.
2. Design & Development Planning (3 classes)
Use abstraction and decomposition to break down the problem into smaller, manageable tasks.
Create a development plan outlining the steps you will take to build your program.
Design an IPO table to represent a key part of your program.
Create a flowchart to show the logic of a different key part of your program.
Write pseudocode for another key algorithm you will implement.
Plan and describe the classes and object relationships that will be used in your program.
Outcome: A detailed development plan that prepares you for coding with clear steps, logical structures, and object-oriented design.
3. Coding & Development (9 classes)
Write your program using Python, ensuring correct use of OOP.
Implement all planned features while maintaining clean, well-commented, and efficient code.
Apply everything you’ve learned to design, write, and test your code.
Document challenges you face during development and explain how you solved them.
Regularly test your program, debug errors, and track your progress.
Submit a video demonstration showing your program working, receiving input, and producing expected outputs.
Outcome: A fully functional Python program that follows best coding practices and demonstrates problem-solving skills.
4. Testing & Reflection (2 classes)
Test your program with a real user and collect their feedback.
Analyze how well your program meets its original goals from Stage 1.
Reflect on improvements you would make if given more time.
Evaluate how effective your development process was and what you would do differently next time.
Outcome: A Testing & Reflection Report that summarizes your program’s success, areas for improvement, and key takeaways from the project.