C++ Standard Library including C++ 14 & C++ 17 Course Syllabus
Full curriculum breakdown — modules, lessons, estimated time, and outcomes.
Overview: This course provides a comprehensive journey through the C++ Standard Library with a focus on both foundational components and modern enhancements introduced in C++14 and C++17. Structured into 8 modules, each requiring approximately 6-8 hours of engagement, learners will gain hands-on experience with STL containers, algorithms, smart pointers, concurrency tools, and new library types. The curriculum emphasizes real-world coding patterns, performance, and safe API design. With around 60 hours of total content, this course is ideal for developers seeking mastery of modern STL practices in production environments.
Module 1: STL Containers & Iterators
Estimated time: 7 hours
- std::vector, std::deque, and std::list usage and performance trade-offs
- Ordered and unordered associative containers: std::map, std::unordered_map
- Iterator categories and traversal patterns
- Using iterator adaptors in data pipelines
Module 2: Algorithms & Function Objects
Estimated time: 7 hours
- Core algorithms from <algorithm>: sort, transform, accumulate
- Custom predicates and comparators
- Lambda expressions and inline function objects
- Chaining algorithm operations for data processing
Module 3: Smart Pointers & Resource Management
Estimated time: 7 hours
- std::unique_ptr and RAII-based resource management
- std::shared_ptr and reference-counted ownership
- std::weak_ptr to break cyclic dependencies
- Refactoring raw pointer code to smart pointers
Module 4: Chrono, Threading & Synchronization
Estimated time: 7 hours
- Time measurement with std::chrono durations and clocks
- Creating and managing threads using std::thread
- Synchronization with std::mutex and locks
- Asynchronous operations via std::future and std::async
Module 5: C++14/17 Library Additions
Estimated time: 7 hours
- std::make_unique for safe pointer creation
- Generic lambdas and improved type inference
- std::optional for representing optional values
- std::variant and std::string_view for efficient type-safe unions and string handling
Module 6: Filesystem & Regular Expressions
Estimated time: 7 hours
- Navigating paths and directories with <filesystem>
- Recursive file traversal and metadata inspection
- Pattern matching using <regex>
- Building a log scanner with regex filtering
Module 7: Ranges & Parallel Algorithms
Estimated time: 7 hours
- Introduction to ranges and std::views
- Using std::ranges::for_each and view pipelines
- Parallel execution with std::execution policies
- Processing large datasets efficiently
Module 8: Best Practices & Capstone Project
Estimated time: 8 hours
- Designing exception-safe interfaces
- Best practices in API and library design
- Performance profiling and memory optimization
- Implementing a modular library component with peer review
Prerequisites
- Familiarity with core C++ syntax and object-oriented programming
- Experience writing and compiling C++ programs using templates and references
- Basic understanding of memory management and pointers
What You'll Be Able to Do After
- Design efficient and safe code using STL containers and algorithms
- Apply modern C++14/17 library features in real-world applications
- Manage resources effectively using smart pointers and RAII
- Build concurrent applications with threading and synchronization utilities
- Implement high-performance, maintainable C++ components using best practices