C-programming forms the basic foundation for all programmers, a good understanding and insight on C allows one to learn other software courses with ease. Since we train people on Unix platform it also gives them the basic foundation to go in for system programming.
» Why C ?
» Fundamentals of C
Data types and Constants
Operators & Expressions
SimpleI/O
Flow Control
Preprocessor features
» Functions
Role of Functions
Passing arguments to functions
Returning values from functions
Recursive Functions
Call Back functions
Implications on Stack
Pass by value/reference
» Arrays
Defining, initializing and using arrays
Multi Dimensional arrays
Arrays of Characters and Strings
Arrays and pointers
Passing arrays to functions
String handling and its library functions
» Storage Classes
Scope
Internal
External
Automatic
Static
Scope and extent of parameters
» Structures & Unions
What structures are for
Declaration, initialization and accessing
Nested Structures
Array of structures
Allocation of memory and holes
Unions
» Bit Operations
AND (&), OR (|), XOR (^)
Compliment (~)
Left-shift (<<), Right-shift (>>)
Masking, Setting and Testing of Bit/Bits
» Pointers
The purpose of pointers
Defining pointers
The & and * operators
Pointer assignment
Pointers with functions
Pointer arithmetic
Advanced pointer types
Pointers to functions
Pointers and Strings
Pointers and Dynamic memory
FAR & NEAR Pointers
» File Handling Concepts
Concept of a FILE data type
Character handling routines
Record handling routines
Formatting routines
» Command line arguments
» Dynamic Memory Allocation
Development Tools and Environment
Compiler
Functionality of Assembler
Functionality of Linker
Make Utility
Object File format
Executable File Format
Debugger
Multiple C File Program Development
Basic Networking concepts
Dynamically Loading Libraries (DLL)