C PROGRAMMING
-
Introduction to C - (Day 1)
- What we will cover
- History and features of C programming language.
- Why to learn C programming, Audience and Pre-requisites
- Setting up the C development environment.
- What is a program
- Writing First C program and understanding its structure and working.
- #include
- <Stdio.h>
- void
- main
- printf
- Code Compilation and Execution process
- Receiving Input
- Some practice stuff
-
Basic Syntax and Data Types - (Day 2 & Day 3)
- Variables
- Data types and sizes
- Constants
- Integer Constants
- integer
- long
- short
- signed
- unsigned
- Real Constants
- float
- double
- signed
- unsigned
- Character Constants
- char
- signed
- unsigned
- Integer Constants
- Keywords
- Declarations
- Escape Charcters
- Comments
- Arithmetic Operators
- Type conversion
- Hierarchy of Operations
- Relational and Logical Operators
- Increment and Decrement Operators
- Bitwise Operators (Overview)
- Assignment Operators and Expressions
- Conditional Expressions
- Precedence and Order of Evaluation
- Some practice stuff
- Console Input and output - part 1 - (Day 4)
- Introduction to Console Input and Output
- Printing Text on the Console (printf function)
- Formatting Output using Format Specifiers
- Reading Input from Console (scanf function)
- Handling Newline and Buffer Issues
- Using Escape Sequences for Special Characters
- Printing and Reading Numeric Values
- File Input and Output (stdio.h functions)
- Some practice stuff
-
Decision Control Flow - (Day 5)
-
Statements and Blocks
- Conditional statements - if
- Flow chart
- Syntax
- usage
- Example
- Conditional statements - if-else
- Flow chart
- Syntax
- usage
- Example
- Conditional statements - if-else-if
- Flow chart
- Syntax
- usage
- Example
- Nested conditional statements
- Flow chart
- Syntax
- usage
- Example
- Some practice stuff
-
- Case Control - (Day 5)
- switch-case
- Flow chart
- Syntax
- usage
- Example
- Switch vs If-else ladder
- Goto and label overview
- Some practice stuff
- switch-case
- Loop Control Structure - (Day 6)
-
- Looping structures - while loop
- Flow chart
- Syntax
- usage
- Example
- Looping structures - do-while loop
- Flow chart
- Syntax
- usage
- Example
- Looping structures - for loop
- Flow chart
- Syntax
- usage
- Example
- Loop control statements - break
- Flow chart
- Syntax
- usage
- Example
- Loop control statements - continue
- Flow chart
- Syntax
- usage
- Example
- Some practice stuff
- Looping structures - while loop
-
-
Functions - (Day 7 & Day 8)
- Introduction to functions
- Why we need to use them
- Rules while creating a function
- How function works
- prototyping, Declaring and calling functions
- call a non return type function
- Example and flow chart
- call a non return type function from another function
- Example and flow chart
- call a non return type function
- Return values
- Function parameters - passing by value
- Function parameters - passing by reference
- Using library function <math.h>
- sin
- cos
- tan
- pow
- Recursion
- Recursion vs normal code
- Stack
- Queue
- Some practice stuff
- Introduction to functions
-
Pointers - (Day 9)
- Introduction to pointers
- Pointers and memory addresses.
- Pointers and functions.
- Pointers and arrays.
- Address Arithmetic
- Character Pointers and Functions
-
Dynamic memory allocation (malloc, calloc, free)
- Storage Classes - (Day 10)
- Automatic storage class
- Register storage class
- Static storage class
- External storage class
- The C preprocessor - (Day 10)
- Introduction to C preprocessor
- Macro Expansion
- File inclusion
- Conditional compilation
- Miscleanious Directives
- #undef
- #paragma
- Build process of C program
- Some practice stuff
-
Arrays - (Day 11)
- Introduction to arrays
- Declaring and accessing arrays.
- Array initialization and manipulation.
- Passing array values to functions
- Array and pointers
- Pasing entire array to function
- Multi-dimensional arrays
- two dimensional array
- three dimensional array
- Pointer Arrays; Pointers to Pointers
- Some practice stuff
- Strings - (Day 12)
- Introduction to string
- Ways of creating a string
- Space allocation of string
- Printing a string
- printf and scanf vs puts and gets
- Pointers and Strings
- Standard String library functions
- strlen()
- strcpy()
- strncpy()
- strcat()
- strncat()
- strcmp()
- strncmp()
- strchr()
- strrchr()
- strstr()
- strtok()
- strcpy_s()
- strncpy_s()
- strcat_s()
- strncat_s()
- Two dimensional array of characters
- Some practice stuff
- Introduction to string
-
Structures, Unions and enums - (Day 13)
- Introduction to structure
- Basics of structure
- Declaring
- Accessing
- structure vs function
- Nested structures and arrays of structures.
- Structure pointers and dynamic memory allocation.
- Introduction to unions.
- Introduction to Enum
- Introduction to typedef
- Some practice stuff
- Console Input and output - part 2 - (Day 14)
- sprint and sscanf functions
- formatted I/O
- unformatted I/O
- Some practice stuff
-
File Handling - (Day 14)
- Files
- Opeing a file
- Reading a file
- writing to a file
- updating a file
- Closing a file
- File modes and file pointers.
- Sequential and random access file operations.
- Text vs Binary mode
- Error handling with file operations.
- Some practice stuff
- Files
-
Bit Manipulation - (Day 15)
- Introduction to bitwise operators.
- Bitwise operations for manipulating data at the bit level.
- Bitwise shift operations.
- Some practice stuff
-
Memory Management - (Day 15)
- Stack and heap memory.
- Memory allocation and deallocation.
- Memory leaks and memory corruption.
- Some practice stuff
-
Error Handling and Debugging - (Day 15)
- Identifying and handling runtime errors.
- Debugging techniques and tools.
- Error handling with try-catch blocks
- Some practice stuff
-
Multi-file Programming - (Day 16)
- Creating and using multiple source files.
- Header files and function prototypes.
- Linking object files to create executable programs.
- Some practice stuff
- Pre-assessment test (Day 17)
- Final Assessment Test - marks count in certification (Day 18)
- Mini Project (1 Week)