Complete C++ Programming Course
MP4 |
Video: h264, 1920x1080 |
Audio: AAC, 44.1 KHz
Language: English |
Size: 7.89 GB |
Duration: 14h 39m
A **Complete C++ Programming Course** should take you from the fundamentals to advanced topics with hands-on projects. Here's a comprehensive roadmap.
## Module 1: Introduction to C++
* What is C++?
* Installing a compiler (GCC, Clang, MSVC)
* Setting up an IDE (Visual Studio, VS Code, CLion)
* Writing your first program
* Compilation process
* Comments and coding style
**Project:** Hello World and Calculator
---
## Module 2: C++ Basics
* Variables and constants
* Data types
* Input and output (`cin`, `cout`)
* Operators
* Type conversion
* Scope and lifetime
**Practice:**
* Temperature converter
* BMI calculator
---
## Module 3: Control Flow
* `if`, `else if`, `else`
* `switch`
* `for`
* `while`
* `do-while`
* `break`
* `continue`
**Project:**
* Number guessing game
---
## Module 4: Functions
* Function declaration
* Definition
* Parameters
* Return values
* Default arguments
* Function overloading
* Inline functions
* Recursion
**Project:**
* Scientific calculator
---
## Module 5: Arrays & Strings
* One-dimensional arrays
* Multi-dimensional arrays
* Character arrays
* `std::string`
* String functions
**Project:**
* Student grade system
---
## Module 6: Pointers
* Memory addresses
* Pointer variables
* Pointer arithmetic
* Null pointers
* Dynamic memory
* Smart pointers (`std::unique_ptr`, `std::shared_ptr`)
**Project:**
* Dynamic array
---
## Module 7: References
* References
* Pass by value
* Pass by reference
* Const references
---
## Module 8: Structures & Enumerations
* Struct
* Enum
* Typedef
* Alias (`using`)
**Project:**
* Employee management
---
## Module 9: Object-Oriented Programming
* Classes
* Objects
* Constructors
* Destructors
* Encapsulation
* Access modifiers
**Project:**
* Bank Management System
---
## Module 10: Advanced OOP
* Inheritance
* Polymorphism
* Virtual functions
* Abstract classes
* Interfaces
* Friend functions
**Project:**
* Library Management System
---
## Module 11: Templates
* Function templates
* Class templates
* Template specialization
* Variadic templates
---
## Module 12: Exception Handling
* `try`
* `catch`
* `throw`
* Custom exceptions
---
## Module 13: File Handling
* Reading files
* Writing files
* Binary files
* CSV handling
**Project:**
* Contact Manager
---
## Module 14: Standard Template Library (STL)
* `vector`
* `list`
* `deque`
* `map`
* `unordered_map`
* `set`
* `stack`
* `queue`
* `priority_queue`
* Iterators
* Algorithms
* Lambda expressions
**Project:**
* Student Database
---
## Module 15: Modern C++ (C++11-C++23)
* `auto`
* `nullptr`
* Range-based `for`
* Move semantics
* Rvalue references
* Lambda expressions
* `constexpr`
* `enum class`
* Structured bindings
* Concepts (C++20)
* Modules
* Coroutines (introduction)
---
## Module 16: Memory Management
* Stack vs Heap
* RAII
* Smart pointers
* Memory leaks
* Copy and move semantics
---
## Module 17: Multithreading
* Threads
* Mutexes
* Locks
* Condition variables
* Futures
* Async programming
**Project:**
* Multithreaded downloader
---
## Module 18: Design Patterns
* Singleton
* Factory
* Observer
* Strategy
* Builder
* Adapter
---
## Module 19: Data Structures
* Linked List
* Stack
* Queue
* Tree
* Binary Search Tree
* AVL Tree
* Heap
* Graph
* Hash Table
---
## Module 20: Algorithms
* Searching
* Sorting
* Recursion
* Divide & Conquer
* Dynamic Programming
* Greedy Algorithms
* Graph algorithms
* Backtracking
---
## Module 21: Debugging
* GDB
* Visual Studio Debugger
* Breakpoints
* Memory inspection
* Profiling
---
## Module 22: Testing
* Unit testing
* Google Test
* Assertions
* Test-driven development (TDD)
---
## Module 23: Build Systems
* CMake
* Makefiles
* Package management (Conan, vcpkg)
---
## Module 24: Real Projects
* Console Calculator
* Snake Game
* Tic-Tac-Toe
* Inventory Management System
* Library Management System
* Chat Application
* File Compression Tool
* Mini Database
* HTTP Server
* Banking System
---
## Module 25: Advanced Topics
* Networking
* Socket Programming
* OpenGL
* Game Development
* Embedded C++
* Qt GUI
* Boost Libraries
---
## Recommended Learning Resources
**Official Documentation**
**Books**
* *Programming: Principles and Practice Using C++* by Bjarne Stroustrup
* *The C++ Programming Language* by Bjarne Stroustrup
* *Effective Modern C++* by Scott Meyers
## Suggested Timeline
| Weeks | Focus |
| ----- | ------------------------------------ |
| 1-2 | Basics, Variables, Control Flow |
| 3-4 | Functions, Arrays, Strings |
| 5-6 | Pointers, References, Memory |
| 7-8 | Object-Oriented Programming |
| 9-10 | STL and Templates |
| 11-12 | File Handling and Exceptions |
| 13-14 | Data Structures and Algorithms |
| 15-16 | Modern C++, Multithreading, Projects |
By the end of this curriculum, you should be comfortable writing modern C++ applications, using the STL effectively, applying object-oriented design, implementing common data structures and algorithms, and building real-world software.
Код:
https://www.udemy.com/course/complete-c-programming-course/