Professional Documents
Culture Documents
Overview VN
Overview VN
Xem các cuộc thảo luận, số liệu thống kê và hồ sơ tác giả của ấn phẩm này tại: https://www.researchgate.net/publication/322104135
DOI: 10.5040/9781350057142.ch-003
215 21.884
2 tác giả:
XEM HỒ SƠ
XEM HỒ SƠ
Tất cả nội dung sau trang này được tải lên bởi Shuchi Grover vào ngày 28 tháng 12 năm 2017.
3
Tư duy tính toán:
Đề cương chương
nêu bật vai trò ngày càng tăng không thể phủ nhận của điện toán trong các sự kiện địa chính trị quan trọng.
Cho dù đó là sự trưởng thành của AI dưới dạng chatbot để tác động đến tin tức và thông tin quan trọng (tốt
hơn hay xấu hơn) hay sự cố máy chủ e-mail đã gây khó khăn cho một đảng chính trị lớn, cuộc bầu cử nhấn mạnh
sự cần thiết của công dân phải được trang bị tốt hơn để hiểu các nguyên tắc cơ bản của máy tính và tham gia
vào tư duy tính toán. Khi một cơ quan liên bang công bố việc kiểm tra 650.000 email trong chín ngày, các cá
nhân trên các phương tiện truyền thông xã hội và chính thống cũng như những người ủng hộ cuộc bầu cử đã suy
ngẫm:
Một số câu hỏi có lẽ đang hiện lên trong đầu nhiều người Mỹ: Liệu có thể “xem xét” 650.000
email chỉ trong 8 ngày không? FBI có tuyển dụng những người đọc có tốc độ siêu phàm để xử
lý và tiếp thu lượng thông tin khổng lồ không? FBI có nói dối không?
Yasmeh, 2016
Ngược lại, những người quan sát quen thuộc với máy tính và tự động hóa lại hiểu đây là một vấn đề có thể
giải quyết dễ dàng bằng máy tính. Báo chí tối thiểu đã cố gắng giải thích việc 'khử trùng lặp' và số lượng
dữ liệu khổng lồ, chẳng hạn như e-mail, trên thực tế, có thể được kiểm tra một cách hiệu quả và hiệu quả
bằng cách sử dụng các chương trình tìm kiếm các chuỗi và mẫu cụ thể, đã không làm giảm bớt sự nghi ngờ về
những người hoài nghi không quen với cách tính toán hoạt động.
Thế kỷ 21 được cho là thế kỷ của máy tính. Trí tuệ nhân tạo cuối cùng đã trưởng thành khi nó được đưa
vào quá trình chuyển đổi công việc, thương mại và cuộc sống hàng ngày. Dữ liệu lớn, nhận dạng giọng nói và
khuôn mặt, robot, internet vạn vật, điện toán đám mây, phương tiện tự hành và khả năng truy cập 24/7 cho
bất kỳ ai, ở bất kỳ đâu trên thế giới thông qua mạng xã hội đang thay đổi cách thức và nơi mọi người làm
việc, cộng tác, giao tiếp, mua sắm, ăn uống, du lịch, nhận tin tức và giải trí, và khá đơn giản là trực
tiếp. Máy tính cũng đang chuyển đổi ngành công nghiệp và sự đổi mới trong mọi lĩnh vực, trở thành một công
cụ không thể thiếu đang thúc đẩy những cách làm và suy nghĩ mới. Trong một thế giới bão hòa bởi máy tính,
'Computational Tinking' hay CT (Wing, 2006, 2011) hiện được công nhận là năng lực nền tảng để trở thành một
công dân có hiểu biết và thành công trong công việc STEM, một năng lực cũng có tiềm năng trở thành phương
tiện để giải quyết vấn đề sáng tạo và đổi mới trong tất cả các lĩnh vực khác. Trong thập kỷ này, những nỗ
lực mang tính hệ thống đã đạt được động lực để đưa giáo dục khoa học máy tính (CS) và CT vào quy mô trong
các lớp học K-12 ở các bang trên khắp Hoa Kỳ và quốc tế. Năm 2012, Chương trình Giáo dục Quốc gia Vương
quốc Anh bắt đầu giới thiệu CS cho tất cả học sinh ở mọi cấp lớp. Những nỗ lực của Hoa Kỳ đã tăng cường
tính hợp pháp với nhiệm vụ 'Khoa học máy tính cho tất cả mọi người' của Tổng thống năm 2016 được khởi xướng
với sự cộng tác của các cơ quan tài trợ liên bang, các tổ chức nghiên cứu học thuật, hiệp hội nghề nghiệp,
các đối tác công nghiệp nổi bật và các tổ chức phi lợi nhuận. Trong lời kêu gọi ủng hộ giáo dục CS, Tổng
thống Obama lặp lại niềm tin của nhiều người trong cộng đồng giáo dục khi khẳng định rằng tất cả trẻ em từ
mẫu giáo đến trung học đều cần học CS và được trang bị các kỹ năng tư duy tính toán cần thiết để tham gia
vào thế giới định hướng công nghệ của chúng ta. (Smith, 2016).
ta về điều gì là quan trọng cần học không chỉ trong các môn học STEM mà còn trong các ngành nhân văn. Đây là ca trực
đặc quyền dạy các khả năng tư duy phê phán bậc cao cơ bản trong mọi lĩnh vực ngoài kỹ năng học vẹt và quy trình,
trong lĩnh vực được gọi là 'học sâu hơn' (Pellegrino và Hilton, 2013). Những nỗ lực trên toàn quốc của Hoa Kỳ xung
quanh các tiêu chuẩn Common Core cho các môn học như toán học và tiếng Anh, cũng như Tiêu chuẩn Khoa học Thế hệ Tiếp
theo (NRC, 2013) phản ánh những thay đổi tương tự ở các quốc gia khác, trong đó nhấn mạnh đến tư duy kỷ luật và cách
hiểu và vượt ra ngoài việc học vẹt. Vì vậy, việc dạy toán đã chuyển sang hướng tư duy như một nhà toán học; học khoa
học hiện nay liên quan đến việc phát triển năng lực tư duy và thực hiện các hoạt động thực tiễn đích thực của một
Khi đó, có vẻ hợp lý là các nhà giáo dục và các nhà hoạch định chính sách muốn dạy khoa học máy tính đang cố
gắng ưu tiên tư duy tính toán hoặc tư duy như một nhà khoa học máy tính hơn các khía cạnh khác của máy tính (chẳng
hạn như học số học nhị phân). Rốt cuộc thì 'tư duy tính toán' là gì? Nó được định nghĩa và hiểu như thế nào?
Truyền thông của ACM năm 2006 (Wing, 2006, 2011) xứng đáng được nhắc đến vì đã thu hút được trí tưởng tượng tập thể
của các nhà giáo dục và nhà nghiên cứu trên toàn thế giới và thúc đẩy nỗ lực toàn cầu nhằm tạo ra một thế hệ các nhà
tư tưởng tính toán . Cô ấy sử dụng 'tư duy tính toán' làm cách viết tắt cho 'suy nghĩ như một nhà khoa học máy tính'.
Tư duy tính toán về cơ bản là giải quyết vấn đề bằng cách sử dụng các khái niệm và chiến lược có liên quan chặt chẽ
nhất đến khoa học máy tính (do đó có tên như vậy). Việc hình thành vấn đề nên được coi là một phần quan trọng của
quá trình giải quyết vấn đề này. Vì việc xây dựng lời giải cho bài toán sử dụng CT không cần đến máy tính, mặc dù
Đúng vậy, CT có thể được dạy mà không cần sử dụng máy tính. Các nhà giáo dục K-12 hiện mong muốn dạy những kỹ năng
này, có và không có máy tính, theo những cách trang bị cho học sinh áp dụng chúng trong các bối cảnh và lĩnh vực
khác nhau, và thường là ở những nơi máy tính hoặc thiết bị điện toán phải thực hiện giải pháp. Điều này có phần
khác biệt so với những quan điểm ban đầu về CT do Papert (1980) ban hành, công trình tiên phong của ông về trẻ em
và lập trình vẫn tiếp tục truyền cảm hứng cho các chương trình giảng dạy và phương pháp sư phạm CS xây dựng lấy
học sinh làm trung tâm cho đến tận ngày nay.
Do thế giới đang chuyển động theo hướng bão hòa về điện toán, CT đặc biệt phù hợp như một năng lực tư duy có
thể áp dụng rộng rãi cùng với tư duy phản biện khác cần thiết để giải quyết những thách thức đặt ra trong thế kỷ
này trên nhiều lĩnh vực khác nhau. CT đóng vai trò quan trọng trong việc thay đổi cục diện của Thế chiến thứ hai
khi nhà tiên phong về máy tính Alan Turing sử dụng nó để phá mã của Máy Te Enigma làm cơ sở cho các nỗ lực chiến
tranh của Đức Quốc xã (Hodges, 2012). Gần đây hơn, CT đã đưa ra trường hợp thuyết phục nhất đáng được quan tâm
nghiêm túc khi vào buổi bình minh của thế kỷ này, nó được cho là đã giải mã được bộ gen của con người, được coi là
một trong những vấn đề gai góc nhất mà cộng đồng y sinh đã phải vật lộn trong nhiều thập kỷ. Những người theo chủ
nghĩa tương lai tin rằng CT cũng sẽ đóng vai trò tương tự trong việc giải quyết các vấn đề nhức nhối mà các thế hệ
hiện tại và tương lai sẽ phải đối mặt, chẳng hạn như biến đổi khí hậu, tình trạng thiếu các nguồn tài nguyên quan
trọng như nước và bất bình đẳng xã hội tiếp tục gây tai họa cho các xã hội trên toàn thế giới.
Rất dễ rơi vào cái bẫy mà CT đang suy nghĩ như một cái máy tính. Tuy nhiên, sẽ dễ
dàng tránh được một cái bẫy nếu người ta ghi nhớ khuôn khổ “suy nghĩ như một <chuyên
gia trong lĩnh vực>” của chúng ta đối với năng lực tư duy <theo lĩnh vực cụ thể>.
Suy nghĩ là một đặc điểm vốn có của con người liên quan đến lý luận. Máy tính không
suy nghĩ, vì vậy CT KHÔNG phải là 'suy nghĩ như máy tính', mà là suy nghĩ như một nhà khoa học
máy tính. Chính các phương pháp giải quyết vấn đề thường được các nhà khoa học máy tính sử dụng
đã tạo nên tư duy tính toán.
Những cách tiếp cận và ý tưởng giải quyết vấn đề mà CS áp dụng là gì? Chúng ta hãy nhìn vào những điều này
Kế tiếp.
giáo viên và nhà thiết kế xây dựng chương trình giảng dạy nhằm chuẩn bị năng lực tư duy tính toán cho trẻ. Bài viết
của Jeanette Wing và những nỗ lực tiếp theo nhằm định nghĩa CT – đặc biệt là đối với giáo dục K-12 – đã tạo ra
một lượng lớn các bài viết chia CT thành nhiều yếu tố nhằm làm rõ và phác thảo ý nghĩa của 'suy nghĩ như một nhà
khoa học máy tính', bao gồm cả trạng thái CT của chúng tôi -sau đó-
field' trong Nhà nghiên cứu giáo dục của AERA (Grover và Pea, 2013).1 Tất cả những yếu tố này bao gồm
sự kết hợp nào đó của danh sách các năng lực mà hầu hết đều đồng ý là các khía cạnh của quá trình tư
duy mà các nhà khoa học máy tính tham gia khi họ giải quyết vấn đề. Hãy nhớ rằng chưa có một danh sách
nào có sẵn, các yếu tố mà chúng tôi thấy là toàn diện và hữu ích nhất để mô tả CT cho giáo viên, với
một số điều chỉnh của riêng chúng tôi, là những yếu tố được nêu trong sáng kiến Máy tính tại trường học của Anh.
Bằng cách quan sát những kiểu tư duy mà các nhà khoa học máy tính kích hoạt khi họ tham gia giải
quyết vấn đề, chúng tôi thấy rằng CT bao gồm các khái niệm và thực tiễn sau đây. Việc đưa quan điểm
thực tiễn về CT bên cạnh các khái niệm CT phù hợp với khái niệm 'suy nghĩ như một <chuyên gia miền>' và
mô tả các hành vi mà các chuyên gia miền tham gia vào lĩnh vực này.
Bây giờ chúng tôi mô tả từng điều này cùng với các ví dụ được đặt trong bối cảnh phi máy tính hàng
ngày cũng như bối cảnh điện toán và lập trình. Nếu có thể, chúng tôi cũng cung cấp một hoặc hai ví dụ
đơn giản về cách giáo viên có thể dạy những khái niệm và thực hành này trong lớp học.
một tình huống. Một ví dụ hàng ngày về tư duy logic và phân tích có thể liên quan đến việc phân tích liệu
1
Trong số các bài viết phân tích CT có ảnh hưởng lớn hơn bao gồm 'định nghĩa hoạt động' của ISTE, 'Khám phá công nghệ tính
toán' của Google (có sẵn tại: https://goo.gl/eUBk7v); sáng kiến 'Máy tính tại trường học' của Vương quốc Anh và sáu Thực hành
CT và bảy Ý tưởng lớn về Máy tính theo Nguyên tắc APCS.
thật đáng để đến Cửa hàng A để mua một chiếc váy với giá 30 đô la hoặc Cửa hàng B nơi có giá 20 đô la, có tính đến các
yếu tố như khoảng cách đến cửa hàng, thời gian trong ngày và thời tiết. Có thể sẽ không hợp lý khi đến Cửa hàng B nếu
nó ở xa hơn Cửa hàng A và chi phí đi đến Cửa hàng B lớn hơn mức chênh lệch 10 đô la của chiếc váy.
Các nhà khoa học máy tính cũng thường sử dụng nhiều khung logic hình thức hơn trong công việc của họ. logic Boolean
là trung tâm của mọi hoạt động điện toán, từ mạch điện toán đến việc sử dụng nó trong phần mềm và lập trình để đưa ra
quyết định trong luồng điều khiển thuật toán. Là một phần của quá trình phát triển năng lực CT, học sinh phải xây dựng
kỹ năng tư duy phân tích bằng cách giải các câu đố logic và các tình huống giải quyết vấn đề cũng như học logic
Boolean chính thức thông qua sự hiểu biết về AND, OR, NOT (và các biến thể khác của toán tử Boolean) và cách xây dựng
các biểu thức Boolean bằng cách sử dụng sự kết hợp của các phần tử logic nguyên thủy này.
Một ví dụ đơn giản về tư duy logic có thể liên quan đến việc xây dựng biểu thức Boolean cho chuông báo thức
sẽ đổ chuông khi tập luyện bóng đá vào lúc 4 giờ chiều Thứ Hai và lúc 5 giờ chiều Thứ Tư,
như vậy:
Bóng đáBáo thức reo NẾU ((Ngày trong tuần là Thứ Hai VÀ Thời gian là 4 giờ chiều) HOẶC (Ngày trong tuần
Khả năng suy luận bằng logic Boolean cũng có tác dụng tốt trong việc lập trình trò chơi khi trò chơi yêu
cầu sử dụng các câu lệnh điều khiển liên quan đến các biểu thức Boolean, chẳng hạn như, 'Trò chơi kết thúc
nếu người chơi đã thu thập tất cả đồng tiền vàng hoặc không còn mạng nào nữa'.2 Tất nhiên, chương trình sẽ
yêu cầu kiểm tra logic bổ sung để xác định xem có thông báo 'Bạn đã thắng!' hoặc 'Bạn đã thua!' trước khi
nó kết thúc.
tư duy thuật toán là kỹ năng liên quan đến việc phát triển một thuật toán. Công thức nấu ăn là một ví dụ phổ biến hàng
ngày về thuật toán (mặc dù kém chính xác hơn những gì được coi là thuật toán trong khoa học máy tính). Các ví dụ phổ
biến khác là bản đồ lộ trình được đề xuất bởi các ứng dụng như Google Maps hoặc hướng dẫn lắp ráp một món đồ nội thất,
hướng dẫn đan hoặc móc một chiếc khăn quàng cổ, v.v. Trên thực tế, tập hợp hành động chính xác để chuẩn bị đến trường
vào mỗi buổi sáng có thể được hiểu là một thuật toán.
Hầu hết các thuật toán mà học sinh gặp phải trong bối cảnh học tập CT K-12 đều liên quan đến ba khối xây dựng cơ
bản – trình tự, lựa chọn và lặp lại. Các bước trong tất cả các thuật toán đều tuân theo một trình tự; tuy nhiên, có
thể có các kiểm tra có điều kiện làm cho thuật toán chọn một trong hai thuật toán khác hoặc (các) tập hợp hành động
được lặp lại. Trong bối cảnh lập trình, kiểm tra có điều kiện
2 Một số ví dụ được rút ra từ Grover, Pea và Cooper (2015), Grover (2017), và Grover và Basu (2017).
liên quan đến các cấu trúc if-then-else và vòng lặp liên quan đến các cấu trúc như do-while, for, lặp lại hoặc
lặp lại cho đến khi thực hiện các hành động lặp đi lặp lại. Đệ quy là một ý tưởng liên quan đến sự lặp lại,
một kỹ thuật độc đáo của khoa học máy tính mặc dù nó là một ý tưởng tiên tiến hơn và chủ yếu phù hợp với chương
trình giảng dạy ở trường trung học trở lên. Grover, Pea và Cooper (2015) mô tả một chương trình giảng dạy có
cấu trúc ở trường trung học cơ sở nhằm dạy kỹ năng tư duy thuật toán.
Các nhà khoa học máy tính sử dụng khái niệm thuật toán này để đưa ra giải pháp chính xác cho các vấn đề.
Các giải pháp này có thể được mô tả dưới dạng sơ đồ, mã giả hoặc danh sách có dấu đầu dòng được viết bằng ngôn
ngữ trừu tượng hàng ngày mà sau đó có thể được mã hóa hoặc lập trình (bởi cùng một nhà khoa học máy tính tạo
ra thuật toán hoặc bởi các lập trình viên khác) bằng ngôn ngữ lập trình được giải thích và thực hiện (hoặc
'thực thi') bởi máy tính. Giống như logic, việc học chuyên ngành về khoa học máy tính ở cấp đại học cũng liên
quan đến việc nghiên cứu chính thức hơn về các thuật toán mà sinh viên có thể không gặp phải khi học CS K-12,
liên quan đến việc kiểm tra các khía cạnh về hiệu quả, tối ưu hóa tài nguyên và độ phức tạp của thuật toán.
dạng hoặc các chủ đề toán học như phép nhân và hoàn thành chuỗi số. Tư duy tính toán bao gồm những ý tưởng về
nhận dạng mẫu và mở rộng ý tưởng sang các bối cảnh giải quyết vấn đề. Nhận dạng mẫu trong CT có thể dẫn đến
việc xác định một giải pháp có thể khái quát hóa (cũng có những điểm trùng lặp về toán học) có thể thúc đẩy tự
động hóa trong điện toán để xử lý một tình huống chung, ví dụ như bất kỳ Bước n nào của chuỗi bất kể n lớn đến
đâu. Việc nhận dạng mẫu lặp lại cũng cho biết cách kết hợp phép lặp hoặc đệ quy trong một giải pháp thuật toán
hoặc phân tích chức năng của một vấn đề (điều này cũng phục vụ mục đích tạo ra các giải pháp mô-đun và có thể
quản lý được). CT cũng tận dụng khả năng nhận dạng mẫu bằng cách kiểm tra phần nào của một vấn đề tương tự với
vấn đề mà người ta đã giải quyết (hoặc lập trình) trước đó. Đây là nền tảng của ý tưởng mạnh mẽ về các mẫu
thiết kế hoặc mô hình lập trình trong phát triển phần mềm.
Ngoài những ý tưởng cơ bản về nhận dạng mẫu này, các nhà khoa học máy tính còn nâng cao cách sử dụng và
hiểu biết chính thức hơn về ý tưởng nhận dạng mẫu trong các chủ đề như học máy và trí tuệ nhân tạo tập trung
vào nhận dạng mẫu trong dữ liệu. Nhận dạng mẫu được sử dụng trong thuật toán thị giác máy tính để nhận dạng
hình ảnh và khuôn mặt (hãy nhớ lại cách Facebook có thể tự động 'nhận dạng' và gắn thẻ khuôn mặt?) hoặc để
giới thiệu sản phẩm trên Amazon, bài viết tiếp theo của bạn trên trang web tin tức hoặc bài hát tiếp theo của
toán). Tuy nhiên, tính trừu tượng là một đặc tính chung của các hệ thống ký hiệu đã được tận dụng trong số
học, đại số và các lĩnh vực toán học phụ khác trong nhiều thế kỷ.
Jeanette Wing coi tính trừu tượng là quá trình suy nghĩ cấp cao và quan trọng nhất trong CT.
Nó liên quan đến một số yếu tố của CT được mô tả ở trên. Nói một cách đơn giản, sự trừu tượng là 'thông tin
trốn'. Hoạt động chi tiết của 'hộp đen' cho phép người ta chỉ tập trung vào đầu vào và đầu ra. Theo nghĩa này, sự trừu tượng cung
cấp một cách đơn giản hóa và quản lý sự phức tạp. Đó còn là khả năng khái quát hóa dựa trên những điểm tương đồng và khác biệt.
CT liên quan đến việc biết đúng loại trừu tượng để tạo và sử dụng trong giải pháp tính toán.
Giáo dục K-12 nên cố gắng cung cấp cho trẻ em cảm giác về việc máy tính và ngôn ngữ lập trình cũng là những thứ trừu tượng
như thế nào. Máy tính cứng là một cỗ máy vật lý phức tạp được tạo thành từ các mạch và dây dẫn, với tư cách là người dùng máy
tính, chúng ta tương tác với nó thông qua các hệ điều hành và ứng dụng phức tạp. Ngay cả các nhà phát triển phần mềm ứng dụng máy
tính cũng không cần phải suy nghĩ về mạch điện vật lý. Ngôn ngữ lập trình được các nhà phát triển phần mềm sử dụng thể hiện sự
trừu tượng của máy tính hiểu được cấu trúc và từ khóa được sử dụng trong ngôn ngữ đó. Các ngôn ngữ cấp cao hơn này che giấu sự
phức tạp của việc thực hiện các thao tác trong các hướng dẫn nguyên thủy hơn được sử dụng trong các ngôn ngữ lập trình cấp thấp
hơn và cuối cùng là 'ngôn ngữ máy' cấp thấp nhất. Nhà phát triển hoặc kỹ sư ở bất kỳ giai đoạn nào thường chỉ cần biết cách
tương tác với một cấp độ bên dưới và những gì cấp độ cao hơn tiếp theo sẽ nhìn thấy. Mọi thuật toán cũng là một sự trừu tượng
giống như mọi mô hình hoặc mô phỏng đại diện cho một số hiện tượng trong thế giới thực.
Mọi thủ tục được xác định trong một chương trình đại diện cho một tập hợp các hướng dẫn cũng là một sự trừu tượng.
Dữ liệu, được lưu trữ trong các biến và cấu trúc dữ liệu trong chương trình, là các thủ tục hoặc chương trình 'nội dung' trừu
tượng hoạt động và thao tác. Chúng trừu tượng vì chúng gói gọn và che giấu các chi tiết về vật chất mà chúng đại diện. Ở khía
cạnh quan trọng này, các chương trình máy tính gần giống với các phương trình đại số quen thuộc hơn, chúng cũng che giấu các chi
tiết về những thứ vật lý được biểu thị trong phương trình đại số bằng các biến và giá trị của chúng.
Phải thừa nhận rằng tính trừu tượng là một trong những ý tưởng trừu tượng hơn để giảng dạy và đánh giá như một phần của CS/CT.
chương trình giảng dạy. Tuy nhiên, nó phổ biến đến mức nó xuất hiện ở hầu hết mọi nơi. Như Wing đã nói:
Tính trừu tượng được sử dụng trong việc xác định các mẫu, khái quát hóa từ các trường hợp cụ thể và tham số hóa.
Nó được sử dụng để để một đối tượng đại diện cho nhiều đối tượng. Nó được sử dụng để nắm bắt các thuộc tính
thiết yếu chung cho một tập hợp các đối tượng trong khi che giấu những khác biệt không liên quan giữa chúng. Ví
dụ: thuật toán là sự trừu tượng hóa của một quy trình lấy đầu vào, thực hiện một chuỗi các bước và tạo ra đầu
ra để đáp ứng mục tiêu mong muốn. Kiểu dữ liệu trừu tượng xác định một tập hợp trừu tượng các giá trị và thao
tác để thao tác các giá trị đó, ẩn biểu diễn thực tế của các giá trị khỏi người dùng kiểu dữ liệu trừu tượng.
Thiết kế các thuật toán hiệu quả vốn dĩ liên quan đến việc thiết kế các kiểu dữ liệu trừu tượng.
Cánh, 2014
Sự đánh giá
Việc đánh giá đi đôi với một số yếu tố của CT được mô tả ở trên. Giải pháp cho các vấn đề ở dạng thuật toán hoặc trừu tượng hóa
ở dạng chương trình, mô hình hoặc mô phỏng phải được đánh giá về tính đúng đắn và phù hợp dựa trên mục tiêu cũng như các ràng
buộc. Mặc dù nó liên quan đến việc phân tích và tư duy phân tích, nhưng ý tưởng đánh giá lại lớn hơn. Giải pháp cho các vấn đề
được đánh giá về độ chính xác và đúng đắn đối với kết quả hoặc mục tiêu mong muốn. Thường có những cơ sở khác để đánh giá. Tink
của thuật toán cung cấp hướng dẫn. Nó có thể được đánh giá dựa trên bất kỳ tiêu chí nào - ngắn nhất, nhanh nhất, đẹp nhất hoặc
bạn đi ngang qua một cửa hàng tạp hóa hoặc trạm xăng nơi bạn có thể cần dừng lại? Các nhà khoa học máy tính xử lý các vấn
đề và thuật toán phức tạp thường đánh giá các giải pháp của họ dựa trên các hạn chế về hiệu quả như thời gian hoàn thành,
mức sử dụng tài nguyên và các yếu tố con người hoặc trải nghiệm người dùng.
Tự động hóa
'Máy tính là sự tự động hóa những điều trừu tượng của chúng ta' (Wing, 2008, p. 3718). Một phần quan trọng của tư duy tính
toán, đối với khoa học máy tính cũng như điện toán trong các lĩnh vực khác, là hướng tới một giải pháp sẽ được thực thi
bởi máy móc. Tự động hóa như một lý do căn bản để giải quyết một nhu cầu không thể giải quyết được bằng cách khác thường
là động lực để sử dụng CT để giải quyết vấn đề trong thế giới thực. Trong những trường hợp như vậy, việc nhận biết khi
nào cần tự động hóa và cách trình bày dữ liệu cũng như trừu tượng hóa nào sẽ giúp phát triển giải pháp tự động tốt nhất
Ở cấp độ K-12, mặc dù mục tiêu cuối cùng của việc áp dụng CT không phải lúc nào cũng là một giải pháp tính toán được
triển khai trên máy, nhưng điều quan trọng là người học phải phát triển sự hiểu biết khi nào tự động hóa là câu trả lời
cho vấn đề – các khía cạnh của vấn đề là gì con người giải quyết tốt hơn và máy móc giải quyết tốt hơn.
Các phương pháp thực hành Te CT được mô tả dưới đây phác thảo các phương pháp tiếp cận mà các nhà khoa học máy tính thường
Polya (1957) về việc giải quyết vấn đề trong bối cảnh toán học. Một phương pháp giải quyết vấn đề như vậy đã được Rene
Descartes (1637) liệt kê như một trong những quy tắc cho tư duy đúng đắn trong Luận văn về Phương pháp: 'chia từng khó
khăn đang được xem xét thành càng nhiều phần càng tốt, và càng cần thiết thì càng tốt. giải pháp thỏa đáng'. Tuy nhiên,
đây là một cách tiếp cận quan trọng trong việc giải quyết vấn đề tính toán. Việc chia nhỏ vấn đề thành các vấn đề nhỏ hơn
sẽ làm cho vấn đề trở nên dễ xử lý hơn và quá trình giải quyết vấn đề cũng dễ quản lý hơn. Ví dụ có rất nhiều trong cuộc
sống hàng ngày. Chuẩn bị sẵn sàng đến trường hoặc đi làm thường bao gồm việc dọn dẹp, mặc quần áo, ăn sáng, chuẩn bị bữa
trưa hoặc đồ ăn nhẹ và đảm bảo bạn có đủ đồ đạc trong túi khi rời đi. Mỗi nhiệm vụ phụ này chứa tập hợp hành động riêng,
độc lập với nhiệm vụ kia và thường xảy ra theo cùng một trình tự mỗi ngày. Quay trở lại quy trình nấu ăn theo thuật toán
và công thức nấu ăn như một thuật toán, người ta có thể dễ dàng nhận thấy sự phân rã vấn đề khi công thức tách biệt quá
trình chuẩn bị trước của việc ướp hoặc lấy các nguyên liệu lại với nhau, khỏi việc chuẩn bị một số phần của món ăn (ví
dụ: nước sốt hoặc nước xốt) và việc chuẩn bị món ăn chính, sau đó kết hợp nó với một số bước chế biến sau (làm nguội,
Trong bối cảnh lập trình, nhiệm vụ chia nhỏ một vấn đề thường dẫn đến các đoạn mã được viết riêng biệt.
Các bộ phận cấu thành này của chương trình cần phải 'kết hợp với nhau' khi tổng thể giải pháp được hình
thành. Quá trình này đơn giản khi các bài toán con khác nhau độc lập với nhau. Lấy ví dụ về nhiệm vụ tính
Vấn đề phụ đầu tiên có thể liên quan đến việc yêu cầu người dùng nhập dữ liệu và tạo danh sách hoặc mảng
điểm; thứ hai có thể xử lý việc duyệt qua danh sách và cộng tất cả điểm số trong một số biến tổng hợp; và
bước cuối cùng có thể chỉ đơn giản là tính điểm trung bình bằng cách chia tổng điểm của tất cả các điểm cho
số điểm của học sinh (để thực hiện phép kiểm tra chia cho 0 một cách thích hợp!).
Nhưng quá trình soạn thảo giải pháp hay 'bố cục kế hoạch' không phải lúc nào cũng đơn giản đối với những
người mới lập trình khi các vấn đề phụ đan xen hoặc kết nối với nhau theo một cách nào đó. Điều này đã được
chứng minh một cách nổi tiếng qua 'Vấn đề về lượng mưa' của Elliot Soloway (Soloway và cộng sự, 1983), trong
đó học sinh được giao nhiệm vụ giải quyết vấn đề sau: 'Viết một chương trình đọc nhiều lần các số nguyên
dương cho đến khi nó đọc được số nguyên 99999. Sau khi nhìn thấy 99999, nó sẽ in ra mức trung bình.' Ở đây,
các nhiệm vụ đọc giá trị đầu vào, kiểm tra đầu vào để tìm giá trị trọng điểm và liệu nó có âm hay không đều
được kết hợp với việc tổng hợp các giá trị. Vấn đề này đã nhiều lần được chứng minh là có thể gây khó khăn
Ví dụ này gợi ý rằng tư duy tính toán không chỉ đòi hỏi kỹ năng phân tích một
vấn đề mà còn đưa ra giải pháp sau khi các vấn đề phụ đã được giải quyết.
bởi con người hoặc các thiết bị tính toán. Mặc dù một số ví dụ về tư duy tính toán được mô tả ở trên được
đặt trong thế giới thực và không liên quan đến máy tính, nhưng việc tạo ra các giải pháp để máy tính thực
hiện thường là mục tiêu cuối cùng tự nhiên của tư duy tính toán và giải quyết vấn đề. Đôi khi, đồ tạo tác
tính toán chỉ đơn thuần là một mô phỏng hoặc mô hình hoặc nguyên mẫu tương tác của một thứ mà cuối cùng sẽ
trở thành một đồ tạo tác vật lý; vào những thời điểm khác, bản thân sản phẩm tính toán lại là mục tiêu cuối
cùng – một trò chơi, câu chuyện hoặc sản phẩm về sự sáng tạo và thể hiện cá nhân hoặc phần mềm mà người
Do đó, lập trình được coi là một nền tảng đặc biệt hữu ích để dạy CT vì nó tập hợp một số yếu tố – cả
khái niệm và thực hành – là trọng tâm của CT. Trong Grover và Pea (2013), chúng tôi đã khẳng định, 'Lập
trình không chỉ là kỹ năng cơ bản của CS và là công cụ chính để hỗ trợ các nhiệm vụ nhận thức liên quan đến
Mặc dù vậy, điều quan trọng cần lưu ý là CT liên quan đến khả năng giải quyết vấn đề và tư duy có thể
được áp dụng trong các môi trường bên ngoài lập trình. Lập trình, mặc dù quan trọng, hay, thú vị và vui nhộn
nhưng vẫn là một trong những phương tiện khả thi để phát triển năng lực CT. Sự vội vã tập trung vào mã hóa
hiện nay thường thu hút sự chú ý tới các tính năng của môi trường lập trình và tránh xa các khía cạnh quan
trọng của tư duy tính toán cần phải tham gia. Thông thường, những môi trường lập trình 'tầng thấp' này cho
phép mày mò mà không cần chánh niệm và siêu nhận thức cần thiết cho việc học sâu hơn. Việc này giống như
của một ngôn ngữ lập trình cụ thể (ý nghĩa và mục đích của các cấu trúc) mà không đánh giá sâu hơn về các
khái niệm và thực hành CT sâu hơn nhằm trang bị cho người học những năng lực có thể sử dụng trong bất kỳ
bối cảnh lập trình nào, bất kể tính năng cụ thể của nó.
và Pribram, 1960). Đánh giá độ chính xác của giải pháp của một người, phát hiện sai sót trong giải pháp bị
lỗi và sửa chúng, là một phần tất yếu của bất kỳ quá trình giải quyết vấn đề nào, chẳng hạn như đóng đinh
cho phẳng với bề mặt gỗ. Tất cả chúng ta đều liên tục 'gỡ lỗi' tất cả các loại vấn đề trước mắt, từ việc nếm
lượng muối và gia vị trong một món ăn (một số vấn đề khó khắc phục hơn ngay cả khi bạn đã xác định được
lỗi!) cho đến việc đọc lại các bài tiểu luận và e- thư để sửa lỗi chính tả và ngữ pháp.
Giống như các khái niệm và thực hành CT khác, việc kiểm tra và gỡ lỗi có liên quan đến nhiều yếu tố khác
được mô tả ở đây. Chúng là một phần của quá trình đánh giá một giải pháp tính toán – liệu nó có thỏa mãn
các quy tắc và giả định liên quan hay không, liệu giải pháp đó có hoạt động với các điều kiện biên cũng như
tất cả các đầu vào và tình huống có liên quan hay không và liệu nó có hoạt động như mong đợi đối với các đầu
vào phi logic hoặc sai sót hay không. Điều này cũng liên quan đến tư duy phân tích logic và 'nếu-thì' để cô
lập vấn đề và tìm ra lỗi. Nó cũng là một phần không thể thiếu trong các chiến lược phát triển gia tăng và
Kiểm tra và gỡ lỗi một cách có hệ thống, nghiêm ngặt là một nghệ thuật và khoa học trong điện toán và đặc
biệt là trong phát triển phần mềm. Phát triển các trường hợp thử nghiệm và thực hiện các bước thử nghiệm của
phần mềm là một phần quan trọng của quy trình phát triển phần mềm và bản thân nó là một quy trình có thể trở
nên tự động hóa. Trong bối cảnh lập trình, việc kiểm tra một cách có hệ thống giải pháp về tính chính xác
cho phạm vi đầu vào hợp lệ và không hợp lệ là một năng lực không thể thiếu khi học lập trình. Điều đáng chú
ý là, mặc dù bề ngoài có sự tương đồng với quy trình khoa học, nhưng việc kiểm tra và gỡ lỗi trong CT rõ
ràng hơn nhiều so với tư duy khoa học khi người ta đánh giá kết quả và bằng chứng từ một thí nghiệm và sửa
Phát triển tăng dần (hoặc cải tiến lặp đi lặp lại)
Đây là một chiến lược rất phổ biến được sử dụng trong bối cảnh lập trình. Khó tương tự như quá trình phân rã
vấn đề, nó không tập trung nhiều vào ý tưởng phân tách vấn đề thành các vấn đề phụ, giống như việc 'phát
triển giải pháp hoặc chương trình' lặp đi lặp lại với việc kiểm tra và gỡ lỗi thường xuyên ở giữa các giai
đoạn để phát triển các cải tiến. Điều này trái ngược với – và tốt hơn là – viết những đoạn mã lớn gây khó
khăn cho việc xác định (các) lỗi nếu giải pháp không hoạt động như dự định. Hình đại diện được sử dụng thường
xuyên nhất của phương pháp này trong giới phát triển phần mềm chuyên nghiệp có biệt danh là 'phát triển linh
Hãy xem xét một ví dụ đơn giản về robot. Hãy tưởng tượng một robot lưu động cần quay lại khi gặp chướng
ngại vật. Trước tiên, học sinh có thể chỉ cần viết mã và kiểm tra chuyển động – để robot tiến về phía trước
theo đường thẳng. Mười giây/anh ta bổ sung thêm bài kiểm tra va chạm chướng ngại vật bằng cách cho động cơ
dừng khi cảm biến cảm ứng cho biết có va chạm. Một khi điều này đã được kiểm tra và thấy có hiệu quả, học sinh
sau đó sẽ thêm mã va chạm ngược và quay lại thay vì chỉ dừng lại. Kiểu tăng trưởng gia tăng của
giải pháp này có thể trái ngược với việc mã hóa tất cả các phần cùng một lúc và sau đó thử nghiệm.
Hãy tưởng tượng mọi việc có thể trở nên khó quản lý như thế nào nếu vấn đề phức tạp hơn!
CT, nhưng thường được mô tả như những cách thực hành phổ biến trong việc giải quyết vấn đề tính
toán. Những điều này bao gồm sự hợp tác và sáng tạo. Cả hai đều được thừa nhận là những năng lực
quan trọng trong thế kỷ mới, nhưng chúng cũng có ý nghĩa đặc biệt trong thực hành CT và trong thế
giới khoa học máy tính. Sự hợp tác thường được khuyến khích trong các lớp học tin học K-12 thông
qua 'lập trình cặp' (Williams và Kesseler, 2002), một phương pháp ngày càng phổ biến trong công
nghiệp. Các chuẩn mực cộng tác trong lập trình cặp yêu cầu các lập trình viên phải luân phiên giữa
việc nhập vai chính hoặc xem lại mã và đã được chứng minh là có lợi cho quá trình giải quyết vấn
đề. Có nhiều hình thức cộng tác khác chỉ có ở CS. Việc phân chia các nhiệm vụ phát triển trong kỹ
thuật phần mềm là cần thiết bởi các hoạt động CT như phân rã vấn đề và mô đun hóa. Tính toán song
song cũng dẫn đến sự phân chia các nhiệm vụ tính toán và là trọng tâm của các mô hình lập trình
quan trọng toàn cầu như MapReduce được sử dụng trong nhiều năm tại Google. Các hình thức cộng tác
thú vị khác trong thế giới CS bao gồm việc sử dụng Github để xây dựng công việc của nhau trong các
dự án, sử dụng nguồn lực từ cộng đồng để thúc đẩy một chương trình nghị sự khoa học (như trong
FoldIt và Xylem) và phát triển phần mềm hợp tác như một phần của cộng đồng mở và miễn phí. phong
trào nguồn dẫn đến việc tạo ra Linux và các hệ thống khác.
Tính sáng tạo khi thực hành CT hoạt động ở hai cấp độ – nó nhằm mục đích khuyến khích tư duy
vượt trội và các phương pháp tiếp cận khác để giải quyết vấn đề; và nó nhằm mục đích khuyến khích
việc tạo ra các đồ tạo tác tính toán như một hình thức thể hiện sáng tạo. Các môi trường lập trình
giới thiệu 'kết thúc mở' dựa trên khối như Scratch, Alice và App Inventor đã được phát triển với
mục tiêu dạy viết mã sáng tạo và thúc đẩy người học làm phương tiện dạy CT, đặc biệt là trong môi
trường K-12.
Bồi dưỡng CT trong lớp học và CT xuyên suốt các môn học
các công cụ thiết kế của máy tính hiện đại ít liên quan đến mã hóa (Tedre và Denning, 2016). Đồng thời, ít
người phản đối tuyên bố rằng lập trình là một phương tiện quan trọng - và hấp dẫn - để học và áp dụng (và do
đó giảng dạy và đánh giá) CT. Rất ít hoạt động khác liên quan đến nhiều khái niệm và thực tiễn về CT cũng như
lập trình.
Tuy nhiên, từ phần mô tả các khái niệm và thực tiễn CT, có thể thấy rõ rằng có nhiều cách
khác để thúc đẩy CT. Tư duy phân tích và logic có thể được bồi dưỡng thông qua các câu đố và bài
toán đố đòi hỏi người học phải tham gia vào khía cạnh quan trọng này của CT.
Những vấn đề liên quan đến lập luận và tư duy logic như vậy có thể được giải quyết trong nghệ thuật ngôn ngữ,
lớp học toán hoặc lớp học CS.
• Nếu Người khổng lồ đánh bại Dodgers thì Người khổng lồ sẽ giành được cờ hiệu.
• PlayerX đã hết.
Trong một trò chơi, có đúng sáu chiếc cốc úp ngược đứng cạnh nhau trên một đường thẳng. Mỗi người có chính xác
một quả bóng ẩn dưới nó. Các cốc được đánh số liên tục từ 1 đến 6. Mỗi quả bóng được sơn một màu duy nhất. Màu
sắc của các quả bóng là xanh lá cây, đỏ tươi, cam, tím, đỏ và vàng. Các quả bóng được giấu dưới cốc theo cách
Quả bóng màu tím phải được giấu dưới chiếc cốc có số thấp hơn quả bóng màu cam.
Bi đỏ phải được giấu dưới chiếc cốc liền kề với chiếc cốc bên dưới.
Màu nào sau đây có thể là màu của các quả bóng dưới cốc, theo thứ tự từ 1 đến 6?
Hiện tại, các vấn đề về tư duy tính toán và thuật toán như thế này hầu hết được tìm thấy trong các cuộc thi
như cuộc thi Enigma Computational và Algorithmic Tinking do Edfinity tổ chức cùng với Australian Math Trust3 và
Bebras,4 nhưng chắc chắn rằng học sinh sẽ được phục vụ tốt khi giải quyết chúng. những câu đố và vấn đề không
liên quan đến lập trình như một phần của việc xây dựng năng lực CT.
Có một số cách khuyến khích việc thực hành tư duy thuật toán ở người học bao gồm việc trình bày rõ ràng các
quy trình từng bước chính xác – bảng phân cảnh, một bộ câu có thứ tự, mã giả, sơ đồ và những thứ tương tự. Ngay
cả trong bối cảnh lập trình, việc thể hiện một thuật toán theo những cách như vậy trước khi mã hóa nó thành ngôn
ngữ lập trình để máy tính thực thi là một cách làm đã được thiết lập tốt và được khuyến khích. Một bài tập thú
vị được sử dụng trong bối cảnh chế tạo robot bao gồm việc viết một tập hợp các bước chi tiết bằng tiếng Anh đơn
giản để hướng dẫn bằng lời cho một học sinh bị bịt mắt thực hiện một nhiệm vụ nhất định. Ý tưởng về xử lý ngoại
lệ, lặp lại và hành động có điều kiện có thể được đưa vào bài tập thú vị này.
Đối với người học, việc thực hành các khái niệm và phương pháp tiếp cận tư duy tính toán này trong các bối
cảnh bên ngoài lập trình cho thấy tầm quan trọng của CT và quá trình giải quyết vấn đề thay vì chỉ đơn giản là
mã hóa giải pháp theo cú pháp của ngôn ngữ lập trình. Grover, Pea và Cooper (2015) mô tả một ví dụ về chương
trình giảng dạy tập trung vào việc học sâu hơn, có thể chuyển giao các kỹ năng tư duy thuật toán bằng cách sử
dụng phương pháp sư phạm kết hợp nhiều ý tưởng sư phạm khác nhau từ khoa học học tập, bên cạnh các đánh giá bao
gồm các khía cạnh nhận thức cũng như tình cảm của học tập sâu hơn.
Có lý khi lập luận rằng chính trong tất cả các bối cảnh bên ngoài lớp học CS, CT thực sự tỏa sáng với khả năng
sáng tạo của nó. Từ âm nhạc, toán, nghiên cứu xã hội, lịch sử, nghệ thuật ngôn ngữ và xuyên suốt các ngành khoa
học và kỹ thuật, các ý tưởng chương trình giảng dạy có thể trở nên sống động nhờ CT. Cũng giống như trong nghiên
cứu chuyên ngành trong từng lĩnh vực này, nơi tư duy tính toán thúc đẩy cả thực hành hàng ngày và những đổi mới
của nó, tính sáng tạo có vai trò quan trọng trong việc thiết kế chương trình giảng dạy và giảng dạy các môn học
khác thông qua việc tích hợp CT trong các lớp học đó, đồng thời cung cấp những kiến thức phong phú và bổ ích.
3
Xem https://edfinity.com/competitions
4
Xem www.bebraschallenge.org/
Máy tính và STEM chia sẻ mối quan hệ cộng sinh sâu sắc và do đó, các lớp học toán
và khoa học có lẽ cung cấp các bối cảnh phi CS trực quan và dễ dàng nhất cho việc
học và sử dụng CT. Việc sử dụng các công cụ tính toán để hỗ trợ học tập STEM sâu
hơn đã được chứng minh trong nhiều nghiên cứu trước đây và điều ngược lại cũng đã
được chứng minh là đúng. STEM có thể làm phong phú thêm việc học tính toán đồng thời mang lại
những cơ hội quý giá để đưa CT vào các khóa học STEM đã được thiết lập và dễ tiếp cận (cũng
như bắt buộc). Điểm thứ hai này đặc biệt phù hợp vì nhiều tiểu bang và quốc gia trên toàn thế
giới vẫn đang gặp khó khăn trong việc cung cấp trải nghiệm máy tính đầy đủ cho tất cả học
sinh như một phần của giáo dục K-12. Dựa trên các nghiên cứu thành công trong nghiên cứu
trước đây, mô hình hóa và mô phỏng tính toán là các cơ chế cụ thể để tích hợp tính toán và
STEM, đồng thời có thể mang lại lợi ích cho việc học cả nội dung STEM cũng như phát triển các
kỹ năng CT theo hướng nhấn mạnh đó (ví dụ: Honey và Hilton, 2011 ).
CT thông qua STEM cũng có thể giải quyết vấn đề thiếu giáo viên, vì việc chuẩn bị cho giáo viên STEM
sử dụng CT trong bối cảnh các lĩnh vực nội dung kỷ luật mà họ đã quen thuộc có thể thực tế hơn và phù hợp
với việc mở rộng quy mô triển khai CT trong giáo dục trường học.
Đưa CT vào các lớp học STEM cũng sẽ giúp học sinh chuẩn bị tốt hơn cho bối cảnh hiện đại của các môn
học STEM. Quan điểm này được xác nhận bởi Tiêu chuẩn Khoa học Thế hệ Tiếp theo, kêu gọi sử dụng toán học
và CT trong khoa học. Chúng ta có thể gọi đây là chương trình nghiên cứu 'Học CT-trong-STEM' và nó cần tìm
câu trả lời cho một số câu hỏi chính, bao gồm, 'Năng lực CT nào là quan trọng nhất đối với các ngành STEM
khác nhau?', 'Làm cách nào để người học có thể học tốt nhất phát triển những năng lực này thông qua trải
nghiệm học tập với các đơn vị chương trình học STEM?' và 'Làm cách nào chúng ta có thể cộng tác với các
giáo viên STEM để họ tiếp thu và sử dụng hiệu quả các phương pháp và phương pháp tiếp cận tư duy tính toán
trong chương trình giảng dạy của họ?' Những nỗ lực kết nối CT và STEM trong khoa học K-12 chủ yếu tập
trung vào việc xây dựng các mô hình tính toán và mô phỏng để hiểu và nghiên cứu các hiện tượng trong khoa
học (ví dụ: Hansen và cộng sự, 2015; Sengupta và cộng sự, 2013; Sherin, 2001; Wilensky, Brady và Horn,
2014) và đã cho thấy nhiều hứa hẹn. Những nỗ lực này cũng có thể được hỗ trợ bởi công việc đáng kể từ
cộng đồng nghiên cứu giáo dục toán học trong các nghiên cứu ngoại khóa của họ về tư duy toán học chức
năng liên quan đến quá trình giải quyết vấn đề trong thế giới thực và mô hình toán học của học sinh và
giáo viên (ví dụ Burkhardt, 2006; Lesh và Lehrer, 2003; Lesh và Zawojewski, 2007). Phát triển nền tảng
kiến thức về cách tốt nhất để thực hiện việc tích hợp CT và STEM đã được coi là một trong những điều bắt
buộc đối với nghiên cứu giáo dục máy tính (Cooper và cộng sự, 2014).
Vai trò của CT trong các môn học không phải STEM như âm nhạc, khoa học xã hội, nghệ thuật thị giác,
nghệ thuật ngôn ngữ, lịch sử rất đa dạng. Barr và Stephenson (2011) và Barr, Harrison và Conery (2011)
phác thảo các ví dụ về sự tích hợp này có thể trông như thế nào, cũng như Khám phá tính toán nghiên cứu
của Google. Có thể thấy ví dụ về những nỗ lực được ghi lại để tích hợp một cách có ý nghĩa các chủ đề CT
và không phải STEM trong Repenning, Webb và Ioannidou (2010), Settle et al. (2012), và Wolz và cộng sự.
Fablabs, chế tạo và đồ thủ công tính toán cũng mở ra cả một thế giới khả năng phát triển CT trong bối cảnh nghệ
thuật và thủ công liên quan đến việc tạo ra các đồ tạo tác tính toán hữu hình.
Phòng thí nghiệm Craf Tech của Michael Eisenberg và phòng thí nghiệm 6 của Leah Buechley Các thiết kế công cụ cải tiến bao gồm Lilypad
Arduino7 dành cho hàng dệt may điện tử và thiết bị điện tử 'phác họa' sử dụng bộ vi điều khiển và mực dẫn điện đã
được chứng minh là có thể tiếp cận khán giả ngoài những khán giả mà các câu lạc bộ và cuộc thi về robot thường làm
thu hút.
thành một công dân có hiểu biết và thành công trong tất cả các công việc STEM, đồng thời cũng là một năng lực có
tiềm năng trở thành phương tiện để giải quyết vấn đề một cách sáng tạo và đổi mới trong tất cả các lĩnh vực khác. .
Nguồn gốc của CT trong giáo dục bắt nguồn từ công trình của Papert vào những năm 1980, tập trung vào việc trẻ em
phát triển kỹ năng tư duy thông qua lập trình máy tính. Những nỗ lực gần đây nhằm đưa CT vào giáo dục trường học,
mặc dù vẫn được truyền cảm hứng từ công việc ban đầu đó, đã được thể hiện qua định nghĩa và lời kêu gọi hành động
của Wing năm 2006. Các định nghĩa và thành phần của CT đã được mở rộng trong thập kỷ qua để
bao gồm các khía cạnh của sự hợp tác và sáng tạo.
Tư duy tính toán được định nghĩa là tập hợp các kỹ năng tư duy được các nhà khoa học máy tính sử dụng để giải
quyết một loạt các vấn đề trong điện toán và các lĩnh vực khác. Học CT, giống như học tư duy khoa học và toán học,
thiên về phát triển một tập hợp các phương pháp phỏng đoán, phương pháp tiếp cận và 'thói quen tư duy' giải quyết
vấn đề hơn là chỉ đơn giản học cách sử dụng một công cụ lập trình để tạo ra các đồ tạo tác tính toán. Tất cho
biết, lập trình là một phương tiện chính để dạy, học, thể hiện và đánh giá CT, điều này chắc chắn cũng có tính hấp
dẫn sâu sắc đối với học sinh trong các lớp K-12.
Giống như các phong trào gần đây trong khoa học và toán học đã áp dụng quan điểm thực hành vào việc học STEM,
các yếu tố chính của CT được chia thành các khái niệm và thực hành. Các khái niệm CT thường được cho là bao gồm
logic và tư duy logic; thuật toán và tư duy thuật toán; mẫu và nhận dạng mẫu; trừu tượng hóa và khái quát hóa,
đánh giá và tự động hóa; trong khi thực hành CT bao gồm phân rã vấn đề, tạo ra các đồ tạo tác tính toán, kiểm tra
và gỡ lỗi, sàng lọc lặp lại (hoặc phát triển gia tăng). Hợp tác và sáng tạo, hiện được coi là những kỹ năng xuyên
suốt dành cho người học thế kỷ 21, cũng được coi là các phương pháp thực hành CT thường có hương vị độc đáo trong
Có lý khi lập luận rằng chính trong bối cảnh bên ngoài các lớp học CS, CT mới thực sự tỏa sáng với khả năng
sáng tạo của nó. Như Denning (2017a) đã chỉ ra, CT xuất hiện từ bên trong các lĩnh vực khoa học – nó không được
du nhập từ khoa học máy tính. Máy tính và STEM chia sẻ mối quan hệ cộng sinh sâu sắc và do đó, các lớp học toán,
khoa học và kỹ thuật có lẽ cung cấp những bối cảnh trực quan nhất cho việc học và sử dụng CT. Mô hình tính toán và
mô phỏng là
5
Xem http://l3d.cs.colorado.edu/~ctg/Craf_Tech.html
6
Xem http://leahbuechley.com
7
Xem www.arduino.cc/en/Main/arduinoBoardLilyPad
cơ chế cụ thể để tích hợp máy tính và STEM, đồng thời có thể mang lại lợi ích cho việc học cả nội dung STEM
cũng như phát triển các kỹ năng CT theo hướng nhấn mạnh đó (ví dụ Honey & Hilton, 2011). Vai trò của CT
trong các môn học không phải STEM như âm nhạc, khoa học xã hội, nghệ thuật thị giác, nghệ thuật ngôn ngữ
và lịch sử, đầy hứa hẹn nhưng vẫn chưa được phát triển.
Những suy nghĩ và ý tưởng được phản ánh trong chương này trình bày khuôn khổ chủ đạo hiện nay của CT
trong bối cảnh giáo dục phổ thông K-12. Chúng tôi áp dụng quan điểm kỷ luật về lăng kính tư duy đang thúc
đẩy những cách dạy và học mới trong tất cả các môn học. Tuy nhiên, đây không phải là lời cuối cùng về chủ
đề đang phát triển này trong giáo dục và lĩnh vực nghiên cứu màu mỡ trong nghiên cứu giáo dục.
• Tư duy tính toán (CT) là một kỹ năng quan trọng của thế kỷ 21 giúp học sinh vừa hiểu vừa
tận dụng được lợi thế của tính toán trong nhiều lĩnh vực khác nhau.
• Học CT là học cách suy nghĩ như một nhà khoa học máy tính – phát triển một bộ kỹ năng giải quyết
vấn đề cụ thể có thể áp dụng trong bất kỳ lĩnh vực nào để tạo ra các giải pháp có thể được
• Các yếu tố của CT bao gồm các khái niệm như logic, thuật toán, trừu tượng hóa, nhận dạng mẫu, đánh
giá và tự động hóa. Nó cũng bao gồm các thực tiễn như phân rã vấn đề, tạo ra các đồ tạo tác
tính toán (thường thông qua lập trình), kiểm tra và gỡ lỗi cũng như sàng lọc lặp lại. Hợp
tác và sáng tạo là những năng lực rộng hơn của thế kỷ 21, mang một hương vị đặc biệt trong bối
cảnh CT.
• Mặc dù lập trình là phương tiện chính để dạy và học CT, nhưng nó có thể được dạy trong lớp học có
• Đưa CT vào các lớp học STEM cũng sẽ giúp học sinh chuẩn bị tốt hơn cho bối cảnh hiện đại của
các môn học STEM; mô hình hóa tính toán và tạo mô phỏng là những cơ chế cụ thể để tích hợp
• Vai trò của CT trong các môn học không phải STEM như âm nhạc, khoa học xã hội, nghệ thuật tạo hình,
nghệ thuật ngôn ngữ và lịch sử, có triển vọng nhưng vẫn còn kém phát triển.
cái bẫy của việc cho rằng CT sẽ giúp người học xây dựng các kỹ năng tư duy có thể chuyển
sang các lĩnh vực khác. Cả những người chỉ trích cũng như những người đưa ra tuyên bố chống lại
và ủng hộ việc chuyển giao đều bỏ qua điều mà các nhà khoa học đang học tập đều biết rõ. Việc
chuyển giao việc học qua các bối cảnh không diễn ra một cách tự động.
Nghiên cứu của riêng Pea vào những năm 1980 cho thấy rằng những học sinh lập trình bằng
LOGO không tự động làm tốt các tình huống giải quyết vấn đề trong môn toán hoặc lập kế
hoạch lộ trình. Các ngành khoa học học tập ủng hộ rằng việc chuyển giao cần phải được
thực hiện thông qua các kỹ thuật được thiết lập theo kinh nghiệm nhằm kêu gọi, trong số
những thứ khác, tạo ra mối liên hệ rõ ràng giữa bối cảnh học tập ban đầu và bối cảnh
học tập chuyển giao. Ví dụ, trong công việc trước đây, sự can thiệp trong lớp học của
chúng tôi bao gồm các cơ chế rõ ràng để hòa giải và đánh giá việc chuyển từ lập trình
dựa trên khối sang lập trình dựa trên văn bản (Grover, Pea và Cooper, 2014).
• Denning (2017a, 2017b) kêu gọi phong trào CS/CT trong giáo dục K-12 đừng quên sự thật rằng
CT xuất hiện từ bên trong các lĩnh vực khoa học – nó không được du nhập từ khoa học
máy tính. Quả thực, các nhà khoa học máy tính đã tham gia phong trào một cách chậm chạp.
Ông tiếp tục lập luận rằng để sử dụng CT một cách hiệu quả trong các lĩnh vực khoa
học, người ta cũng cần có khả năng thiết kế các phép tính. Thiết kế tính toán là một
thuật ngữ tốt hơn để thiết kế bộ kỹ năng hơn là tư duy tính toán. Quan điểm này gắn
chặt CT với lĩnh vực khoa học tính toán. CT có nhiều vai trò ngoài khoa học tính toán
không? Chúng ta có xu hướng tin như vậy, tuy nhiên khó có thể bỏ qua rằng bằng chứng cho
• Cuối cùng, có một số người tin rằng CT, nếu được chia thành các phần tử như được mô tả
và dạy thông qua các phương tiện không được cắm hoặc không lập trình, sẽ bị giảm xuống
việc học các kỹ năng tư duy mà không nhất thiết chuyển thành các khả năng cần thiết
để tạo ra các giải pháp tính toán và áp dụng CT, trong các lĩnh vực khác nhau theo
lời hứa. Để học và áp dụng CT, học sinh cần phải làm việc với những khái niệm trừu tượng
và tư duy về các giải pháp chung cùng với các khái niệm khác như mô hình, tư duy logic và
thuật toán. Chỉ viết một công thức nấu ăn, mặc dù một ví dụ về tư duy thuật toán sẽ
không chuyển thành việc cung cấp cho người học khả năng phát triển các giải pháp tính toán
ở mức độ nghiêm ngặt mà các nhà giáo dục K-12 của CT và CS hướng tới học sinh của họ.
Barr, V và C Stephenson (2011). 'Đưa công nghệ tính toán vào K-12: Điều gì có liên quan và vai trò
của Cộng đồng Giáo dục Khoa học Máy tính là gì?' 2(1) ACM xâm nhập 48–
54.
Barr, D, J Harrison và L Conery (2011). 'Tinking máy tính: Kỹ năng thời đại kỹ thuật số cho mọi người'
38(6) Học hỏi & Lãnh đạo bằng Công nghệ 20–
23.
Burkhardt, H (2006). 'Mô hình hóa trong lớp học Toán' 38(2) Zentralblatt für Didaktik der
Mathematik 178–
195.
Cooper, S, S Grover, M Guzdial và B Simon (2014). 'Tương lai cho nghiên cứu giáo dục máy tính'
57(11) Truyền thông của ACM 34–
36.
Denning, PJ (2017a). 'Các điểm rắc rối còn lại trong quá trình tính toán' 60(6) Truyền thông
của ACM 33–
39.
Denning, PJ (2017b). 'Nghiên cứu tính toán trong khoa học' 105(1) Nhà khoa học Mỹ 13.
Descartes, R (2006). Một bài giảng về phương pháp: 1637. Sách Pomona.
Grover, S (2009). 'Khoa học máy tính: Không chỉ dành cho trẻ lớn' 37(3) Học tập và lãnh đạo cùng
Grover, S (2017). 'Đánh giá việc nghiên cứu thuật toán và tính toán ở lớp K-12: Bài học từ một lớp học cấp hai'
trong P Rich và CB Hodges (eds), Nghiên cứu mới nổi, thực hành và chính sách về việc nghiên cứu tính
Grover, S và S Basu. (2017). 'Đo lường việc học tập của học sinh trong chương trình nhập môn dựa trên khối: Xem
xét những quan niệm sai lầm về vòng lặp, biến và logic Boolean' trong Kỷ yếu của Hội nghị chuyên đề kỹ thuật
ACM lần thứ 48 về Giáo dục khoa học máy tính (SIGCSE '17) Seattle, WA. ACM.
Grover, S và RD Pea (2013). 'Nghiên cứu tính toán ở K-12: Đánh giá về hiện trạng thực địa'
Grover, S, R Pea và S Cooper (2014). 'Khung cảnh mở rộng và chuẩn bị cho việc học trong tương lai về khoa
học máy tính ở trường trung học cơ sở' trong Kỷ yếu của Hội nghị quốc tế về khoa học học tập lần
Grover, S, R Pea và S Cooper (2015). 'Thiết kế để học tập sâu hơn trong khoa học máy tính kết hợp
Khóa học dành cho học sinh trung học cơ sở 25(2) Giáo dục khoa học máy tính 199–
237.
Hansen, AK, A Iveland, H Dwyer, DB Harlow và D Franklin (2015). 'Câu chuyện kỹ thuật số về lập trình khoa
học: Khoa học máy tính và thiết kế kỹ thuật trong lớp học khoa học' 53(3) Khoa học và trẻ em 60–64.
Honey, MA và M Hilton (eds), (2011). Học Khoa học thông qua Trò chơi và Mô phỏng trên Máy tính
Lesh, R và R Lehrer (2003). 'Mô hình và quan điểm mô hình hóa về sự phát triển của học sinh và giáo viên' 5(2–
Lesh, R và J Zawojewski (2007). 'Giải quyết vấn đề và mô hình hóa' trong FK Lester Jr (ed), Thứ hai
Cẩm nang Nghiên cứu về Dạy và Học Toán (Charlotte NC, Nhà xuất bản Thời đại Thông tin) 763–
804.
Martin, RC (2003). Phát triển phần mềm linh hoạt: Nguyên tắc, mô hình và thực tiễn (Harlow,
Lề).
Miller, G, E Galanter và K Pribram (1960). Kế hoạch và Cấu trúc Hành vi (New York, Holt,
Rinehart và Winston).
Hội đồng nghiên cứu quốc gia (2013). Tiêu chuẩn khoa học thế hệ tiếp theo: Dành cho các tiểu bang, theo tiểu bang
Pellegrino, JW và ML Hilton (eds), (2013). Giáo dục cho Cuộc sống và Công việc: Phát triển Kiến thức và
Kỹ năng có thể chuyển giao trong thế kỷ 21 (Washington DC, Nhà xuất bản Học viện Quốc gia).
Papert, S (1980). Động não: Trẻ em, Máy tính và những ý tưởng mạnh mẽ. (New York, NY, Sách cơ bản).
Polya, G. (1957). Cách giải: Một khía cạnh mới của phương pháp toán học ấn bản thứ 2 (Garden City, NJ,
Ngày đôi).
Trả lại, A, D Webb và A Ioannidou (2010). 'Thiết kế trò chơi có thể mở rộng và phát triển trò chơi
Danh sách kiểm tra để đưa công nghệ tính toán vào các trường công'. Trong Kỷ yếu của Hội nghị chuyên đề kỹ
thuật ACM lần thứ 41 về Giáo dục Khoa học Máy tính 265–
269. ACM.
Sengupta, P, JS Kinnebrew, S Basu, G Biswas và D Clark (2013). 'Tích hợp nghiên cứu tính toán với giáo dục khoa
học K-12 bằng cách sử dụng tính toán dựa trên tác nhân: Khung lý thuyết' 18(2)
Sherin, BL (2001). 'Cách học sinh hiểu các phương trình vật lý' 19(4) Nhận thức và giảng dạy
479–
541.
Smith, M (2016). Khoa học máy tính cho tất cả. Bài viết blog trực tuyến. Có sẵn tại: www.whitehouse.gov/
Soloway, E, J Bonar và K Ehrlich (1983). 'Chiến lược nhận thức và cấu trúc vòng lặp: Một kinh nghiệm
Tedre, M và PJ Denning (2016). 'Te Long Quest for Computing Tinking' trong Kỷ yếu của Hội nghị kêu gọi Koli
Williams, L và R Kessler (2002). Lập trình cặp chiếu sáng (Harlow, Addison-Wesley).
Wilensky, U, CE Brady và MS Horn (2014). ' Bồi dưỡng năng lực tính toán trong lớp học khoa học'
Cánh, JM (2006). 'Tinting tính toán' 49(3) Truyền thông của ACM 33–
35.
Cánh, JM (2008). Tư duy tính toán và suy nghĩ về tính toán. Các giao dịch triết học của Hiệp hội Hoàng gia
Cánh, J (2014). 'Hiệp hội lợi ích nghiên cứu tính toán'. Các vấn đề xã hội trong máy tính. Có sẵn tại:
http://socialissues.cs.toronto.edu/2014/01/computational-thinking/
Wolz, U, M Stone, SM Puligood và K Pearson (2010). 'Tinting tính toán thông qua tương tác
Báo chí ở trường trung học' trong Kỷ yếu của Hội nghị chuyên đề kỹ thuật ACM lần thứ 41 về Giáo dục Khoa
học Máy tính 239–243. ACM.
Yasmeh, J. (2016). 'Có phải FBI đang nói dối về việc đọc 650.000 email trong 8 ngày?' Có sẵn tại: www.
dailywire.com/news/10561/fi-lying-about-reading–
650000-emails–8-days-joshua-yasmeh