A comprehensive 5-course C++ specialization covering fundamental concepts to advanced programming techniques, design patterns, and performance optimization.
Introduction to C++ programming language fundamentals and core constructs.
Key Topics:
- Basic data types and control flow
- Functions and standard containers
- Classes and algorithms
- Input/Output operations and exception handling
- Operator overloading
Final Project: Simple data storage system with add, delete, and search functionality
Building upon White Belt foundations with more advanced C++ features.
Key Topics:
- Integer types, pairs, and tuples
- Function templates
- Inheritance and polymorphism
- Iterators and standard algorithms
- Code organization across multiple files
- Unit testing and test framework development
Final Project: Enhanced data storage system with support for complex queries
Focus on code optimization, efficient programming practices, and multithreading.
Key Topics:
- Macros and class templates
- Code optimization principles
- Algorithm complexity analysis
- C++ memory model
- Efficient use of linear containers (
vector,deque,list,string) - Move semantics
- Multithreaded programming fundamentals
- Custom profiler development
Final Project: Search engine implementation
Master C++ idioms and learn to write elegant, maintainable code.
Key Topics:
- C++ idioms and best practices
- Namespaces
- Efficient use of associative containers
- Advanced design patterns
- Code refactoring techniques
- Smart pointers and RAII
- Template metaprogramming
- Parsing (JSON, XML, INI)
Final Project: Transport Directory system with route management
Advanced topics, professional tools, and comprehensive project work.
Key Topics:
- Virtual method tables and virtual destructors
- Undefined behavior and memory safety
- Variadic templates and forwarding references
- Sanitizers (AddressSanitizer, UndefinedBehaviorSanitizer)
- Protocol Buffers (protobuf)
- Custom container implementation (
vector,optional) - Advanced debugging techniques
- STL internals
Final Project: Transport Catalogue System - A three-week project featuring route planning algorithms, SVG map generation, and advanced coordinate projection
Upon completing this specialization, you will be able to:
- Solve practical problems independently using C++
- Apply C++ idioms naturally (STL, RAII, const-correctness, type safety)
- Write efficient code without sacrificing readability and maintainability
- Debug complex programs using professional tools
- Design and implement large-scale systems
- Optimize performance and memory usage
- Work with modern C++ development practices
