Python cơ bản theo hướng học qua làm — từ zero đến một chương trình có thể kiểm chứng.
Learning loop: Learn → Build → Test → Debug → Improve → Commit → Prove
Featured spiral project: VuaCóc Bot Journey 🏆 · Tham khảo game gốc
CocAgent Python Learning Path
────────────────────────────────────────────────────────────
① python-journey Python nền tảng · 15 tuần ← BẠN ĐANG Ở ĐÂY
② python-mastery Python chuyên sâu
③ dsa-python-course Cấu trúc dữ liệu & thuật toán
④ data-python-course Phân tích dữ liệu
────────────────────────────────────────────────────────────
Đầu vào: không yêu cầu kinh nghiệm lập trình
Mục tiêu cuối khóa: người học không chỉ “biết cú pháp Python”, mà có thể viết một chương trình nhỏ đúng, rõ ràng, có kiểm thử, biết debug và giải thích được vì sao giải pháp hoạt động.
Python Journey không đi theo mô hình “đọc hết cú pháp rồi mới làm project”.
Mỗi chủ đề được học qua một vòng ngắn:
Vấn đề → Khái niệm → Ví dụ nhỏ → Tự làm → Test → Debug → Cải tiến → Giải thích
Ba nguyên tắc:
- Học qua làm — khái niệm phải được dùng ngay trong bài tập hoặc mini-project.
- Đúng phải có bằng chứng — từ sớm người học làm quen với self-check và test, không chỉ nhìn output rồi đoán là đúng.
- Đơn giản nhưng đáng tin cậy — không nhồi kỹ thuật chỉ để trông “nâng cao”.
| Phù hợp ✅ | Chưa phù hợp ⏭️ |
|---|---|
| Chưa từng lập trình | Đã thành thạo Python và cần nội dung chuyên sâu |
| Học sinh, sinh viên bắt đầu | Chỉ cần tra cứu nhanh một API cụ thể |
| Biết ngôn ngữ khác, muốn học Python bài bản | Muốn đi thẳng vào framework/AI mà bỏ qua nền tảng |
| Người muốn có workflow GitHub ngay từ đầu | — |
Thời lượng đề nghị: 7–10 giờ/tuần.
Sau khóa học, người học có thể:
- viết chương trình Python rõ ràng với biến, điều kiện, vòng lặp và hàm;
- sử dụng
list,tuple,dict,setphù hợp với dữ liệu; - xử lý chuỗi và biết khi nào regex hữu ích;
- đọc/ghi dữ liệu với file, CSV, JSON và
pathlib; - đọc traceback, xử lý exception và debug có phương pháp;
- viết test cơ bản bằng
pytest, bao gồm edge cases; - tổ chức code thành module và hiểu dependency/project structure ở mức nhập môn;
- gọi một HTTP API đơn giản, đọc status code và xử lý JSON response;
- hiểu type hints như contract hỗ trợ người đọc và tooling;
- dùng class khi OOP thực sự làm mô hình rõ hơn; hiểu composition và inheritance cơ bản;
- dùng Git/GitHub để lưu lịch sử phát triển;
- hoàn thành capstone có code, tests, README và bằng chứng chạy được;
- sẵn sàng bước sang Python Mastery, DSA with Python hoặc Data Python.
| Tuần | Chủ đề chính | Sản phẩm / trọng tâm |
|---|---|---|
| 01 | Environment · REPL · Terminal · Git/GitHub · Hello Python | Chạy chương trình đầu tiên, commit đầu tiên |
| 02 | Variables · Types · Input/Output | Chương trình nhập/xử lý dữ liệu đơn giản |
| 03 | Conditionals · Boolean · Input validation | Ra quyết định và bảo vệ input |
| Tuần | Chủ đề chính | Sản phẩm / trọng tâm |
|---|---|---|
| 04 | Strings · Text processing · Regex mini-lab | Text Analyzer |
| 05 | Lists · Tuples · Mutability · Unpacking | Quản lý dữ liệu tuần tự |
| 06 | Loops · enumerate · zip · comprehensions |
Lặp có chủ đích, tránh index thừa |
| 07 | Functions · Decomposition · Scope · Type hints | Utility Toolkit có contract rõ |
| 08 | Dict · Set · Nested data · Data modeling | Word/Data Counter |
Tổng hợp W01–W08 thành một chương trình console có cấu trúc. Trọng tâm là phân rã vấn đề, dữ liệu, hàm, Git history và khả năng giải thích code.
Xây dựng một chương trình Python hoàn chỉnh có:
- vấn đề và phạm vi rõ ràng;
- ít nhất 4 chức năng có ý nghĩa;
- code được phân rã hợp lý;
- xử lý lỗi và edge cases;
- tests có ý nghĩa;
- README và hướng dẫn chạy;
- Git history rõ ràng;
- khả năng demo và giải thích quyết định thiết kế.
Yêu cầu chính thức nằm tại FINAL_PROJECT.md.
Python Journey trả lời:
Can I program reliably in Python?
Python Mastery trả lời:
Can I engineer good Python software?
Các nội dung sau để dành cho Python Mastery hoặc khóa chuyên sâu:
- advanced decorators;
- iterators/generators chuyên sâu;
- advanced typing và protocols;
- descriptors/metaclasses;
- advanced testing/mocking;
- concurrency/asyncio;
- design patterns và architecture;
- profiling/performance;
- packaging/publishing chuyên sâu.
python-journey/
├── README.md
├── SYLLABUS.md
├── SETUP.md
├── STYLE_GUIDE.md
├── PROGRESS.md
├── FINAL_PROJECT.md
├── weeks/
│ ├── week-01-hello-python/
│ ├── ...
│ └── week-15-capstone-project/
├── projects/
│ └── vuacoc-bot-journey/
├── scripts/
├── tests/
├── templates/
├── cheatsheets/
└── assets/
Mỗi tuần V2 đi theo learning pattern:
README → notes/examples → exercises → self-check/tests → challenge → mini-project
def calculate_average(scores: list[float]) -> float:
"""Trả về điểm trung bình; trả 0.0 nếu danh sách rỗng."""
if not scores:
return 0.0
return sum(scores) / len(scores)Người học được khuyến khích:
- đặt tên rõ nghĩa;
- giữ hàm có trách nhiệm rõ ràng;
- tránh bare
except:; - dùng
withkhi làm việc với file; - comment để giải thích tại sao, không lặp lại điều code đã nói;
- viết test cho hành vi quan trọng.
git clone https://github.com/CocAgent/python-journey.git
cd python-journeySau đó mở SETUP.md và làm theo hướng dẫn cho hệ điều hành của
bạn. Nếu muốn đọc file ngay trong terminal:
# Windows PowerShell
Get-Content SETUP.md# macOS/Linux
cat SETUP.mdTuần học đầu tiên nằm tại:
weeks/week-01-hello-python/
SYLLABUS.md— nguồn chân lý curriculum 15 tuần.PROGRESS.md— checklist tiến trình.SETUP.md— cài đặt môi trường.STYLE_GUIDE.md— quy tắc viết code.FINAL_PROJECT.md— yêu cầu capstone chính thức.
Learn it. Build it. Test it. Understand it. Improve it.

