Final Capstone

Final Capstone Project

Build a comprehensive C application that demonstrates mastery of all concepts learned throughout this course. Choose from one of the suggested projects or propose your own.

10-15 hours
Advanced
200 Points
Skills Demonstrated
  • Program structure & syntax
  • Control flow & functions
  • Arrays & strings
  • Pointers & memory
  • Structures & unions
  • File I/O
  • Modular programming
  • Data structures
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

CriteriaPoints
Code organization & modularity30
Functionality (all features work)50
Error handling & edge cases25
Memory management (no leaks)25
Code quality & comments20
Documentation (README)20
Makefile10
User experience20
Total200

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