Fundamentals Of Programming
Fundamentals of Programming
Week 1: Introduction to C++ Programming
• Overview of C++ and its history
• Setting up development environment (IDEs, compilers)
• Basic structure of a C++ program
• Variables, data types, and operators
• Input and output (iostream)
Week 2: Control Structures and Functions
• Decision making (if, else, switch)
• Loops (for, while, do-while)
• Break and continue statements
• Introduction to functions
• Function prototypes and definitions
• Passing arguments by value and by reference
Week 3: Arrays and Strings
• Introduction to arrays
• Declaration, initialization, and accessing elements
• Multi-dimensional arrays
• Introduction to strings
• String manipulation functions
Week 4: Object-Oriented Programming Basics
• Introduction to object-oriented programming (OOP)
• Classes and objects
• Constructors and destructors
• Access specifiers (public, private, protected)
• Member functions and data members
Week 5: More on OOP: Inheritance and Polymorphism
• Inheritance and derived classes
• Base class and derived class relationships
• Polymorphism and function overriding
• Abstract classes and pure virtual functions
Week 6: More on OOP: Encapsulation and Composition
• Encapsulation and information hiding
• Accessor and mutator functions
• Composition and aggregation
• Class relationships: has-a and is-a
Week 7: Pointers and Dynamic Memory Allocation
• Introduction to pointers
• Pointer arithmetic
• Dynamic memory allocation (new and delete operators)
• Pointers and arrays
• Pointer to objects
Week 8: File Handling and Exception Handling
• File input/output (fstream)
• Reading from and writing to files
• Handling file exceptions
• Introduction to exception handling
• try, catch, and throw blocks
Week 9: Standard Template Library (STL)
• Overview of the Standard Template Library (STL)
• Containers (vectors, lists, maps)
• Iterators and algorithms
• Working with STL algorithms
• Custom iterators
Week 10: Advanced Topics and Project
• Smart pointers (unique_ptr, shared_ptr)
• Move semantics and rvalue references
• Template classes and functions
• Introduction to C++11/14/17 features (depending on the course level)
• Final project: Students work on a real-world application or project applying the concepts learned throughout the course.
Each week will include lectures, hands-on coding exercises, quizzes, and assignments to reinforce learning.