01
Project Options
Choose one of the following projects or propose your own (subject to approval):
Option 1: Scientific Calculator
- Basic arithmetic operations
- Scientific functions (sin, cos, log, etc.)
- Expression parser (handle complex expressions)
- History feature (save/load from file)
- Unit conversions
Option 2: Student Database System
- CRUD operations for students
- Course enrollment management
- Grade tracking & GPA calculation
- Search & filtering
- Report generation (file output)
Option 3: Sorting Algorithm Visualizer
- Multiple sorting algorithms
- Step-by-step visualization (text-based)
- Performance comparison
- Custom input or random generation
- Save results to file
Option 4: File Encryption Tool
- Encrypt/decrypt text files
- Multiple cipher methods
- Password protection
- Binary file support (bonus)
- Batch processing
Option 5: Memory Manager Simulator
- Simulate memory allocation
- First-fit, best-fit algorithms
- Memory fragmentation handling
- Visualization of memory state
- Performance statistics
Option 6: Your Own Idea
Propose your own project! Must include:
- At least 5 different modules
- File I/O operations
- Dynamic memory allocation
- At least one data structure
- User interaction via menu
02
Requirements
Mandatory Requirements:
- Multi-file structure with proper headers
- Working Makefile
- Comprehensive error handling
- Memory leak free (use valgrind to check)
- Well-commented code
- README with usage instructions
03
Grading Rubric
| Criteria | Points |
|---|---|
| Code organization & modularity | 30 |
| Functionality (all features work) | 50 |
| Error handling & edge cases | 25 |
| Memory management (no leaks) | 25 |
| Code quality & comments | 20 |
| Documentation (README) | 20 |
| Makefile | 10 |
| User experience | 20 |
| Total | 200 |
Congratulations!
Completing this capstone marks the end of your C Programming journey. You now have the skills to build powerful, efficient applications!
View Course Progress