C++ Programming Course
Course overview
Course Overview:
Introduction to C++ Programming:
This course provides an in-depth introduction to programming using the C++ languages. Students will learn the foundational principles of programming, including syntax, data types, control structures, functions, and memory management. Through hands-on projects and exercises, students will develop practical programming skills applicable to a wide range of software development tasks.
Objectives:
- Understand the syntax and semantics of the C++ programming languages.
- Develop proficiency in writing, compiling, and debugging C++ programs.
- Apply fundamental programming concepts such as variables, loops, conditionals, functions, and arrays
- Gain knowledge of memory management techniques and pointers in C++.
- Implement object-oriented programming principles in C++.
Prerequisites:
No prior programming experience is required for this course. However, basic computer literacy and familiarity with using a computer are recommended.
Mentor Support:
Learners will have access to an experienced instructor who will provide support through discussion forums, live Q&A sessions, and email to answer questions and provide guidance throughout the course.
Curriculum
8 modulesModule 1: Introduction to C++ Programming
- Overview of C++ programming language
- Setting up the development environment
- Writing and compiling your first C++ program
- Basic syntax and data types
- Control structures: if-else, switch-case, loops
Module 2: Functions
- Function Declaration and Definition: Syntax, purpose, and scope
- Function Prototypes: Importance and usage
- Passing Arguments: By value, by reference, and by pointer
- Overloading Functions: Function overloading and its rules
- Inline Functions: Use and benefits of inline
- Recursion: Understanding and implementing recursive functions
Module 3: Object-Oriented Programming (OOP)
- Classes and Objects: Definition, properties, and methods
- Constructors and Destructors: Initialization and cleanup
- Encapsulation: Access specifiers (public, private, protected)
- Inheritance: Base and derived classes, types of inheritance (single, multiple, hierarchical, etc.)
- Polymorphism: Function overriding, virtual functions, and abstract classes
- Operator Overloading: Customizing operator behavior
Module 4: Advanced OOP Concepts
- Templates: Function templates and class templates
- File I/O: Reading from and writing to files using streams
- Exception Handling: try, catch, throw, and custom exception classes
- Smart Pointers: std::unique_ptr, std::shared_ptr, std::weak_ptr
Module 5: Standard Template Library (STL)
- Introduction to STL: Overview and benefits
- Containers: vector, list, deque, map, set, unordered_map, unordered_set
- Algorithms: Sorting, searching, and other algorithms provided by STL
- Iterators: Types and usage of iterators in STL
Module 6: Advanced Features
- Namespace: Creating and using namespaces
- Preprocessor Directives: #define, #include, #ifdef, #ifndef
- Lambda Expressions: Syntax and use cases
- Multithreading: Introduction to threads, mutexes, and concurrency using the C++ Standard Library (e.g., thread, mutex, atomic)
Module 7: Memory Management & Modern C++
- Dynamic Memory Allocation: new, delete, and managing memory manually
- Memory Leaks: Detection and prevention
- RAII (Resource Acquisition Is Initialization): Managing resources using constructors and destructors
- Modern C++ Features (C++ 11/14/17/20/23)
Module 8: Final Project
- Design and implementation of a larger-scale project using C++
- Applying learned concepts to solve real-world problems
- Presentation and demonstration of the final project
Certification
Course Certification:
Upon successful completion of the course, there will be cumulative test conducted and students who scored above 60% marks will receive a certificate of completion from GeekBase Technology, which can be used to showcase their newly acquired C & C++ programming skills.
Note: Test will be a MCQ pattern and maximum two attempts allowed.
Why C++ Certified ?