Trong giáo dục, Tư duy tính toán hay Tư duy máy tính (Computational Thinking - CT) là một tập hợp các phương pháp giải quyết vấn đề liên quan đến việc diễn đạt các vấn đề và giải pháp của chúng theo cách mà một máy tính cũng có thể thực hiện[1]. Nó liên quan đến các kỹ năng và thực hành trí óc cho 1) thiết kế các tính toán giúp máy tính thực hiện công việc cho chúng ta và 2) giải thích và diễn giải thế giới như một phức hợp của các quy trình thông tin[2]. Những ý tưởng đó bao gồm từ CT cơ bản cho người mới bắt đầu đến CT nâng cao cho các chuyên gia.[2]
Lịch sử
Lịch sử của tư duy tính toán (tư duy máy tính) bắt nguồn từ sớm nhất là vào những năm 1950 nhưng hầu hết các ý tưởng đều có trước đó rất lâu[2][3]. Tư duy tính toán bao gồm các ý tưởng như trừu tượng hóa, biểu diễn dữ liệu và tổ chức dữ liệu logic, vốn cũng phổ biến trong các loại tư duy khác như tư duy khoa học, tư duy kỹ thuật, tư duy hệ thống, tư duy thiết kế, tư duy dựa trên mô hình,...[4] Cả ý tưởng và thuật ngữ này đều không phải mới có gần đây. Nó có trước cả các thuật ngữ như thuật toán hóa, tư duy thủ tục, tư duy thuật toán và kiến thức tính toán của các nhà tiên phong điện toán như Alan Perlis và Donald Knuth, thuật ngữ tư duy tính toán được sử dụng lần đầu tiên bởi Seymour Papert vào năm 1980[5] và một lần nữa vào năm 1996[6]. Tư duy tính toán đã từng có thể sử dụng các thuật toán để giải quyết các vấn đề phức tạp về quy mô và thường được sử dụng để hiểu rõ hiệu quả của những cải tiến lớn.[7]
Cụm từ tư duy tính toán, hay tư duy máy tính, đã được đưa lên hàng đầu trong cộng đồng giáo dục khoa học máy tính vào năm 2006 do bài tiểu luận về Truyền thông ACM của Jeannette Wing về chủ đề này. Bài tiểu luận cho rằng tư duy tính toán là một kỹ năng cơ bản cho tất cả mọi người, không chỉ các nhà khoa học máy tính và còn tranh luận về tầm quan trọng của việc tích hợp các ý tưởng tính toán vào các môn học khác trong trường học[8]. Tính liên tục của các câu hỏi tư duy tính toán trong giáo dục bao gồm từ điện toán K-9 cho trẻ em đến giáo dục chuyên nghiệp và giáo dục thường xuyên, trong đó thách thức là làm thế nào để truyền đạt các nguyên tắc sâu sắc, châm ngôn và cách suy nghĩ giữa các chuyên gia.[2]
Nét đặc trưng
Các đặc điểm xác định tư duy tính toán là phân rã, nhận dạng mẫu/ biểu diễn dữ liệu, khái quát hóa/ trừu tượng hóa và thuật toán[9][10]. Bằng cách phân tích một vấn đề, xác định các biến liên quan bằng cách sử dụng biểu diễn dữ liệu và tạo thuật toán, một kết quả giải pháp chung. Giải pháp chung là khái quát hóa hoặc trừu tượng hóa có thể được sử dụng để giải quyết vô số biến thể của vấn đề ban đầu.
Một đặc điểm khác của tư duy tính toán là quá trình lặp "3A" dựa trên ba giai đoạn:
Trừu tượng (Abstraction): Xây dựng vấn đề;
Tự động hóa (Automation): Biểu thức giải pháp;
Phân tích (Analyses): Thực hiện và đánh giá giải pháp.
Kết nối với “4C”
Bốn chữ C của thế kỷ 21 là Giao tiếp (communication), Tư duy phản biện (critical thinking), Hợp tác (collaboration) và Sáng tạo (creativity). Chữ C thứ 5 có thể là tư duy tính toán (computational thinking) đòi hỏi khả năng giải quyết các vấn đề theo thuật toán và logic. Nó bao gồm các công cụ sản xuất mô hình và trực quan hóa dữ liệu[11].Tư duy tính toán được áp dụng cho các môn học ngoài khoa học, công nghệ, kỹ thuật và toán học (science, technology, engineering, and mathematics - STEM) bao gồm khoa học xã hội và nghệ thuật ngôn ngữ. Học sinh có thể tham gia vào các hoạt động nơi mà họ xác định các mẫu ngữ pháp cũng như cấu trúc câu và sử dụng các mô hình để nghiên cứu các mối quan hệ.[12]
Kể từ khi hình thành, 4C đã dần được thừa nhận là yếu tố sống còn của nhiều giáo trình của trường. Sự phát triển này đã kích hoạt một sự thay đổi trong các nền tảng và các hướng đi như khảo sát, dựa trên dự án và tìm hiểu sâu hơn tất cả các cấp độ K-12. Nhiều quốc gia đã giới thiệu tư duy máy tính cho tất cả học sinh. Vương quốc Anh có tư duy tính toán trong chương trình giảng dạy quốc gia kể từ năm 2012. Singapore gọi tư duy tính toán là năng lực quốc gia. Các quốc gia khác như Úc, Trung Quốc, Hàn Quốc và New Zealand bắt tay vào những nỗ lực lớn để giới thiệu tư duy tính toán trong trường học[13]. Tại Hoa Kỳ, Tổng thống Barack Obama đã tạo ra chương trình Computer Science For All để trao quyền cho thế hệ sinh viên ở Mỹ này với trình độ khoa học máy tính phù hợp cần thiết để phát triển trong nền kinh tế kỹ thuật số[14]. Tư duy tính toán có nghĩa là suy nghĩ hoặc giải quyết các vấn đề như các nhà khoa học máy tính. Tư duy tính toán đề cập đến các quá trình suy nghĩ cần thiết trong việc hiểu các vấn đề và xây dựng các giải pháp. Tư duy tính toán liên quan đến logic, đánh giá, mô hình, tự động hóa và khái quát hóa. Kỹ năng nghề nghiệp này có thể được tích hợp vào môi trường học tập và giảng dạy theo nhiều cách.[15]
Trong giáo dục K-12
Tương tự như Seymour Papert, Alan Perlis và Marvin Minsky trước đây, Jeannette Wing hình dung tư duy tính toán như là 1 phần thiết yếu trong giáo dục của mỗi đứa trẻ[8]. Tuy nhiên, việc tích hợp tư duy tính toán vào chương trình giảng dạy K-12 và giáo dục khoa học máy tính đã gặp phải một số thách thức bao gồm thống nhất về định nghĩa của tư duy tính toán[16][17], cách đánh giá sự phát triển của trẻ em về lĩnh vực này[4], và làm thế nào để phân biệt nó với các loại "tư duy" khác như tư duy hệ thống, tư duy thiết kế và tư duy kỹ thuật[4]. Hiện nay, tư duy tính toán được định nghĩa rộng rãi là một tập hợp các kỹ năng nhận thức và các quá trình giải quyết vấn đề bao gồm các đặc điểm sau[17][18] (có thể có nhiều hơn các đặc điểm dưới đây)
Sử dụng những thứ trừu tượng và các mẫu nhận diện để thể hiện vấn đề theo những cách mới và khác nhau
Tổ chức và phân tích dữ liệu một cách hợp lý
Mổ xẻ vấn đề thành các phần nhỏ
Tiếp cận vấn đề bằng cách sử dụng các kỹ thuật tư duy lập trình như các thao tác lặp, biểu diễn tượng trưng một cách logic
Cải cách vấn đề thành một loạt các bước được sắp xếp (tư duy thuật toán)
Xác định, phân tích và thực hiện các giải pháp khả thi với mục tiêu để đạt được sự kết hợp hiệu quả và hiệu quả nhất giữa các bước thực hiện và nguồn lực
Tổng quát hóa quá trình giải quyết vấn đề này cho nhiều vấn đề khác nhau
Tư duy tính toán tích hợp hiện tại vào chương trình giảng dạy K-12 có hai dạng: trong các lớp khoa học máy tính trực tiếp hoặc thông qua việc sử dụng và đo lường các kỹ thuật tư duy tính toán trong các môn học khác. Các giáo viên trong các lớp học tập trung vào Khoa học, Công nghệ, Kỹ thuật và Toán học (STEM) bao gồm tư duy tính toán, cho phép học sinh thực hành các kỹ năng giải quyết vấn đề như thử và sai[19]. Valerie Barr và Chris Stephenson đã mô tả các kiểu tư duy tính toán giữa các ngành trong bài báo ACM Inroads năm 2011[16]. Tuy nhiên, Conrad Wolfram đã lập luận rằng tư duy tính toán nên được dạy như một môn học riêng biệt.[20]
Trung tâm tư duy tính toán
Đại học Carnegie Mellon ở Pittsburgh có một Trung tâm Tư duy Tính toán. Hoạt động chính của trung tâm là kiểm soát PROBEs hay tìm ra các hướng giải quyết vấn đề (PROBlem-oriented Explorations). Những PROBE này là các thử nghiệm áp dụng khái niệm tính toán mới vào các vấn đề nhằm cho thấy giá trị của tư duy tính toán. Một thí nghiệm PROBE nói chung là sự hợp tác giữa một nhà khoa học máy tính và một chuyên gia trong lĩnh vực được nghiên cứu. Thí nghiệm thường chạy trong một năm. Tóm lại, một thí nghiệm PROBE đi tìm lời giải cho một bài toán mang tính ứng dụng rộng rãi và tránh việc tầm nhìn hạn hẹp. Một số ví dụ về các thí nghiệm PROBE là tối ưu hóa hậu giải phẫu cấy ghép và cách tạo ra các loại thuốc mà không phát sinh vi khuẩn kháng thuốc.[21]
Tài nguyên tư duy tính toán
Có một số tổ chức trực tuyến cung cấp chương trình giảng dạy và các tài nguyên liên quan khác để xây dựng và củng cố cho sinh viên dự bị đại học với tư duy tính toán, phân tích và giải quyết vấn đề. Nổi bật là Học viện Carnegie Mellon Robotics Acedemy. Nó cung cấp các buổi đào tạo cho cả sinh viên dự bị đại học, cũng như các giáo viên. Các chương trình của CMU thực hiện các phương pháp instructional scaffolding (sự hỗ trợ dành cho học sinh trong suốt quá trình học, lộ trình học được thiết kế riêng biệt cho mỗi học sinh và lấy học sinh làm trung tâm) thông qua quy trình kỹ thuật. Ngoài ra còn có một trang web trực tuyến khác có tên legoengineering.com[22] cung cấp các tài nguyên tương tự.
Dựa theo cơ sở vật chất thì ở Trung tâm New Jersey có một tổ chức nhỏ tên là Storming Robots, cung cấp các chương trình công nghệ từ lớp 4 đến lớp 12, tập trung vào tư duy thuật toán và tính toán thông qua các dự án robot trong suốt năm học. Học sinh có thể theo lộ trình này[23] bắt đầu từ Lớp 4 cho đến khi tốt nghiệp đại học.
Được thiết kế để tăng cường sử dụng tư duy tính toán, computationalthinking.org[24] đã ra đời để cung cấp các tài nguyên giải quyết vấn đề cho các lĩnh vực khác nhau nhằm tăng cường sử dụng tư duy tính toán. Các tài nguyên bao gồm các khóa học và tài liệu làm sẵn cho các chuyên gia, cao đẳng, trường học và sinh viên. Các dịch vụ cũng bao gồm tư vấn cho các nhà hoạch định chính sách và chính phủ về cải cách giáo dục và phát triển chương trình giảng dạy.
Một cuốn trình đại học From Computing To Computational Thinking của Tiến sĩ Paul S. Wang có thể giúp xác định và minh họa tư duy tính toán và dạy ứng dụng của nó trong các chuyên ngành khác cũng như trong cuộc sống hàng ngày. Trang web liên kết của cuốn sách[25] cung cấp các tài nguyên giảng dạy, học tập và thực hành.
Những phê bình và chỉ trích
Khái niệm về tư duy tính toán đã bị chỉ trích là quá mơ hồ, vì nó không làm rõ rằng nó khác với các dạng tư duy khác như thế nào[3][26]. Khuynh hướng này giữa các nhà khoa học máy tính được gọi là "chủ nghĩa sô vanh tính toán"[27]. Một số nhà khoa học máy tính lo lắng về việc thúc đẩy tư duy tính toán sẽ khiến cho giáo dục khoa học máy tính mang tính chất rộng hơn bị thay thế, vì tư duy tính toán chỉ chiếm một phần nhỏ trong lĩnh vực này[4][28]. Những người khác lo lắng rằng sự nhấn mạnh vào tư duy tính toán có thể khiến các nhà khoa học máy tính suy nghĩ hẹp đi về các vấn đề họ có thể giải quyết, vì vậy mà tránh đi các tác động công nghệ đến xã hội, đạo đức và môi trường mà họ đã gây ra.[3][29]
Một bài báo gần đây cho rằng thuật ngữ "Tư duy tính toán" (CT) nên được sử dụng chủ yếu như một cách viết tắt để truyền đạt giá trị giáo dục của Khoa học máy tính, do đó cần nên dạy nó ở trường[30]. Mục tiêu chiến lược là để Khoa học Máy tính được công nhận ở trường là một môn khoa học tự trị hơn là cố gắng xác định "bộ tri thức" hay "phương pháp đánh giá" cho CT. Đặc biệt quan trọng đó là nhấn mạnh một thực tế rằng tính mới mẻ của khoa học liên quan đến CT là sự chuyển đổi từ "giải quyết vấn đề" của Toán học sang "giải quyết vấn đề" của Khoa học máy tính. Nếu không có "tác nhân hiệu quả", thì những người thực hiện một cách tự động các hướng dẫn đã nhận để giải quyết vấn đề, sẽ không có Khoa học Máy tính, mà chỉ có Toán học. Một chỉ trích khác của cùng một bài báo là tập trung vào "giải quyết vấn đề" quá hẹp, vì "giải quyết vấn đề chỉ là một ví dụ của tình huống mà người ta muốn đạt được một mục tiêu cụ thể".Do đó, bài viết khái quát các định nghĩa ban đầu của Cuny, Snyder Wing[31], và Aho[32] như sau: "Tư duy tính toán là các quá trình tư duy liên quan đến việc mô hình hóa một tình huống và chỉ định các cách mà một tác nhân xử lý thông tin có thể vận hành hiệu quả trong tư duy này để đạt được các mục tiêu được chỉ định từ bên ngoài.
^Computational thinking: Repenning, A.; Webb, D.; Ioannidou, A. (2010). "Scalable game design and the development of a checklist for getting computational thinking into public schools". Proceedings of the 41st ACM technical symposium on Computer science education - SIGCSE '10. p. 265. doi:10.1145/1734263.1734357. ISBN 9781450300063.
^ abBarr, Valerie; Stephenson, Chris (2011). "Bringing computational thinking to K-12: what is Involved and what is the role of the computer science education community?". ACM Inroads. 2. doi:10.1145/1929887.1929905.
^ abGrover, Shuchi; Pea, Roy (2013). "Computational Thinking in K–12 A Review of the State of the Field". Educational Researcher. 42. doi:10.3102/0013189x12463051.
^Stephenson, Chris; Valerie Barr (May 2011). "Defining Computational Thinking for K-12". CSTA Voice. 7 (2): 3–4. ISSN 1555-2128. CT is a problem solving process...
^Barr, David; Harrison, John; Leslie, Conery (ngày 1 tháng 3 năm 2011). "Computational Thinking: A Digital Age Skill for Everyone". Learning & Leading with Technology. 38 (6): 20–23. ISSN 0278-9175.
^Denning, Peter J.; Tedre, Matti; Yongpradit, Pat (ngày 21 tháng 2 năm 2017). "Misconceptions about computer science". Communications of the ACM. 60(3): 31–33. doi:10.1145/3041047.
^Denning, Peter J. (ngày 1 tháng 6 năm 2009). "Beyond computational thinking". Communications of the ACM. 52 (6): 28. doi:10.1145/1516046.1516054. hdl:10945/35494.
^Nardelli, Enrico (February 2019). "Do we really need Computational Thinking?". Communications of the ACM. 62 (2): 32–35. doi:10.1145/3231587.
^Wing, Jeannette M. (March 2011). "Research Notebook: Computational Thinking—What and Why?". The LINK. The Magazine of Carnegie Mellon University’s School of Computer Science. Carnegie Mellon University, School of Computer Science. Truy cập ngày 1 tháng 3 năm 2019.
^Aho, Alfred V. (January 2011). "Computation and computational thinking". Ubiquity. 2011 (January). doi:10.1145/1922681.1922682.