Content
Course Content
Week 1: Introduction and Basic C++ Concepts
- Setting Up and Input/Output
- Variables and Basic Types
Week 2: Object-Oriented Programming Basics
- Introduction to Classes
- Operator Overloading and Function Overloading
Week 3: Memory Management
- Raw Pointers and Smart Pointers
- Deep Dive into
std::unique_ptr
and std::shared_ptr
Week 4: Advanced OOP Concepts
- Virtual Functions and Polymorphism
- Abstract Classes and Dynamic Cast
Week 5: Templates and Generic Programming
- Introduction to Templates
- Variadic Templates and Template Aliases
Week 6: The Standard Template Library (STL) Part 1
- Containers -
array
and vector
- Topics: array, vector
- Example: Dynamic array management using
std::vector
and fixed-size array with std::array
.
- Associative Containers
Week 7: The Standard Template Library (STL) Part 2
- Advanced Data Structures
- Topics: list, tuple, std::pair
- Example: Creating and managing linked lists and tuples for complex data grouping.
- Functional Objects and Bindings
Week 8: Algorithms and Data Structures Part 1
- Binary Trees and Binary Search Trees
- Linked Lists
Week 9: Algorithms and Data Structures Part 2
- Heaps and Queues
- Topics: heap, queue
- Example: Implementing a priority queue using a binary heap.
- Recursion and Stack Frames
- Topics: recursion, stack_frame
- Example: Implementing recursive algorithms and understanding call stack.
Week 10: Modern C++ Features Part 1
- Move Semantics
- Universal References and Rvalue References
Week 11: Modern C++ Features Part 2
- Lambda Expressions
- Topics: lambda,
- Example: Using lambda expressions for inline function definitions.
- Exception Handling
Week 12: Multithreading and Concurrency Part 1
- Introduction to Multithreading
- Topics: thread, mutex, std::lock
- Example: Creating and managing threads, using mutexes to avoid race conditions.
- Atomic Operations
- Topics: atomic, memory_order
- Example: Implementing a simple atomic counter with
std::atomic
.
Week 13: Multithreading and Concurrency Part 2
- Advanced Concurrency
- Timers and Time Management
- Topics: timers, std::chrono
- Example: Measuring execution time of code using
std::chrono
.
Week 14: Miscellaneous Topics and Final Review
- Type Identification and Type Safety
- Final Review and Q&A
- Topics: Review of key concepts.
- Example: Revisiting difficult concepts and solving complex problems collaboratively.
Previous Page |
Course Schedule |
Course Content