Project Overview
This is YOUR chance to build something you're passionate about. Choose a project that excites you and demonstrates your C++ skills.
Creative Freedom
You have complete creative freedom! Choose any project that interests you, as long as it meets the minimum technical requirements below.
Minimum Requirements
OOP Concepts
- At least 5 custom classes
- Inheritance hierarchy
- Polymorphism (virtual functions)
- Encapsulation (private/public)
STL Usage
- At least 3 different containers
- STL algorithms
- Iterators
- Lambda expressions
File Operations
- Data persistence
- Configuration files
- Save/Load functionality
Error Handling
- Exception handling
- Input validation
- Graceful error recovery
Submission
Required Repository Name
cpp-final-project
cpp-final-project/
├── src/ # Source files
├── include/ # Header files
├── data/ # Data files (if any)
├── docs/
│ ├── PROPOSAL.md # Project proposal
│ ├── DESIGN.md # Design document
│ └── USER_GUIDE.md # How to use
├── demo_video.mp4 # 3-5 min demo (or link)
├── sample_output.txt # Sample session
└── README.md # Project overview
Grading Rubric
| Criteria | Points |
|---|---|
| Project complexity & scope | 80 |
| OOP implementation | 80 |
| STL usage | 70 |
| File I/O & persistence | 50 |
| Error handling | 40 |
| Code quality & organization | 50 |
| Documentation | 50 |
| User experience | 40 |
| Creativity & innovation | 40 |
| Total | 500 |
Congratulations!
Completing this final project marks the end of your C++ Programming journey. You've learned a powerful, versatile language used in game development, systems programming, and high-performance applications.
Keep coding, keep learning, keep building amazing things!