Basics to Advanced C programming course for HackHarbor 2.0
Day 1 - Introduction to C Programming
Overview of C and it's applications
- Setting Up the Environment: Installing GCC and VSCode
- Basic Syntax and Structure
- Writing and running the first program ("Hello, World!")
- Variables and Data Types: Integers, floats, characters, and basic I/O functions
- Operators and Expressions:
- Arithmetic Operators: Addition, subtraction, multiplication, division, modulus
- Relational and Logical Operators
- Increment and Decrement Operators
- Assignment Operators
- Type Casting and Type Conversion
Day 2 - Control Structures and Types of Errors
Conditional Statements and Loops
- Conditional Statements: if, else if, else, switch statements
- Loops: for, while, do-while loops
Errors - Types and definitions
- Syntax Errors
- Semantic Errors
- Logical Errors
- Runtime Errors
- Function Basics: Definition, declaration, and calling functions
- Parameters and Return Values
- Scope and Lifetime of Variables
- Recursive Functions
- Introduction to Arrays: creating arrays, accessing elements, and basic operations
- One-Dimentional Arrays
- Two-Dimentional Arrays
- Strings in C: String handling functions, array of characters, and standard library functions (strlen, strcpy, strcmp, etc.)
- Pointers: Definition, declaration, usage and pointer arithmetic
Day 6 - Dynamic Memory Allocation
- Difference between static and dynamic memory allocation
- Dynamic Memory Allocation Functions:
- malloc() - memory allocation
- calloc() - contiguous allocation
- realloc() - re-allocation
- free()
- Comparision between malloc() and calloc()
- Structures: Definition, declaration, and accessing members
- Array of Structures
- Nested Structures
- Unions: Definition, declaration, and accessing members
- Difference between Structures and Unions
- File Operations: Opening, reading, writing, and closing files
- File Modes: Text and binary modes
- Error Handling in File Operations
- Standard Library Functions for File Handling
- Data Structures: Definiton, types and usage
- Stacks: Implementation using arrays, push and pop operations
- Queues: Implementation using arrays, enqueue and dequeue operations
- Circular Queue: Implementation and operations
Day 10 - Data Structures (Linked Lists)
- Singly Linked Lists: Implementation, insertion, deletion, and traversal
- Doubly Linked Lists: Implementation, insertion, deletion, and traversal
- Circular Singly Linked Lists: Implementation, insertion, deletion, and traversal
- Circular Doubly Linked Lists: Implementation, insertion, deletion, and traversal