Week 1: Introduction to C Programming (2-3 hours)
- Introduction to Programming (0.5 hr)
- What is Programming?
- Overview of Compilers, IDEs, and Debuggers
- History & Importance of C Language (0.5 hr)
- Why Learn C? Use in Modern Programming
- Basic Structure of a C Program (1 hr)
- Hello World Example
- Explanation of main(), header files, and syntax
- Compiling and Running a C Program (1 hr)
- Command line compilation vs IDE compilation
Week 2: Data Types and Variables (2-3 hours)
- Variables, Constants, and Keywords (1 hr)
- Data Types in C (1 hr)
- int, char, float, double, etc.
- Input/Output in C (1 hr)
- printf() and scanf() usage
Week 3: Operators and Expressions (2-3 hours)
- Arithmetic and Relational Operators (1 hr)
- Basic Math Operations and Comparison Operators
- Logical and Bitwise Operators (1 hr)
- AND, OR, XOR, Shift Operators
- Increment/Decrement and Assignment Operators (1 hr)
Week 4: Control Statements (3-4 hours)
- If-Else Statements (1 hr)
- Switch-Case (1 hr)
- Loops in C (2 hrs)
- For, While, Do-While Loops
- Break and Continue
Week 5: Arrays and Strings (4-5 hours)
- Introduction to Arrays (2 hrs)
- Single-Dimensional Arrays
- Multi-Dimensional Arrays
- Strings in C (2 hrs)
- Character Arrays, String Functions (strlen, strcmp, etc.)
Week 6: Functions in C (3-4 hours)
- Defining and Using Functions (2 hrs)
- Function Declaration and Definition
- Call by Value, Call by Reference
- Recursion (1-2 hrs)
- Explanation of Recursive Functions
Week 7: Pointers (4-5 hours)
- Introduction to Pointers (2 hrs)
- Pointer Basics, Declaration, and Dereferencing
- Pointer Arithmetic (1 hr)
- Pointer to Arrays and Strings (1 hr)
- Function Pointers (1 hr)
Week 8: Structures and Unions (3-4 hours)
- Introduction to Structures (2 hrs)
- Declaring and Using Structures
- Arrays of Structures, Nested Structures
- Unions in C (1-2 hrs)
Week 9: Memory Management (3-4 hours)
- Dynamic Memory Allocation (2-3 hrs)
- malloc(), calloc(), free(), realloc()
- Understanding Stack vs Heap Memory (1 hr)
Week 10: File Handling (3-4 hours)
- Introduction to File Handling (1 hr)
- File Pointers, Opening/Closing Files
- Reading/Writing to Files (2 hrs)
- fprintf(), fscanf(), fread(), fwrite()
- Error Handling in File Operations (1 hr)
Week 11: Preprocessors and Macros (2-3 hours)
- Macros and Preprocessors (2 hrs)
- #define, #include, Conditional Compilation
- Command Line Arguments (1 hr)
Week 12: Advanced Topics (Optional - 4-5 hours)
- C Libraries (1-2 hrs)
- Standard Library Functions (math.h, string.h, etc.)
- Introduction to Data Structures in C (2-3 hrs)
- Linked Lists, Stacks, Queues
Week 13: Debugging and Testing (2-3 hours)
- Common C Errors (1 hr)
- Runtime, Compile-Time Errors
- Debugging Tools and Techniques (1-2 hrs)
Week 14: Final Project (5-6 hours)
- Creating a Project using C (5-6 hrs)
- Guidance on a real-world project (e.g., text-based games, file handling projects, or simple system-level programs)
This structure provides flexibility for adjustments and ensures students cover essential concepts. You can extend the final project and practical sessions based on their performance and questions.