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 cho trẻ
- 1. Tư duy máy tính là gì?
- 2. Bốn kỹ năng của tư duy máy tính
- 2.1. Phân rã: chia việc lớn thành việc nhỏ
- 2.2. Nhận dạng mẫu: tìm điều lặp lại
- 2.3. Trừu tượng hóa: giữ điều quan trọng
- 2.4. Thuật toán: các bước rõ ràng, đúng thứ tự
- 3. Bốn kỹ năng xuất hiện thế nào khi trẻ học lập trình?
- 4. Hoạt động rèn tư duy máy tính theo độ tuổi
- 5. Gợi ý cho phụ huynh và giáo viên
- 6. Xem thêm
Tư duy máy tính, hay tư duy lập trình, gồm bốn kỹ năng: phân rã, nhận dạng mẫu, trừu tượng hóa và thuật toán. Bài giải thích bằng ví dụ đời thường và gợi ý hoạt động cho trẻ.
Tư duy máy tính (computational thinking), hay còn được gọi là tư duy lập trình, là cách suy nghĩ để giải một vấn đề sao cho lời giải được mô tả thành các bước rõ ràng, người khác hoặc máy tính đều làm theo được. Tên gọi có chữ "máy tính", nhưng đây là kỹ năng tư duy của con người, và trẻ có thể rèn luyện từ rất sớm, kể cả khi chưa chạm vào máy tính.
Bài viết giải thích bốn kỹ năng của tư duy máy tính bằng ví dụ đời thường, cách nhận ra các kỹ năng này khi trẻ học lập trình, và gợi ý hoạt động cho từng độ tuổi.
1. Tư duy máy tính là gì?
Khái niệm này được biết đến rộng rãi sau bài viết "Computational Thinking" của giáo sư Jeannette Wing năm 2006. Ý chính của bài viết: cách các nhà khoa học máy tính chia nhỏ và giải quyết vấn đề là một kỹ năng mà ai cũng nên có, giống như đọc, viết và tính toán.
Ba hiểu lầm thường gặp:
- "Tư duy như máy tính": không phải. Máy tính chỉ làm đúng điều được bảo. Tư duy máy tính là cách con người nghĩ ra lời giải để bảo máy làm.
- "Phải có máy tính mới học được": không cần. Nhiều trò chơi trên giấy, trên sàn nhà rèn được kỹ năng này.
- "Chỉ dành cho người muốn làm lập trình viên": không phải. Kỹ năng chia nhỏ vấn đề và làm từng bước dùng được trong học Toán, viết văn, làm việc nhà.
2. Bốn kỹ năng của tư duy máy tính

2.1. Phân rã: chia việc lớn thành việc nhỏ
"Chuẩn bị đi học" là một việc lớn và mơ hồ với trẻ nhỏ. Chia ra thành vệ sinh cá nhân, ăn sáng, mặc đồ, soạn cặp, rồi chia tiếp từng phần, trẻ sẽ biết chính xác mình cần làm gì.

Khi lập trình một trò chơi, trẻ cũng phân rã như vậy: nhân vật di chuyển, nhặt vật phẩm, tính điểm, kết thúc trò chơi. Mỗi phần là một đoạn chương trình nhỏ.
2.2. Nhận dạng mẫu: tìm điều lặp lại
Nhận dạng mẫu là nhìn ra điểm giống nhau giữa các việc, các con số, các hình. Ví dụ: số cuối của bảng nhân 5 luôn là 5 hoặc 0; một dãy hình lặp lại theo nhóm "tròn, vuông, vuông". Khi đã thấy mẫu, trẻ đoán được phần tiếp theo và không phải làm lại từ đầu.
Trong lập trình, thấy được mẫu là lúc trẻ biết dùng vòng lặp: thay vì viết "đi 1 bước" mười lần, viết "lặp lại 10 lần: đi 1 bước".
2.3. Trừu tượng hóa: giữ điều quan trọng
Trừu tượng hóa là bỏ đi chi tiết không cần thiết để tập trung vào điều quan trọng. Sơ đồ đường từ nhà đến trường không cần vẽ từng ngôi nhà, cái cây; chỉ cần đường đi và chỗ rẽ.

Với trẻ nhỏ, kỹ năng này khó nhất. Một cách luyện đơn giản: bảo trẻ vẽ "bản đồ kho báu" trong nhà chỉ với những thứ cần để tìm ra kho báu.
2.4. Thuật toán: các bước rõ ràng, đúng thứ tự
Thuật toán là dãy các bước rõ ràng để giải một vấn đề. Công thức pha nước chanh là một thuật toán. Nếu đổi thứ tự (thêm đường trước khi có nước) hoặc viết mơ hồ ("cho ít đường"), kết quả sẽ khác.

Lưu đồ trên có đủ hai ý quan trọng nhất của lập trình:
- Vòng lặp: thêm đường và nếm lại cho đến khi đủ ngọt.
- Điều kiện: câu hỏi "đủ ngọt chưa?" có hai câu trả lời, mỗi câu trả lời một đường đi.
Một kỹ năng đi kèm là kiểm tra và sửa lỗi: làm theo thuật toán, xem kết quả có đúng không, nếu sai thì tìm bước sai để sửa.
3. Bốn kỹ năng xuất hiện thế nào khi trẻ học lập trình?
| Kỹ năng | Trẻ làm gì khi làm trò chơi "bắt quả táo rơi" |
|---|---|
| Phân rã | Chia trò chơi thành: giỏ di chuyển theo phím, táo rơi từ trên xuống, bắt được thì cộng điểm, rơi xuống đất thì mất lượt |
| Nhận dạng mẫu | Thấy quả táo nào cũng rơi giống nhau, nên viết một lần rồi dùng lại |
| Trừu tượng hóa | Không cần vẽ táo đẹp ngay; chỉ cần một hình tròn đỏ để thử luật chơi trước |
| Thuật toán | Viết các bước: lặp lại mãi: táo đi xuống 5 bước; nếu chạm giỏ thì cộng 1 điểm |
| Kiểm tra, sửa lỗi | Táo rơi qua giỏ mà không cộng điểm? Tìm xem điều kiện "chạm giỏ" sai ở đâu |
Ở tiểu học, chương trình Tin học 2018 đưa phần lập trình trực quan (thường dùng Scratch) vào từ lớp 4. Đây là lúc bốn kỹ năng trên được dùng thường xuyên nhất.
4. Hoạt động rèn tư duy máy tính theo độ tuổi
| Độ tuổi | Hoạt động | Kỹ năng chính |
|---|---|---|
| 4–6 tuổi | Xếp tranh theo thứ tự câu chuyện; tiếp tục dãy hạt màu; "người máy" đi theo lời bố mẹ | Thuật toán, nhận dạng mẫu |
| 6–8 tuổi | Trò chơi robot trên bảng ô vuông dùng thẻ mũi tên; viết các bước đánh răng | Thuật toán, sửa lỗi |
| 8–10 tuổi | Phân rã việc dọn phòng, kế hoạch đi chơi; vẽ bản đồ kho báu; Scratch | Phân rã, trừu tượng hóa |
| 10 tuổi trở lên | Lập trình trò chơi; điều khiển đèn, cảm biến bằng mạch ESP32 | Cả bốn kỹ năng |
5. Gợi ý cho phụ huynh và giáo viên
- Dùng từ ngữ của tư duy máy tính trong đời thường: "Mình chia việc này thành mấy bước nhỉ?", "Con thấy điều gì lặp lại?".
- Chơi trò "làm đúng y như chữ": trẻ viết hướng dẫn làm bánh mì kẹp, người lớn làm đúng từng chữ. Bước nào thiếu, trẻ sẽ thấy ngay kết quả buồn cười và tự sửa.
- Không vội chỉ ra lỗi: để trẻ tự chạy lại các bước và tìm chỗ sai.
- Ghi lại bằng lưu đồ: hình chữ nhật cho việc làm, hình thoi cho câu hỏi có hoặc không.
6. Xem thêm
Bài trước trong loạt giải thích giáo dục STEM là gì. Các bài tiếp theo: trẻ mấy tuổi nên học lập trình, 8 trò chơi lập trình không cần máy tính, trò chơi robot trên bảng ô vuông, và Scratch cho học sinh lớp 4–5.
Với học sinh lớn muốn thấy thuật toán chạy trên mạch thật, bài đọc nút nhấn trên ESP32 là ví dụ tốt về điều kiện và sửa lỗi (nút nhấn bị dội).
Xem thêm