Từ đề bài tới thuật toán
Nút thắt nặng nhất của người mới: đọc một đề bằng tiếng Việt rồi không biết bắt đầu từ đâu. Module dạy quy trình có thể lặp lại — bóc đề thành input, output, ràng buộc; giải tay vài ca cụ thể để tìm quy luật; ghi lời giải bằng lưu đồ có cấu trúc; phân rã tới mức mỗi bước gõ được ngay; đặt tên cho nhóm bước xứng đáng thành hàm; và soi các ca biên trước khi chạy. Quy ước xuyên khoá: mỗi mini challenge mở đầu bằng một câu bình thường-hoá việc làm sai — framing chống bỏ cuộc phải rải đều, không dồn vào M4.
Nội dung
Danh sách bài học
- 01~6 phút
Tổng quan module — từ đề bài tới thuật toán
Bạn đã đọc được code người khác viết. Module này lấp khoảng trống ngược lại: cầm một đề tiếng Việt và biết bắt đầu từ đâu.
- 02~13 phút
Đọc đề — vào cái gì, ra cái gì, ràng buộc gì
Đề bài lẫn dữ kiện với yêu cầu. Bước đầu không phải nghĩ cách giải, mà là bóc nó thành ba ô: vào cái gì, ra cái gì, ràng buộc gì.
- 03~13 phút
Làm tay trước khi làm máy — giải ba ca rồi mới rút quy luật
Người mới mở trình soạn thảo rồi ngồi nhìn màn hình trắng. Người có nghề làm ngược: giải vài ca bằng giấy bút cho quy luật tự lộ ra.
- 04~13 phút
Lưu đồ có cấu trúc — ký hiệu, cách đọc, và chỗ nó bất lực
Một ký pháp ghi lời giải không phụ thuộc ngôn ngữ nào, chỉ gồm bốn ký hiệu. Nhưng nó không vẽ được mọi thứ — biết trước hai chỗ nó bất lực.
- 05~13 phút
Phân rã — chia tới khi mỗi bước gõ được ngay
Ô xử lý ở giữa vẫn là một câu tiếng Việt to đùng. Phân rã là chia nó xuống, với đúng một tiêu chí dừng: bước đó gõ được ngay hay chưa.
- 06~13 phút
Hàm — đặt tên cho một nhóm bước, nhận vào gì trả ra gì
Hàm không phải cú pháp mới phải nhớ, nó là hiện thân của việc phân rã bạn vừa làm: một nhóm bước xứng đáng có tên, nhận vào cái gì và trả ra cái gì.
- 07~13 phút
Ca biên — rỗng, một phần tử, số 0, số âm, trùng
Lời giải chạy đúng với ca thường rồi gãy với danh sách rỗng. Năm ca biên này gây phần lớn lỗi của người mới, và cả năm đều soi ra được trước khi chạy dòng nào.
- 08~12 phút
Mini challenge — từ đề tới lưu đồ hoàn chỉnh
Một đề chưa gặp, không giảng gì trước. Bóc ba ô, giải tay ba ca, phân rã, vẽ lưu đồ, soi ca biên — rồi mới mở lời giải mẫu ra đối chiếu.
- 09~9 phút
Tổng kết module — bạn đã có một quy trình lặp lại được
Bóc đề, giải tay, vẽ lưu đồ, phân rã, đặt tên hàm, soi ca biên. Nhìn lại bảy bài, và tự chấm trước khi sang module cuối: chuyện gì xảy ra khi code sai.