Lập trình rèn cho trẻ cách giải quyết vấn đề có hệ thống: hiểu đề, chia nhỏ, lập kế hoạch, gỡ lỗi
- 1. Vì sao lập trình rèn cách giải quyết vấn đề có hệ thống
- 2. Bốn bước giải quyết vấn đề, áp vào lập trình
- 3. Chia nhỏ một nhiệm vụ lớn
- 4. Lập kế hoạch trước khi làm: các nghiên cứu nói gì
- 5. Gỡ lỗi có phương pháp
- 6. Bắc cầu sang việc học và việc nhà
- 7. Hoạt động 20 phút tại nhà
- 8. Nguồn tham khảo
- 9. Xem thêm
Vì sao học lập trình rèn cho trẻ cách giải quyết vấn đề có hệ thống: bốn bước của Pólya, chia nhỏ, lập kế hoạch, gỡ lỗi từng bước, nghiên cứu liên quan và hoạt động tại nhà.
Gặp một bài toán khó, nhiều trẻ chọn cách thử bừa: đoán một đáp án, sai thì đoán cái khác. Giải quyết vấn đề có hệ thống là làm ngược lại: hiểu rõ đề, chia nhỏ, lập kế hoạch, làm từng bước, kiểm tra và sửa đúng chỗ sai. Đây là kỹ năng dùng được cả đời, từ làm toán, học ngoại ngữ tới sửa một món đồ hỏng.
Lập trình là môi trường đặc biệt tốt để rèn kỹ năng này. Bài viết giải thích vì sao, dẫn các nghiên cứu liên quan, minh họa từng bước bằng trò chơi robot trên bảng ô vuông và gợi ý cách "bắc cầu" để thói quen này theo trẻ sang việc học khác.
1. Vì sao lập trình rèn cách giải quyết vấn đề có hệ thống
- Máy làm đúng từng chữ được viết. Không có "chắc ý con là vậy": muốn robot rẽ phải thì phải có lệnh quay phải. Trẻ buộc phải nghĩ rõ ràng và đủ bước.
- Phản hồi ngay và trung thực. Chạy chương trình là biết đúng hay sai sau vài giây, không cần chờ người chấm.
- Kế hoạch được viết ra. Chương trình là kế hoạch nằm trên giấy hay màn hình, nên có thể nhìn lại, chỉ vào từng bước và hỏi "bước này làm gì?".
- Lỗi luôn tìm được nguyên nhân. Máy không "xui", nên mỗi lỗi là một câu đố có lời giải, không phải lý do để nản.
2. Bốn bước giải quyết vấn đề, áp vào lập trình

Nhà toán học George Pólya, trong cuốn How to Solve It (1945), mô tả bốn bước giải một bài toán: hiểu vấn đề, lập kế hoạch, thực hiện kế hoạch, nhìn lại. Khi lập trình, bốn bước này hiện ra rất cụ thể. Trẻ phải xác định robot đang ở đâu và quay hướng nào, xếp thẻ lệnh trước khi chạy, theo dõi robot đi từng ô, rồi kiểm tra kết quả và tìm cách viết gọn hơn.
Điểm khác của lập trình là bước "nhìn lại" không thể bỏ qua: chương trình sai thì robot không tới đích, trẻ thấy ngay và phải quay lại tìm nguyên nhân.
3. Chia nhỏ một nhiệm vụ lớn

"Nhặt cả 3 ngôi sao" là nhiệm vụ khó với trẻ 6–7 tuổi nếu nghĩ một lần cho cả 15 thẻ lệnh. Chia thành ba phần, mỗi phần có một đích riêng, thì mỗi phần chỉ còn 4–6 thẻ. Thói quen cần rèn là kiểm tra xong phần này mới làm phần sau: robot đã tới C3 và nhặt sao chưa, đang quay hướng nào?
Câu hỏi gợi ý cho người lớn: "Con chia việc này thành mấy phần? Phần đầu tiên xong khi nào?". Cách chia này cũng là cách làm một bài toán có lời văn nhiều bước hay một dự án học tập dài.
4. Lập kế hoạch trước khi làm: các nghiên cứu nói gì
- Lập kế hoạch: Barbara Arfé và cộng sự (2019) cho 76 học sinh lớp 1 học 8 buổi lập trình khối lệnh. Nhóm này làm tốt hơn hẳn nhóm chưa học ở hai bài đo khả năng lập kế hoạch: tìm đường trên mạng lưới và xếp lại các vòng màu theo mẫu với số bước ít nhất.
- Suy nghĩ kỹ trước khi trả lời: Douglas Clements và Dominic Gullo (1984) thấy trẻ 6 tuổi học Logo 12 tuần bớt trả lời vội, cân nhắc kỹ hơn so với nhóm dùng phần mềm bài tập.
- Sắp xếp theo trình tự: Elizabeth Kazakoff, Amanda Sullivan và Marina Bers (2013) ghi nhận trẻ mẫu giáo sắp xếp tranh theo trình tự câu chuyện tốt hơn sau một tuần lập trình robot.
- Tổng hợp các nghiên cứu thực nghiệm của Chiara Montuori và cộng sự (2024) cũng cho thấy tác động rõ nhất của học lập trình là ở giải quyết vấn đề và lập kế hoạch.
Cách tập ở nhà: yêu cầu trẻ xếp đủ thẻ rồi mới chạy và nói trước robot sẽ dừng ở ô nào. Chạy từng thẻ một ngay từ đầu cũng được với trẻ nhỏ, nhưng dần dần nên tăng số thẻ phải nghĩ trước.
5. Gỡ lỗi có phương pháp

Khi robot không tới đích, phản xạ thường gặp là xóa hết làm lại hoặc sửa ngẫu nhiên vài thẻ. Cách có hệ thống là dò từng thẻ: với mỗi thẻ, ghi robot đáng lẽ ở đâu và thật sự ở đâu. Chỗ đầu tiên hai cột khác nhau chính là nơi có lỗi. Trong ví dụ, từ thẻ 7 robot quay sang trái thay vì sang phải, nên tới thẻ 8 thì đâm vào tường ở ô B3. Chỉ cần sửa đúng một thẻ.

Vòng dự đoán, chạy, so sánh, sửa giống cách làm thí nghiệm trong khoa học: đặt giả thuyết, thử, đối chiếu với kết quả, điều chỉnh. Quy tắc "mỗi lần chỉ sửa một chỗ" giúp trẻ biết chính xác thay đổi nào có tác dụng.
Gỡ lỗi không tự nhiên mà có. Sharon Carver và David Klahr quan sát trẻ 7–9 tuổi học Logo khoảng 24 giờ: trẻ biết sửa lệnh nhưng chưa biết dựa vào manh mối để tìm ra lỗi nằm ở đâu. Vì vậy, chương trình học Logo các tác giả xây dựng sau đó dạy gỡ lỗi thành một quy trình riêng. Người lớn nên dạy rõ các bước trên thay vì chờ trẻ tự nghĩ ra.
6. Bắc cầu sang việc học và việc nhà
Kỹ năng không tự chuyển sang môn khác nếu không ai chỉ ra điểm giống nhau. Sau mỗi buổi lập trình, dành vài phút hỏi trẻ dùng cùng cách nghĩ cho việc khác:
| Bước | Khi lập trình | Khi làm toán | Khi làm việc nhà |
|---|---|---|---|
| Hiểu vấn đề | Robot ở đâu, cần tới đâu? | Đề cho gì, hỏi gì? | Xong việc thì trông thế nào? |
| Chia nhỏ | Chia thành mấy phần? | Cần mấy phép tính? | Dọn bàn học gồm những việc nào? |
| Lập kế hoạch | Xếp thẻ trước khi chạy | Viết các bước ra nháp | Việc nào làm trước? |
| Kiểm tra | Robot có tới đúng ô? | Thử lại đáp số vào đề | Còn sót gì không? |
| Gỡ lỗi | Thẻ nào làm robot đi lệch? | Sai từ phép tính nào? | Vì sao lần trước bị quên? |
7. Hoạt động 20 phút tại nhà
- 4–6 tuổi: người lớn đóng vai robot, trẻ đưa thẻ lệnh "tiến, quay trái, quay phải" để dẫn tới một món đồ chơi. Mỗi lần chỉ 3–5 thẻ, cho trẻ nói trước "robot sẽ tới đâu".
- 7–9 tuổi: vẽ bảng ô vuông lên giấy như hình ở mục 3, đặt 2–3 ngôi sao. Trẻ chia nhiệm vụ thành phần, xếp thẻ cho từng phần, rồi dò từng thẻ khi robot đi sai.
- 10 tuổi trở lên: chơi "tìm lỗi giúp bạn": một người cố ý cài một lỗi vào chương trình (trên giấy, trong Scratch hoặc trên mạch ESP32), người kia dùng bảng dò từng bước để tìm.
Những điều nên tránh: sửa hộ, chỉ ngay chỗ sai, chấm chỉ theo việc chạy được hay không. Hãy hỏi "con đã thử những gì?", "chỗ nào khác với con đoán?" và khen cách trẻ tìm ra lỗi.
8. Nguồn tham khảo
- Pólya, G. (1945). How to Solve It. Princeton University Press.
- Arfé, B., Vardanega, T., Montuori, C., & Lavanga, M. (2019). Coding in primary grades boosts children's executive functions. Frontiers in Psychology, 10, 2713.
- Clements, D. H., & Gullo, D. F. (1984). Effects of computer programming on young children's cognition. Journal of Educational Psychology, 76(6), 1051–1058.
- Kazakoff, E. R., Sullivan, A., & Bers, M. U. (2013). The effect of a classroom-based intensive robotics and programming workshop on sequencing ability in early childhood. Early Childhood Education Journal, 41.
- Klahr, D., & Carver, S. M. (1988). Cognitive objectives in a LOGO debugging curriculum: Instruction, learning, and transfer. Cognitive Psychology, 20(3), 362–404.
- Montuori, C., Gambarota, F., Altoè, G., & Arfé, B. (2024). The cognitive effects of computational thinking: A systematic review and meta-analytic study. Computers & Education, 210, 104961.
9. Xem thêm
- Trò chơi robot và người lập trình trên bảng ô vuông: 3 màn chơi kèm mẫu in
- Tư duy máy tính (tư duy lập trình) là gì? 4 kỹ năng với ví dụ đời thường
- Quy trình thiết kế kỹ thuật trong dự án STEM
- Tư duy logic, phản biện, thiết kế và kỹ năng 4C
Cùng nhóm bài: học lập trình từ nhỏ và bằng chứng nghiên cứu; lập trình nuôi dưỡng tư duy sáng tạo; tư duy hệ thống qua lập trình; điều kiện để học lập trình phát triển tư duy toàn diện.
Xem thêm