Detailed training program
- Commands and first C++ program
- int and string types, keyboard input
- Conditional operators
- Loops
- Installing CLion and JavaRush plugin
- Floating-point numbers and char
- Arrays
- Functions
- Bonus: scope, operators, random
- Dynamic arrays (std::vector, std::array)
- Character strings and std::string
- Structures, enumerations, and unions
- Pointers and references: introduction
- References and pointer arithmetic
- Dynamic memory and memory leaks
- Smart pointers: std::unique_ptr
- Exceptions: error handling basics
- Namespaces and code organization
- Working with dates and time
- Version control: Git and GitHub
- Introduction to classes and encapsulation
- Constructors and destructors
- Operator overloading
- std::shared_ptr and std::weak_ptr
- Move semantics: concepts and applications
- Resource management rules
- Inheritance and polymorphism
- Class and function templates
- Type conversions
- CMake, library installation, make
- STL containers: vector, deque, list
- Associative containers: map, set
- Iterators: categories, usage
- STL algorithms: sort, find, transform
- Lambdas: syntax, capture
- Functional programming
- Concepts (C++20)
- std::variant, std::optional (C++17)
- std::tuple, std::pair (C++17)
- Ranges (C++20): views, filters
- File operations: input/output
- Filesystem (std::filesystem)
- String operations
- Serialization
- Allocators and memory management
- Smart pointers: deep dive
- Efficiency and optimization
- Multithreading basics
- Synchronization
- Futures, promises, and async
- Parallel STL algorithms
- Thread local storage and atomics
- Threads and files
- Multithreading: patterns
- C++23 multithreading features
- Metaprogramming: basics
- Metaprogramming: advanced
- C++20/23 modules
- Reflection (C++23)
- Modern best practices
- Code safety
- Documentation and library publishing
- Coroutines
- Profiling and diagnostics
- Design and architecture
- Time and std::chrono
- CLI Arguments and Logging
- Thread Basics (std::thread)
- std::jthread and Safe Stopping
- Synchronization (mutex)
- Condition Variables (condition_variable)
- Async and Atomic Operations
360+
Lessons
1000+
Tasks
72
Tests
And also:
- Instant task verification
- AI code validator
- CLion plugin
- WebIDE
- Gamification
- Motivational lectures