Bỏ qua điều hướng, tới nội dung chính
Học C

Khóa học lập trình C bằng tiếng Việt

Từ nguyên lý máy tính đến kỹ thuật nâng cao

Khóa học lập trình C tiếng Việt, đi từ cách máy tính chạy một chương trình cho tới hệ thống, mạng và lập trình nhúng. Mỗi bài đều có mã nguồn chạy được, sơ đồ minh họa và bài tập tự làm.

Phần
22
Chương
60
Bài đã có
346
Phút nội dung
8116

Khóa học này khác gì

Bắt đầu từ nguyên lý

Không dạy cú pháp trước. Bạn hiểu chương trình nằm ở đâu và chạy ra sao, rồi mới học viết.

Mọi bài đều chạy được

Không có lý thuyết suông. Mỗi khái niệm đi kèm mã nguồn và lệnh terminal để tự kiểm chứng.

Dạy cả cạm bẫy

Tràn bộ đệm, con trỏ treo, hành vi không xác định. Những thứ khiến C khó dùng đúng.

Tới tận hệ thống và nhúng

Lộ trình đi từ Hello World cho tới lập trình Linux, mạng, vi điều khiển và mini RTOS.

Nội dung đã sẵn sàng

Toàn bộ lộ trình

Phần 0

Làm quen với lập trình và ngôn ngữ C

Hiểu C là gì, cài được môi trường, biết chương trình biến thành file chạy như thế nào, và viết được chương trình đầu tiên.

Phần 1

Cơ sở ngôn ngữ

Nắm cú pháp cơ bản, kiểu dữ liệu, nhập xuất, toán tử và rẽ nhánh.

Phần 2

Vòng lặp và tư duy thuật toán

Thành thạo ba loại vòng lặp và biết cách nghĩ ra thuật toán trước khi viết code.

Phần 3

Hàm

Chia chương trình thành hàm, hiểu khung ngăn xếp, nắm đệ quy.

Phần 4

Array và String

Thành thạo mảng một và hai chiều, hiểu chuỗi C là mảng ký tự kết thúc bằng ký tự null.

Phần 5

Pointer

Bước chuyển quan trọng nhất của C. Hiểu bộ nhớ, địa chỉ, con trỏ và con trỏ hàm.

Phần 6

Memory Management

Hiểu bản đồ bộ nhớ tiến trình, dùng đúng malloc và free, nhận diện bốn loại lỗi bộ nhớ.

Phần 7

Struct / Union / Enum

Gom dữ liệu thành kiểu mới, hiểu padding và alignment.

Phần 8

File và dữ liệu

Đọc ghi file văn bản và nhị phân, làm được ứng dụng có dữ liệu bền vững.

Phần 9

Preprocessor và tổ chức project

Hết viết tất cả trong một file. Chia dự án nhiều file và dùng preprocessor đúng cách.

Phần 10

Data Structures

Tự cài các cấu trúc dữ liệu nền tảng bằng con trỏ và cấp phát động.

Phần 11

Algorithms

Cài và phân tích các thuật toán nền tảng, biết chọn đúng thuật toán.

Phần 12

C nâng cao

Con trỏ hàm ở tầng thiết kế, lập trình tổng quát, thao tác bit và các từ khóa quyết định.

Phần 13

Undefined Behavior và C chuyên sâu

Phân biệt lập trình viên C nghiệp dư với chuyên nghiệp.

Phần 14

Build System

Tự động hóa build, phân biệt debug và release, tích hợp kiểm thử.

Phần 15

Static Library / Dynamic Library

Đóng gói mã thành thư viện dùng lại được, hiểu liên kết và ABI.

Phần 16

Linux System Programming

Nói chuyện trực tiếp với hệ điều hành.

Phần 17

Network Programming bằng C

Viết được server và client TCP, UDP, hiểu socket API.

Phần 18

Embedded C

Nhánh chuyên sâu cho STM32, ESP32 và các vi điều khiển.

Phần 19

C nâng cao nhất

Đọc được chuẩn C, hiểu mô hình bộ nhớ ở tầng chuẩn, làm chủ preprocessor và lập trình tổng quát.

Phần 20

Software Engineering với C

Viết mã người khác đọc được, kiểm thử được, phân tích được và an toàn.

Phần 21

Project tổng kết

Tám dự án theo cấp độ tăng dần, từ máy tính bỏ túi đến mini RTOS.

Phần bài tập và trình chấm điểm tự động sẽ được bổ sung ở giai đoạn sau.