Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Mastering 4 critical SKILLS using C++ 17

Làm chủ 4 kỹ năng quan trọng với C++ 17

Làm chủ 4 kỹ năng quan trọng với C++ 17

170 bài tập nâng cao kỹ năng giải quyết vấn đề. 6 dự án rèn luyện kỹ năng xây dựng và thiết kế. Bài kiểm tra chất lượng cao

4.7
(2,517 đánh giá)
18,649 học viên
Giảng viên
Dr. Moustafa Saad
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
79.000đ 2.469.000đ -97%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
33.5 giờ video
374 bài giảng
30 bài quiz
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 07/06/2026

Bạn sẽ học được gì

Đào sâu cú pháp hiện đại C++ 11/14/17 từ cơ bản đến nâng cao
~170 bài tập từ dễ đến trung bình rồi khó để đạt kỹ năng giải quyết vấn đề cấp độ 1
6 dự án từ dễ đến khó kèm lời giải để xây dựng kỹ năng làm dự án
NHIỀU bài kiểm tra để nắm vững kiến thức
BỐN kỹ năng quan trọng để thành thạo, không chỉ một
Lộ trình đã được kiểm chứng: Hàng nghìn học viên của tôi đánh giá cao
Bài giảng ngắn gọn, súc tích, toàn diện và dễ tiếp thu theo phong cách lặp lại
Học từ tiến sĩ AI với nhiều năm giảng dạy, đào tạo và huấn luyện

Yêu cầu

Đam mê xây dựng mọi thứ!
Đam mê giải quyết vấn đề!
Có máy tính.

Đối tượng phù hợp

Bất kỳ ai tò mò về lập trình
Đã từng học lập trình nhưng kỹ năng yếu do ít thử thách và dự án
Chuyên gia ở ngôn ngữ lập trình khác chuyển sang C++

Nội dung khóa học

44 phần • 374 bài giảng
1 Tại sao nên học lập trình? C++?
2 Ai nên tham gia khóa học này?
3 Phong cách giảng dạy
4 Khác biệt và vượt trội so với các khóa học khác
5 Xử lý bài tập và bài tập về nhà
6 Tổng quan chương trình học
7 Tài nguyên và Cộng đồng học viên
8 Lưu ý quan trọng
9 Cùng code nào
1 Tổng quan công cụ
2 Cài đặt Codeblocks trên Linux
3 Cài đặt Codeblocks trên Windows
4 Cài đặt Eclipse trên Linux
5 Cài đặt Eclipse trên Windows
6 Tạo dự án trên Codeblocks
7 Tạo dự án trên Eclipse
8 Cấu hình trình biên dịch theo chuẩn mới nhất
1 In ấn
2 Thêm về in ấn
3 Lỗi
4 Bài tập in ấn
1 Kiểu dữ liệu và biến
2 Khai báo biến
3 Đọc biến
4 Errata
5 Biến hằng số
6 Bài tập Biến 1 - 3 Thử thách Dễ
7 Bài tập Biến 1 - Lời giải p1 p2 p3
8 Bài tập Biến 2 - 2 Thử thách Trung bình
9 Bài tập Biến 2 - Lời giải p1 p2
10 Bài tập Biến 3 - 3 Thử thách Khó
11 Bài tập Biến 3 - Lời giải p1 p2 p3
1 Toán tử nhị phân và đơn nguyên
2 Toán tử tiền tố và hậu tố
3 Toán tử gán
4 Thứ tự ưu tiên
5 Bài tập Toán tử - 3 Thử thách Dễ đến Trung bình
6 Bài tập Toán tử - Lời giải p1 p2 p3
7 Toán tử quan hệ
8 So sánh chuỗi
9 Bảng chân lý
10 Toán tử logic
11 Đánh giá ngắn mạch
12 Bài tập Toán tử logic - 3 Thử thách Dễ đến Trung bình
13 Bài tập Toán tử logic - Lời giải p1 p2 p3
14 Toán tử chia
15 Toán tử modulo
16 Bài tập Chia và Modulo 1 - 3 Thử thách Dễ
17 Bài tập Chia và Modulo 1 - Lời giải p1 p2 p3
18 Lưu ý quan trọng về bài tập
19 Bài tập Chia và Modulo 2 - 3 Thử thách Trung bình
20 Bài tập Chia và Modulo 2 - Lời giải p1 p2
21 Bài tập Chia và Modulo 2 - Lời giải p3
22 Bài tập Chia và Modulo 3 - 2 Thử thách Khó
23 Bài tập Chia và Modulo 4 - Lời giải p1 p2
1 Rẽ nhánh 1
2 Rẽ nhánh 2
3 Thực hành rẽ nhánh
4 Khởi tạo trong rẽ nhánh
5 Bài tập Rẽ nhánh 1 - 4 Thử thách Dễ
6 Bài tập Rẽ nhánh 1 - Lời giải p1 p2
7 Bài tập Rẽ nhánh 1 - Lời giải p3 p4
8 Bài tập Rẽ nhánh 2 - 2 Thử thách Trung bình
9 Bài tập Rẽ nhánh 2 - Lời giải p1 p2
10 Bài tập Rẽ nhánh 3 - 2 Thử thách Khó
11 Bài tập Rẽ nhánh 3 - Lời giải p1 p2
1 Vòng lặp While
2 Thực hành vòng lặp While
3 Bài tập Vòng lặp While 1 - 5 Thử thách Dễ
4 Bài tập Vòng lặp While 1 - Lời giải p1 p2 p3 p4 p5
5 Bài tập Vòng lặp While 2 - 4 Thử thách Trung bình
6 Bài tập Vòng lặp While 2 - Lời giải p1 p2
7 Bài tập Vòng lặp While 2 - Lời giải p3 p4
8 Bài tập Vòng lặp While 3 - 4 Thử thách Khó
9 Bài tập Vòng lặp While 3 - Lời giải p1 p2
10 Bài tập Vòng lặp While 3 - Lời giải p3 p4
11 Vòng lặp For
12 Thực hành vòng lặp For
13 Bài tập Vòng lặp For - 6 Thử thách Trung bình đến Khó
14 Bài tập Vòng lặp For - Lời giải p1 p2
15 Bài tập Vòng lặp For - Lời giải p3 p4
16 Bài tập Vòng lặp For - Lời giải p5 p6
1 Mảng 1 chiều
2 Thực hành Mảng 1 chiều 1
3 Thực hành Mảng 1 chiều 2
4 Bài tập 1 - 5 Thử thách Dễ đến Trung bình
5 Bài tập 1 - Lời giải p1 p2 p3
6 Bài tập 1 - Lời giải p4 p5
7 Bài tập 2 - 6 Thử thách Trung bình
8 Bài tập 2 - Lời giải p1 p2
9 Bài tập 2 - Lời giải p3 p4
10 Bài tập 2 - Lời giải p5 p6
11 Bài tập 3 - 5 Thử thách Khó
12 Bài tập 3 - Lời giải p1 p2
13 Bài tập 3 - Lời giải p3
14 Bài tập 3 - Lời giải p4
15 Bài tập 3 - Lời giải p5
1 Mảng ký tự 1
2 Mảng ký tự 2
3 Thực hành Mảng ký tự
4 Bài tập 1 - 6 Thử thách Dễ đến Trung bình
5 Bài tập 1 - Lời giải p1 p2
6 Bài tập 1 - Lời giải p3
7 Bài tập 1 - Lời giải p4
8 Bài tập 1 - Lời giải p5 p6
9 Bài tập 2 - 3 Thử thách Trung bình
10 Bài tập 2 - Lời giải p1
11 Bài tập 2 - Lời giải p2
12 Bài tập 2 - Lời giải p3
13 Bài tập 3 - Ứng dụng
14 Bài tập 3 - Lời giải ứng dụng
1 Mảng đa chiều 1
2 Mảng đa chiều 2
3 Lân cận vị trí
4 Thực hành 1
5 Thực hành 2
6 Bài tập 1 - 3 Thử thách Dễ
7 Bài tập 1 - Lời giải p1 p2 p3
8 Bài tập 2 - 4 Thử thách Trung bình đến Khó
9 Bài tập 2 - Lời giải p1 p2 p3 p4
10 Bài tập 3 - Ứng dụng
11 Bài tập 3 - Lời giải ứng dụng
1 Hàm 1
2 Hàm 2
3 Hàm 3
4 Truyền tham chiếu
5 Hàm dựng sẵn
6 Biến toàn cục, cục bộ và tĩnh
7 Thực hành Hàm
8 Bài tập Hàm - 7 Thử thách
9 Bài tập Hàm - Lời giải p1 p2 p3
10 Bài tập Hàm - Lời giải p4 p5 p6
11 Bài tập Hàm - Lời giải p7
1 Hàm đệ quy 1
2 Hàm đệ quy 2
3 Thực hành Hàm đệ quy 1
4 Thực hành Hàm đệ quy 2
5 Thực hành Hàm đệ quy 3
6 Bài tập Hàm đệ quy 1 - 8 Thử thách Dễ đến Trung bình
7 Bài tập Hàm đệ quy 1 - Lời giải p1
8 Bài tập Hàm đệ quy 1 - Lời giải p2 p3 p4 p5 p6 p7 p8
9 Bài tập Hàm đệ quy 2 - 9 Thử thách Trung bình đến Khó
10 Bài tập Hàm đệ quy 2 - Lời giải p9
11 Bài tập Hàm đệ quy 2 - Lời giải p10 p11 p12
12 Bài tập Hàm đệ quy 2 - Lời giải p13
13 Bài tập Hàm đệ quy 2 - Lời giải p14
14 Bài tập Hàm đệ quy 2 - Lời giải p15
15 Bài tập Hàm đệ quy 2 - Lời giải p16
16 Bài tập Hàm đệ quy 2 - Lời giải p17
1 Mô tả
2 Lời giải
1 Cấu trúc 1
2 Cấu trúc 2
3 Khởi tạo đồng nhất
4 Thực hành Cấu trúc
1 Mô tả
2 Demo
3 Dự án 2 - Lời giải
1 Template Hàm
2 Template Lớp
1 Giới thiệu STL
2 Queue
3 Priority Queue
4 Deque
5 Stack
6 Thực hành STL 1
7 Pair
8 Tuple
9 Iterator
10 STL với vòng lặp dựa trên phạm vi (Range-based for loop)
11 Vector 1
12 Vector 2
13 String
14 Thực hành STL 2
15 Thuật toán (Algorithms)
16 Set
17 Unordered Set
18 Map 1
19 Map 2
20 Thực hành STL 3
21 Thực hành STL 4
22 Thực hành STL 5
23 Thực hành STL 6
24 Thực hành STL 7
25 Ghi chú
26 Bài tập về nhà STL 1 - 6 thử thách mức trung bình
27 Lời giải bài tập về nhà STL 1 phần 1 phần 2 phần 3
28 Lời giải bài tập về nhà STL 1 phần 4
29 Bài tập về nhà STL 2 - 3 thử thách khó
30 Lời giải bài tập về nhà STL 2 - phần 9 (từ khóa học phỏng vấn của tôi)
31 Structured Binding
1 Tệp và luồng 1
2 Demo sử dụng Eclipse - Đọc luồng từ tệp
3 Demo sử dụng Codeblocks - Đọc luồng từ tệp
4 Tệp và luồng 2
5 String Stream
1 Mô tả
2 Demo
3 Lời giải - Bức tranh tổng thể
4 Chi tiết 1
5 Chi tiết 2
1 Tham chiếu (Reference)
2 Con trỏ 1
3 Con trỏ 2
4 Con trỏ và mảng (Pointers and Arrays)
5 Con trỏ và Const
6 Con trỏ và hàm (Pointers and Functions)
7 Cấp phát bộ nhớ động (Dynamic Memory Allocation)
8 Con trỏ và Struct
9 Cấp phát bộ nhớ Stack và Heap
10 Xử lý con trỏ
1 Header và Include
2 Tách giao diện khỏi cài đặt
3 Demo sử dụng Eclipse - Tạo Header
4 Demo sử dụng Codeblocks - Tạo Header
5 Tách với Struct
6 Khai báo trước (Forward Declaration)
7 Preprocessor và Linker
8 Namespace 1
9 Namespace 2
1 Xử lý ngoại lệ
2 Xử lý nhiều ngoại lệ
3 Stack Unwinding
4 Bộ xác định noexcept (noexcept Specifier)
5 Lỗi thường gặp khi xử lý ngoại lệ
1 Phạm vi bit (Bits Range)
2 Biến có dấu và không dấu (Signed and Unsigned Variables)
3 Ký hiệu khoa học (Scientific Notation)
4 Lỗi làm tròn (Rounding errors)
5 Số dấu phẩy động (Floating point numbers)
6 Chuyển đổi kiểu (Type Conversion)
7 Stream Manipulators
8 Kiểm tra đầu vào (Input Validations)
9 Thêm về Tệp và Luồng
10 Switch, Do-while, Inline functions, Enum, Locality of reference
1 Quá trình biên dịch 1
2 Quá trình biên dịch 2
3 Sử dụng dòng lệnh (Using Command Line)
4 Đối số dòng lệnh (Command line arguments)
1 Trình gỡ lỗi
2 Gỡ lỗi với Eclipse IDE 1
3 Gỡ lỗi với Eclipse IDE 2 - Hàm đệ quy
4 Gỡ lỗi với Codelocks IDE 1
5 Gỡ lỗi với Codelocks IDE 2 - Hàm đệ quy
1 Đối tượng (Objects)
2 Kim tự tháp hướng đối tượng
3 Bài tập về nhà Kim tự tháp hướng đối tượng
4 Ẩn dữ liệu (Data-Hiding)
5 Trừu tượng hóa 1 (Abstraction 1)
6 Trừu tượng hóa 2
7 Demo sử dụng Eclipse - Tạo Class
8 Demo sử dụng Codeblocks - Tạo Class
9 Bài tập về nhà về Trừu tượng hóa
1 Constructor & Destructor của Lớp
2 Bài tập về nhà Constructor & Destructor của Lớp
3 Copy Constructor của Lớp
4 Bài tập về nhà Copy Constructor của Lớp
5 Lớp với danh sách khởi tạo (initializer list)
6 Hàm mặc định (Defaulted Functions)
7 Hàm bị xóa (Deleted Functions)
8 Const với Lớp
9 Static với Lớp
10 Lớp bạn (Friend Class)
11 Bài tập về nhà 1 về Const, Static & Friend của Lớp
12 Bài tập về nhà 2 về Const, Static & Friend của Lớp
1 Sơ đồ lớp trong UML
2 Mối quan hệ giữa các lớp (Classes Relationship)
3 Mối quan hệ Composition
4 Mối quan hệ Aggregation
5 Mối quan hệ Generalization (Kế thừa)
6 Đa bội (Multiplicity)
7 Mối quan hệ & Đa bội
8 UML trong thực tế
9 Cải thiện kỹ năng thiết kế
10 Vòng đời phát triển phần mềm (Software Development Life Cycle)
1 OOP Phần 1 Tổng kết 1
2 OOP Phần 1 Tổng kết 2
3 Dự án OOP trong thực tế
1 Hướng đối tượng hóa dự án cũ
1 Mô tả
2 Tổng quan về lời giải
1 Kế thừa 1
2 Kế thừa 2
3 Bài tập về nhà Kế thừa 1
4 Bài tập về nhà Kế thừa 2
5 Kế thừa 3
6 Kế thừa với Ngoại lệ
7 Kế thừa trong thực tế
8 Bài tập về nhà Kế thừa 3
9 Bài tập về nhà Kế thừa 4
1 Đa hình 1
2 Đa hình 2
3 Đa hình 3
4 Thực hành Đa hình 1
5 Mẹo về Đa hình
6 Bài tập về nhà Đa hình 1
7 Đa hình và Lớp trừu tượng (Abstract Classes)
8 Thực hành Đa hình 2
9 Downcasting trong Đa hình
10 Bảng ảo trong Đa hình (Virtual Table)
11 Đa hình cho API và Framework
12 Đa hình và Composition thay vì Kế thừa
13 Bài tập về nhà Đa hình 2
1 Nạp chồng toán tử nhị phân 1
2 Nạp chồng toán tử nhị phân 2
3 Nạp chồng toán tử một ngôi (Unary Operator)
4 Nạp chồng toán tử chỉ mục (Subscript Operator)
5 Nạp chồng toán tử quan hệ (Relational Operator)
6 Bài tập về nhà Nạp chồng toán tử 1
7 Bài tập về nhà Nạp chồng toán tử 2
8 Nạp chồng toán tử tiền tố và hậu tố (Prefix and Postfix)
9 Nạp chồng toán tử nhập-xuất (Input-Output)
10 Chuyển đổi trong Nạp chồng toán tử
11 Nạp chồng toán tử gán (Assignment Operator)
12 Bài tập về nhà Nạp chồng toán tử 3
1 OOP Phần 2 Tổng kết 1
2 OOP Phần 2 Tổng kết 2
3 OOP Phần 2 Tổng kết 3
4 OOP Phần 2 Tổng kết 4
5 OOP Phần 2 Tổng kết 5
1 Mô tả
1 Lưu ý quan trọng
2 Variadic Template
3 Fold Expression 1
4 Fold Expression 2
1 Tăng tốc hiệu năng
2 Phân loại giá trị (Value Category)
3 Lvalue và Prvalue 1
4 Lvalue và Prvalue 2
5 Lvalue và Prvalue 3
6 Tham chiếu Rvalue (Rvalue Reference)
7 Move Semantics
8 std::Move 1
9 std::Move 2
10 Kỹ thuật Delegation và Swap
11 Xvalue
12 Perfect Forwarding 1
13 Perfect Forwarding 2
14 Copy Elision
1 Biểu thức Lambda (Lambda Expressions)
2 Mệnh đề Capture (Capture Clause)
3 Biểu thức Lambda tổng quát hóa (Generalized Lambda)
4 Lambda với Fold Expression
1 Ác mộng: Con trỏ thô (Raw Pointers)
2 Con trỏ duy nhất 1
3 Con trỏ duy nhất 2
4 Con trỏ duy nhất 3
5 Con trỏ chia sẻ
6 Con trỏ yếu
7 Trình hủy tùy chỉnh cho shared pointer
8 Trình hủy tùy chỉnh cho unique pointer
1 Các thuật toán any_of, none_of, copy_n, iota
2 Các thuật toán max_element, find_if, replace_if, search_n, for_each
3 Các thuật toán accumulate, inner_product, adjacent_difference, next_permutation
4 Các thuật toán dựa trên container có thứ tự
5 Array
6 List và Forward list
7 Valarray
8 Bộ điều hợp container
9 Stream iterator
10 Tìm hiểu thêm về iterator
11 Bức tranh tổng thể về STL
1 Optional 1
2 Optional 2
3 Optional với in-place
4 Variant
5 Variant thay cho hàm ảo
6 Any
7 So sánh Optional, Variant và Any
1 Mảng con trỏ
2 Con trỏ đến con trỏ
3 Con trỏ void
4 Con trỏ hàm
1 Bài giảng thưởng

Giới thiệu khóa học

Almost all other courses focus on knowledge. In this course, we focus on 4 critical skills.

 

Overall:

  • The course covers basic to advanced modern C++ syntax. Beginners in C++ will learn a lot!

  • The course helps you master the 4 most important skills for a programmer

    • Programming skills

    • Problem-solving skills: rarely covered by other courses

    • Project building skills: partially covered by other courses

    • Design skills: rarely covered by other courses

  • 7+ times practice & homework compare to other courses + 6 projects

  • Special Teaching style: iterative, easy, and short

  • This is an English Course only.  1/3 Course now has Manual English subtitles. Remaining under-progress.


Content

  • Basic to advanced modern C++.

    • Fundamentals: Variables, Loops, Control Flow, Functions, Recursive Functions, Arrays

    • Advanced Topics: Pointers, STL, Templates, Headers, and Includes, Exception Handling, Compilation Process, Debugging

    • Object-Oriented Programming (OOP): Classes, Objects, Inheritance, Polymorphism, Operator Overloading

    • Modern Topics in C++11/C++14/C++17:

      • Move Semantics, Perfect Forwarding, Variadic Template, Folding expressions, Smart Pointers, Lambda Expressions, Wrappers (Optional, Variant, Any), Uniform initialization, noexcept, Structured Binding, Nested namespaces, misc.

      • OOP: Member initializer, Defaulted and Deleted Functions, Delegating constructors, Inheriting Constructors

      • STL: Forward list, Initializer list, Array, Unordered containers

    • Design: Several principles and patterns are embedded in the homework & projects

  • A huge set of Quizzes, Practice, Homework, and Projects

    • 2 styles of homework: Algorithmic (problem-solving) and applications

    • Several software design concerns are embedded in the homework.

    • So you are getting introduced to Software Engineering & Design Patterns

    • Several quizzes to master the concepts

  • Clarification: The core intentions of this course to provide very strong introduction to C++. Specifically up to the 6th project. After the last project, the course introduces some further modern C++ syntax (no quizzes/homework in this part). If you are new to C++, there is no course that competes with this one. But, if you are expert or target working with C++ in the market, you will need to good deeper after this course. A useful reference is "C++17 - The Complete Guide" book. Not that, this course provides some C++17 coverage but not all of it. However, the course provides pretty good coverage for C++11/14. Please consider the table of content if you are not new to C++ to satisfy your expectations.


Building Skills: Practice, Homework, and Projects

  • One unique feature in this course is my education strategy:

    • Explain, Administrate & Challenge

  • Each video smoothly explains a simple concept(s)

  • Typically followed by easy to medium practice to administrate the concept

  • Then typically followed by an easy-medium-hard set of homework questions to challenge you

  • Extensive homework from easy to medium to hard to help to build the skills.

  • Most of the practice/homework questions are unique in this course

    • Programming questions are mainly from my competitive programming experience

    • OOP questions are mostly invented to achieve several goals:

      • Mastering the OOP concepts

      • Enforcing a lot of design heuristics & OOD

      • Preparing you for design principles and patterns

  • Small-to-large set of projects to build up project building and design skills

  • Solutions to all of them.


By the end of the journey

  • Solid understanding of programming concepts using C++

  • Mastering the target 4 skills

  • With the administered problem-solving skills

    • You can start competitive programming smoothly in Div2-A/B Codeforces

    • Smooth start in Data Structure course

    • Smooth start in Algorithms course

  • With the administered project-building and design skills

    • Smooth start in Software Engineering course

    • Later, smooth start in one of the technology tracks in frontend or backend

  • More career options such as games or embedded development.

Don't miss such a unique learning experience!!

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Cpp
Hiển thị tất cả khoá học Data Structures
Hiển thị tất cả khoá học Object Oriented Programming
Hiển thị tất cả khoá học Programming
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊