Course Description

This course introduces the fundamentals of programming using C and C++, two powerful languages widely used in system programming, game development, and performance-critical applications. Learn to write efficient code, use data structures, and understand object-oriented programming.

Course Content

C Programming
1. Basics of C
6 Topics
• History and features of C
• Structure of a C program
• Compilation and execution process
• Variables and data types
• Constants and macros
• Input and output (scanf, printf)
2. Control Structures
3 Topics
• Conditional statements (if, else, switch)
• Loops (for, while, do-while)
• Jump statements (break, continue, goto)
3. Operators and Expressions
2 Topics
• Arithmetic, relational, logical, bitwise, and assignment operators
• Operator precedence and associativity
4. Functions in C
4 Topics
• Function declaration and definition
• Call by value vs call by reference
• Recursion
• Storage classes (auto, extern, static, register)
5. Arrays and Strings
2 Topics
• One-dimensional and multi-dimensional arrays
• String handling functions (strcpy, strlen, strcmp, etc.)
6. Pointers
4 Topics
• Pointer basics and pointer arithmetic
• Pointers and arrays
• Pointers and functions
• Pointers to pointers
7. Structures and Unions
4 Topics
• Defining and using structures
• Nested structures
• Arrays of structures
• Unions vs structures
8. File Handling
4 Topics
• File operations (fopen, fclose, fscanf, fprintf, etc.)
• Reading and writing to files
• File modes
• Binary vs text files
9 . Dynamic Memory Allocation
2 Topics
• malloc, calloc, realloc, free
• Memory leaks and management
C++ Programming
1. Introduction to C++
4 Topics
• Differences between C and C++
• Advantages of C++
• Structure of a C++ program
• cin, cout, and iostream
2. Object-Oriented Programming (OOP)
4 Topics
• Classes and objects
• Constructors and destructors
• this pointer
• Static members
3. Inheritance
3 Topics
• Types of inheritance
• Constructor behavior in inheritance
• Function overriding and virtual functions
4. Polymorphism
2 Topics
• Compile-time (function overloading, operator overloading)
• Run-time (virtual functions, dynamic binding)
5. Abstraction and Encapsulation
3 Topics
• Access specifiers (public, private, protected)
• Abstract classes and pure virtual functions
• Interfaces using abstract base classes
6. Friend Functions and Operator Overloading
2 Topics
• friend function and class
• Operator overloading (arithmetic, relational, etc.)
7. Templates and Exception Handling
3 Topics
• Function and class templates
• Template specialization
• Exception handling using try, catch, throw
8. File Handling in C++
2 Topics
• File stream classes: ifstream, ofstream, fstream
• File operations (read/write, open/close, binary/text modes)
9. Standard Template Library (STL)
3 Topics
• Containers: vector, list, map, set
• Iterators
• Algorithms: sort, find, count, etc.
10. Project Work (Optional)
2 Topics
• Mini project in C (e.g., ATM simulator, library system)
Includes
19 Lessons
59 Topics