Module 1: Introduction
Basic Linux commands and vi editor
Compilation and linking process
Header files and Libraries
Process memory layout on 16 and 32 bits
(user space and kernel Space details)
Operating system, Kernel, Microprocessor and Compiler
Memory allocation – variable and function, load time and run time
Module 2: Operators
Types of operators
Dealing with all 45 operators
Module 3:Data types
Data types, qualifiers, modifiers, format specifiers
Dealing with each data types
Memory representation of each type
Module 4: Control Structure
Types of control structure
Basic fundamental of loop and recursion
Dealing with all control structures
( goto, for, while, do while, if else, switch case)
Module 5: Pointer
What is pointer?
Different concept of pointer
(memory leak, wild pointer, null pointer, dangling pointer …)
Types of memory address
Application of pointer
Heap and stack exploration
Module 6: Array
How to introduce array?
When single and double?
Dynamic array and efficient use of malloc, calloc and free Pointer and array.
Module 7: Function
Styles of writing program
What is function?
Library and system calls
Function with va_list
Function calling convention
Module 8: Storage Class
Types of storage class
Dealing with all storage classes
Module 9: Preprocessor
C Compiler, Preprocessor, Assembler, linker
Dealing with all preprocessor directives
Module 10: Structure and union
Memory allocation of structure and union
Why structure and union?
What is structure and union?
Module 11: Dynamic memory allocation
Heap allocation using malloc and calloc
Memory leak, link and linked list
How to write the code snippet
Introduction of DS
Module 12: File Handling
Types of file
Buffer and streams
File operations using std.library and system calls
File locking and unlocking
Text and Binary file I/O
Module 13: Command line argument
What is command line and why command line?
Programs using command line
Use of Environment vector
Developing start and stop process
Module 14: Process, threads and signal
What is process & Threads?
Types of process and threads
Use of fork, vfork?
Signals and how to handle all signals
Use of return and exit statements
Module 15: Locking Mechanism
Dealing with OS resources
Locking using mutex, file locking and semaphore
Module 16: Socket and Network programming
Introduction to Inter Process communication (IPC)
OSI Layers with a practical approach, IP and Port numbers.
Introduction to PC and HOST
Networking using TCP and UDP
Concurrent Server using Process and Threads
Module 17: ODBC Programming
ODBC rules and regulation
Introduction to MYSQL and Oracle
Creating, inserting and retrieving records for
different Data bases.
Module 18: Graphics & Curses
Graphics using Glade interface with GTK+
Working with GTK Widgets, Event handling
Developing Application Interface
Developing Application using ncurses library
Module 19: Development tools
Make, cscope, gdb, valgrind, strace and ltrace