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ẻ

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

Bốn kỹ năng của tư duy máy tính: phân rã, nhận dạng mẫu, trừu tượng hóa, thuật toán, mỗi kỹ năng có một ví dụ đời thường
Hình minh họa: bốn kỹ năng và ví dụ đời thường.

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ì.

Cây phân rã việc chuẩn bị đi học buổi sáng thành bốn nhánh: vệ sinh cá nhân, ăn sáng, mặc đồ, soạn cặp, mỗi nhánh có ba việc nhỏ
Hình minh họa: phân rã việc buổi sáng thành các việc nhỏ.

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ẽ.

Hình minh họa nhận dạng mẫu với dãy hình tròn vuông vuông lặp lại và trừu tượng hóa khu phố nhiều chi tiết thành sơ đồ đường đi từ nhà qua ngã tư đến trường
Hình minh họa: nhận dạng mẫu và trừu tượng hóa.

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 đồ thuật toán pha nước chanh: rửa và cắt chanh, vắt chanh, thêm 200 ml nước, thêm 1 thìa đường, nếm thử, nếu chưa đủ ngọt thì quay lại thêm đường, đủ ngọt thì thêm đá
Hình minh họa: lưu đồ có vòng lặp và điều kiện.

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?

Tư duy máy tính trong một bài lập trình trò chơi đơn giản
Kỹ năngTrẻ 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ẫuThấ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óaKhô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ánViế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ỗiTá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

Gợi ý hoạt động
Độ tuổiHoạt độngKỹ năng chính
4–6 tuổiXế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ổiTrò chơi robot trên bảng ô vuông dùng thẻ mũi tên; viết các bước đánh răngThuật toán, sửa lỗi
8–10 tuổiPhân rã việc dọn phòng, kế hoạch đi chơi; vẽ bản đồ kho báu; ScratchPhân rã, trừu tượng hóa
10 tuổi trở lênLập trình trò chơi; điều khiển đèn, cảm biến bằng mạch ESP32Cả 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).


Tin tức liên quan

Hiệu chuẩn transmitter áp suất 4–20 mA: sơ đồ vòng, sai số theo khoảng đo, lúc nhận và sau chỉnh
Hiệu chuẩn transmitter áp suất 4–20 mA: sơ đồ vòng, sai số theo khoảng đo, lúc nhận và sau chỉnh

Hiệu chuẩn transmitter áp suất 4–20 mA: sơ đồ vòng dòng điện, công thức dòng và sai số theo phần trăm khoảng đo, trình tự lúc nhận và sau chỉnh, ví dụ 0–16 bar, lưu ý về HART và điểm 0.

Lập trình không cần máy tính: 8 trò chơi rèn tư duy cho trẻ 4–8 tuổi
Lập trình không cần máy tính: 8 trò chơi rèn tư duy cho trẻ 4–8 tuổi

8 trò chơi lập trình không cần máy tính cho trẻ 4–8 tuổi: người máy, thẻ mũi tên, dãy hạt, điệu nhảy, nếu thì, tô tranh theo mã, tìm lỗi; cách chơi và khái niệm trẻ học được.

Cấp nguồn ESP32 bằng pin 18650 sạc qua jack Type-C tích hợp mạch sạc
Cấp nguồn ESP32 bằng pin 18650 sạc qua jack Type-C tích hợp mạch sạc

Sơ đồ nguồn cho ESP32 chạy pin 18650, sạc qua jack Type-C trên vỏ hộp: vì sao cần mạch đổi áp, chọn tăng áp 5 V hay ổn áp 3,3 V, ước tính thời gian chạy pin, đo mức pin và các lỗi nguồn thường gặp.

HX711 với load cell và LCD 1602 bằng MicroPython
HX711 với load cell và LCD 1602 bằng MicroPython

Hướng dẫn ESP32 đọc load cell qua HX711 và hiển thị LCD 1602 bằng MicroPython, gồm đấu dây, hiệu chuẩn và xử lý lỗi.

Xúc xắc điện tử với ESP32 và OLED: thí nghiệm xác suất cho học sinh
Xúc xắc điện tử với ESP32 và OLED: thí nghiệm xác suất cho học sinh

Làm xúc xắc điện tử bằng ESP32 và màn hình OLED kèm 4 nút: tung một lần, tung nhanh 60 lần, vẽ biểu đồ; xác suất lý thuyết, thực nghiệm và luật số lớn cho học sinh.

TCP và UDP là gì: địa chỉ IP, cổng, kết nối và cách dùng trên ESP32
TCP và UDP là gì: địa chỉ IP, cổng, kết nối và cách dùng trên ESP32

Giải thích TCP và UDP cho người làm vi điều khiển: địa chỉ IP, cổng, kết nối, xác nhận, vì sao TCP là dòng byte. Kèm hai chương trình ESP32: máy chủ TCP nhận lệnh và phát, nhận gói UDP trong mạng Wi-Fi.

Bài đầu tiên với ESP32 cho học sinh: đèn nhấp nháy và phát tên bằng mã Morse
Bài đầu tiên với ESP32 cho học sinh: đèn nhấp nháy và phát tên bằng mã Morse

Dự án STEM đầu tiên với ESP32 không cần linh kiện: nháy đèn LED có sẵn trên mạch, rồi phát tên của bé bằng mã Morse; cài Arduino IDE, giải thích code và trò chơi đoán tên.

Cách đấu jack Type-C tích hợp mạch sạc với pin 18650, Li-po: sơ đồ, đèn báo và lỗi thường gặp
Cách đấu jack Type-C tích hợp mạch sạc với pin 18650, Li-po: sơ đồ, đèn báo và lỗi thường gặp

Hướng dẫn đấu jack Type-C tích hợp mạch sạc với pin 18650 hoặc Li-po một cell: dây đỏ, dây đen nối vào đâu, tải nối thế nào, khi nào cần mạch bảo vệ, cách đọc đèn đỏ xanh và bảng tra lỗi thường gặp.


Bình luận
Đã thêm vào giỏ hàng