Lộ trình 8 cấp độ
Khoảng 28 tuần nếu học đều 10 tới 12 giờ mỗi tuần. Hai nút thắt lớn nhất là Level 3 (con trỏ) và Level 6 (hành vi không xác định). Nên dành gấp đôi thời gian cho hai chặng đó.
Cú pháp và nhập xuất
2 tuầnViết được chương trình C đơn giản
Điều khiển, hàm, mảng
3 tuầnGiải được bài toán thuật toán cơ bản
Bộ nhớ, struct, file
3 tuầnViết được ứng dụng thực tế
- Phần 6. Memory Management
- Phần 7. Struct / Union / Enum
- Phần 8. File và dữ liệu
- Phần 9. Preprocessor và tổ chức project
Cấu trúc dữ liệu và giải thuật
4 tuầnTự cài được các cấu trúc nền tảng
- Phần 10. Data Structures
- Phần 11. Algorithms
C nâng cao
4 tuầnHiểu sâu trình biên dịch và bộ nhớ
- Phần 12. C nâng cao
- Phần 13. Undefined Behavior và C chuyên sâu
- Phần 14. Build System
- Phần 15. Static và Dynamic Library
- Phần 19. C nâng cao nhất
Hệ thống, mạng, nhúng
5 tuầnLập trình ở tầng hệ điều hành và phần cứng
- Phần 16. Linux System Programming
- Phần 17. Network Programming
- Phần 18. Embedded C
Kỹ nghệ phần mềm và dự án
4 tuầnLàm ra sản phẩm hoàn chỉnh
- Phần 20. Software Engineering với C
- Phần 21. Project tổng kết
Nguyên tắc thiết kế khóa học
Không dạy hết lý thuyết rồi mới làm dự án. Mỗi chương đi theo chu trình lý thuyết, ví dụ chạy được, chạy tay từng bước, bài tập nhỏ, bài tập thuật toán, gỡ lỗi, rồi tới dự án nhỏ. Riêng con trỏ được dạy theo thứ tự bộ nhớ, địa chỉ, con trỏ, giải tham chiếu, con trỏ với mảng, với hàm, với struct, rồi mới tới cấp phát động, để người học hiểu vì sao con trỏ tồn tại thay vì học thuộc ký hiệu.