Đơn vị trực thuộc Hội Khoa học phát triển Nguồn nhân lực - Nhân tài Việt Nam

0922812345 [email protected]

Tư duy máy tính: từ bài viết của Jeannette Wing (2006) đến chương trình phổ thông

Nghiên cứu

Tác giả
Ban Biên tập IESDTD tổng hợp
Lĩnh vực
Giáo dục STEM
Từ khóa
tư duy máy tính, computational thinking, Jeannette Wing, lập trình, chuyển giao học tập

Tóm tắt

Tư duy máy tính được nhiều nước coi là kỹ năng nền tảng như đọc, viết, tính toán. Bài trình bày ý tưởng gốc của Wing, các thành tố được thống nhất trong nghiên cứu của Trung tâm Nghiên cứu chung (JRC) của Ủy ban châu Âu, và bằng chứng về việc học lập trình có giúp phát triển các năng lực khác hay không.

Tháng 3/2006, Jeannette M. Wing, khi đó là trưởng Khoa Khoa học máy tính của Đại học Carnegie Mellon, đăng bài viết ba trang Computational Thinking trên tạp chí Communications of the ACM. Bài viết ngắn này trở thành điểm khởi đầu cho một làn sóng cải cách chương trình ở nhiều nước. Chương trình giáo dục phổ thông 2018 của Việt Nam cũng dùng khái niệm "tư duy máy tính" trong môn Tin học, đặc biệt ở định hướng Khoa học máy tính.

Ý tưởng gốc của Wing

Luận điểm trung tâm của Wing là tư duy máy tính là kỹ năng nền tảng cho mọi người, không chỉ cho nhà khoa học máy tính:

Bên cạnh đọc, viết và số học, chúng ta nên bổ sung tư duy máy tính vào năng lực phân tích của mọi trẻ em. (Wing, 2006, lược dịch)

Theo Wing, tư duy máy tính là giải quyết vấn đề, thiết kế hệ thống và hiểu hành vi con người bằng cách dựa trên các khái niệm nền tảng của khoa học máy tính. Nó bao gồm: diễn đạt lại một vấn đề có vẻ khó thành một vấn đề đã biết cách giải; dùng trừu tượng hóa và phân rã khi xử lý nhiệm vụ lớn, phức tạp; chọn cách biểu diễn phù hợp hoặc mô hình hóa các khía cạnh liên quan của vấn đề; nghĩ đến phòng ngừa, bảo vệ và phục hồi trước tình huống xấu nhất; dùng suy luận dựa trên kinh nghiệm (heuristic) để tìm lời giải.

Wing đưa ra những ví dụ đời thường: khi con chuẩn bị cặp sách cho cả ngày, đó là "nạp trước và lưu đệm"; khi con làm mất găng tay và ta bảo con đi lại đường cũ, đó là "quay lui"; chọn hàng nào để xếp ở siêu thị là bài toán mô hình hiệu năng của hệ nhiều máy phục vụ.

Tư duy máy tính là gì và không là gì

Wing nêu sáu đặc điểm:

  • Khái niệm hóa, không phải lập trình. Tư duy như nhà khoa học máy tính đòi hỏi nhiều hơn khả năng lập trình; nó đòi hỏi tư duy ở nhiều mức trừu tượng.
  • Kỹ năng nền tảng, không phải kỹ năng máy móc.
  • Cách con người tư duy, không phải bắt con người nghĩ như máy tính. Theo Wing, máy tính thì đơn điệu, còn con người thông minh và giàu trí tưởng tượng.
  • Bổ sung và kết hợp tư duy toán học với tư duy kỹ thuật.
  • Ý tưởng, không phải sản phẩm.
  • Cho mọi người, ở mọi nơi.

Cần lưu ý: bài của Wing là một bài quan điểm (Viewpoint), không phải công trình nghiên cứu thực nghiệm. Giá trị của nó là định hướng, còn câu hỏi "dạy thế nào" và "hiệu quả ra sao" được các nghiên cứu sau trả lời.

Các thành tố được thống nhất

Năm 2016, Trung tâm Nghiên cứu chung (JRC) của Ủy ban châu Âu công bố nghiên cứu Developing Computational Thinking in Compulsory Education (Bocconi và cộng sự), dựa trên rà soát tài liệu, khảo sát các bộ giáo dục ở châu Âu và ngoài châu Âu, và phỏng vấn chuyên gia. Báo cáo nhận định chưa có đồng thuận về định nghĩa tư duy máy tính, nhưng có một tập hợp khái niệm và kỹ năng cốt lõi lặp lại nhiều lần trong tài liệu:

Thành tốDiễn giải ngắnVí dụ trong lớp học
Trừu tượng hóaGiữ lại điều cốt yếu, bỏ chi tiết không cần thiếtVẽ sơ đồ tuyến xe buýt thay cho bản đồ đầy đủ
Tư duy thuật toánMô tả cách giải thành các bước rõ ràngViết hướng dẫn pha một cốc nước chanh
Tự động hóaĐể máy thực hiện các bước lặp lạiDùng bảng tính tính điểm trung bình cả lớp
Phân rãChia vấn đề lớn thành phần nhỏChia dự án làm báo tường thành từng mục
Gỡ lỗiTìm và sửa lỗi một cách có hệ thốngKiểm tra từng bước khi kết quả tính sai
Khái quát hóaNhận ra mẫu chung, dùng lại cho vấn đề tương tựMột cách giải dùng được cho cả nhóm bài toán

Báo cáo JRC nhấn mạnh lập trình là một thành phần của tư duy máy tính, giúp các khái niệm trở nên cụ thể; nhưng tư duy máy tính bao gồm nhiều hơn lập trình, chẳng hạn phân tích và phân rã vấn đề đi trước việc viết mã. Báo cáo cũng phân biệt tư duy máy tính với năng lực số: đặc trưng của tư duy máy tính là tập trung vào quá trình giải quyết vấn đề và tạo ra lời giải mà máy có thể thực hiện.

Đưa vào chương trình theo cách nào?

Theo JRC, vị trí của tư duy máy tính khác nhau giữa các nước: có nơi tích hợp vào nhiều môn, nhất là ở tiểu học; có nơi đưa vào một môn tin học riêng, thường ở trung học; và nhiều nơi kết hợp cả hai. Báo cáo ghi nhận nhu cầu bồi dưỡng giáo viên trên diện rộng, và cho biết nghiên cứu về đánh giá tư duy máy tính, cũng như về khả năng chuyển giao sang lĩnh vực khác, còn hạn chế.

Học lập trình có giúp phát triển các năng lực khác?

Đây là câu hỏi mà phụ huynh và nhà quản lý quan tâm nhất. Phân tích gộp của Scherer, Siddiq và Sánchez Viveros (2019) trên Journal of Educational Psychology là một trong những nghiên cứu lớn nhất về vấn đề này. Trong một bài viết năm 2021 trên Frontiers in Psychology (giấy phép CC BY), Scherer và cộng sự tóm tắt lại kết quả:

  • Học lập trình có tác động mạnh đến chính kỹ năng lập trình (hệ số 0,75) và tác động trung bình đến các năng lực nhận thức khác (hệ số 0,47).
  • Tác động lớn nhất được thấy ở tư duy sáng tạo, kỹ năng toán học, siêu nhận thức, lập luận và kỹ năng không gian (hệ số trung bình từ 0,37 đến 0,73).
  • Một số lĩnh vực có tác động rất nhỏ hoặc gần như không có; khoảng dao động chung từ −0,02 đến 0,73.

Điều quan trọng nhất là cảnh báo của chính các tác giả: bằng chứng không cho thấy sự chuyển giao "tự nhiên xảy ra"; nó phải được tạo điều kiện và rèn luyện một cách tường minh. Hiệu quả cũng phụ thuộc vào bối cảnh và thiết kế nghiên cứu, như có phân nhóm ngẫu nhiên hay không, nhóm đối chứng được xử lý ra sao.

Gợi ý cho giáo viên và nhà trường Việt Nam

  • Dạy tư duy, không chỉ dạy công cụ. Một tiết Tin học chỉ hướng dẫn bấm nút trong phần mềm chưa phải là dạy tư duy máy tính. Hãy để học sinh phân rã vấn đề, viết thuật toán bằng lời trước khi lập trình.
  • Tận dụng các môn khác. Toán (thuật toán giải phương trình), Ngữ văn (cấu trúc bài văn), Khoa học tự nhiên (quy trình thí nghiệm) đều có thể làm nổi bật phân rã, trừu tượng hóa, khái quát hóa.
  • Muốn chuyển giao thì phải dạy chuyển giao. Nếu mong lập trình giúp học sinh lập luận tốt hơn trong toán, giáo viên cần chỉ rõ sự tương đồng, chẳng hạn "cách em gỡ lỗi chương trình cũng giống cách em kiểm tra lời giải bài toán".
  • Coi trọng gỡ lỗi. Lỗi là cơ hội học. Khuyến khích học sinh mô tả lỗi, đặt giả thuyết và kiểm tra, thay vì xóa đi làm lại.
  • Đánh giá bằng nhiệm vụ. Thay vì hỏi định nghĩa, hãy cho học sinh một vấn đề mới và quan sát cách các em chia nhỏ, lập kế hoạch và sửa lỗi.

Nguồn tham khảo

  1. Wing, J. M. (2006). Computational Thinking. Communications of the ACM, 49(3), 33–35. https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
  2. Bocconi, S., Chioccariello, A., Dettori, G., Ferrari, A., Engelhardt, K., Kampylis, P. & Punie, Y. (2016). Developing Computational Thinking in Compulsory Education – Implications for policy and practice. Joint Research Centre, European Commission, EUR 28295 EN. https://publications.jrc.ec.europa.eu/repository/handle/JRC104188
  3. Scherer, R., Siddiq, F. & Sánchez-Scherer, B. (2021). Some Evidence on the Cognitive Benefits of Learning to Code. Frontiers in Psychology (CC BY). https://pmc.ncbi.nlm.nih.gov/articles/PMC8458729/
  4. Scherer, R., Siddiq, F. & Sánchez Viveros, B. (2019). The cognitive benefits of learning computer programming: A meta-analysis of transfer effects. Journal of Educational Psychology, 111(5), 764–792 (dẫn qua nguồn số 3).

Trích dẫn bài viết

Ban Biên tập IESDTD tổng hợp (2026). Tư duy máy tính: từ bài viết của Jeannette Wing (2006) đến chương trình phổ thông. Viện Khoa học giáo dục và phát triển Công nghệ số. https://iesdtd.edu.vn/nghien-cuu/tu-duy-may-tinh-tu-wing-2006-den-truong-hoc