You are on page 1of 21

Machine Translated by Google

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

Tư duy tính toán: Năng lực đã đến lúc

Chương · Tháng 12 năm 2017

DOI: 10.5040/9781350057142.ch-003

TRÍCH DẪN ĐỌC

215 21.884

2 tác giả:

Shuchi Grover Roy D. Đậu

Đại học Stanford


96 CÔNG BỐ 4.423 TRÍCH DẪN

268 CÔNG BỐ 19.850 TRÍCH DẪN

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.

Người dùng đã yêu cầu nâng cao tệp đã tải xuống.


Machine Translated by Google

3
Tư duy tính toán:

Một năng lực đã đến lúc

Shuchi Grover và Roy Pea

Đề cương chương

3.1 Giới thiệu 20

3.2 Tư duy tính toán là gì? 21

3.3 Các yếu tố của tư duy tính toán (Chia nhỏ) 22

3.4 Khái niệm CT 23

3.5 Thực hành CT 27

3.6 CT trong và xuyên các môn học 32

3.7 Tóm tắt 34

Tóm tắt chương


Tư duy tính toán bao gồm một loạt các kỹ năng tư duy cụ thể để giải quyết vấn đề
bao gồm trừu tượng hóa, phân rã, đánh giá, nhận dạng mẫu, logic và thiết kế
thuật toán. Mặc dù chính xác những gì được bao gồm trong tư duy tính toán là chủ đề của một
số cuộc tranh luận, chương này sẽ xem xét từng yếu tố của CT, làm thế nào để tạo điều kiện
thuận lợi cho việc học các khái niệm và thực hành này trong chương trình giảng dạy ở trường
cũng như vai trò của các kỹ năng CT trong các miền khác.

34351.indb 19 12/12/2017 14:42


Machine Translated by Google

20 Giáo dục Khoa học Máy tính

3.1 Giới thiệu


Cuộc bầu cử tổng thống Hoa Kỳ năm 2016 là một cuộc bầu cử lâu đời. Ngoài sân khấu và những âm mưu, nó còn

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

34351.indb 20 12/12/2017 14:42


Machine Translated by Google

Tư duy tính toán: Năng lực đã đến lúc 21

3.2 Tư duy tính toán là gì?


Trong hai thập kỷ qua, chúng ta đã chứng kiến một sự thay đổi mô hình phối hợp (Kuhn, 1970) trong niềm tin của chúng

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

nhà khoa học.

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?

Định nghĩa của Jeannette Wing


Có phần khó hiểu, định nghĩa về tư duy tính toán của Jeanette Wing được trình bày lần đầu tiên trong một bài báo về

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

Khái niệm chính: Tư duy tính toán


Tư duy tính toán là quá trình suy nghĩ liên quan đến việc hình thành một vấn đề và
thể hiện (các) giải pháp của nó theo cách mà máy tính – con người hoặc máy móc –
có thể thực hiện một cách hiệu quả.
Một cách không chính thức, tư duy tính toán mô tả hoạt động tinh thần trong
việc hình thành một vấn đề để thừa nhận một giải pháp tính toán. Giải pháp có thể được thực
hiện bởi con người hoặc máy móc. Điểm sau này rất quan trọng. Đầu tiên, con người tính toán.
Thứ hai, con người có thể học tư duy tính toán mà không cần máy móc. Ngoài ra, tư duy tính
toán không chỉ là giải quyết vấn đề mà còn là việc hình thành vấn đề (Wing, 2014).

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ù

việc thực hiện lời giải thường

34351.indb 21 12/12/2017 14:42


Machine Translated by Google

22 Giáo dục Khoa học Máy tính

Đú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.

Khái niệm chính: CT không phải là gì!

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.

3.3 Các yếu tố của tư duy tính toán


(Chia nhỏ)
CT có nghĩa là gì? Nó bao gồm những quá trình suy nghĩ nào? Việc có được câu trả lời cho những câu hỏi này sẽ giú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 đó-

34351.indb 22 12/12/2017 14:42


Machine Translated by Google

Tư duy tính toán: Năng lực đã đến lúc 23

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.

Khái niệm chính: Khái niệm và thực hành CT

Khái niệm CT bao gồm:

1 Tư duy logic và logic


2 Thuật toán và tư duy thuật toán
3 Mẫu và nhận dạng mẫu
4 Trừu tượng hóa và khái quát hóa
5 Đánh giá
6 Tự động hóa

Các hoạt động CT bao gồm:

1 Phân tích vấn đề


2 Tạo các đồ tạo tác tính toán
3 Kiểm tra và gỡ lỗi
4 Tinh chỉnh lặp lại (phát triển tăng dần)
5 Hợp tác & Sáng tạo (một phần của các kỹ năng rộng hơn của thế kỷ XXI)

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.

3.4 Khái niệm CT

Logic và tư duy logic


Tư duy logic liên quan đến việc phân tích các tình huống để đưa ra quyết định hoặc đưa ra kết luận về

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.

34351.indb 23 12/12/2017 14:42


Machine Translated by Google

24 Giáo dục Khoa học Máy tính

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.

Hoạt động mẫu: Biểu thức Boolean )

được đặt trong cài đặt trong thế giới thực

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

là Thứ Tư VÀ Thời gian là 5 giờ chiều))

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.

Thuật toán và tư duy thuật toán


Thuật toán là các kế hoạch hoặc quy trình chính xác từng bước nhằm đáp ứng mục tiêu cuối cùng hoặc giải quyết vấn đề;

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

34351.indb 24 12/12/2017 14:42


Machine Translated by Google

Tư duy tính toán: Năng lực đã đến lúc 25

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.

Mẫu và nhận dạng mẫu


Tất cả chúng ta đều quen thuộc với khái niệm về mẫu hình và nhận dạng mẫu từ quá trình học đầu tiên về hình

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

bạn bằng iTunes 'Thiên tài'.

Trừu tượng hóa và khái quát hóa


Có sự đồng thuận rộng rãi rằng tính trừu tượng là nền tảng của khoa học máy tính (và do đó là tư duy tính

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

34351.indb 25 12/12/2017 14:42


Machine Translated by Google

26 Giáo dục Khoa học Máy tính

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

các ràng buộc khác, chẳng hạn như:

34351.indb 26 12/12/2017 14:42


Machine Translated by Google

Tư duy tính toán: Năng lực đã đến lúc 27

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

là một phần quan trọng của CT.

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

3.5 Thực hành CT

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

sử dụng khi họ tham gia giải quyết vấn đề tính toán.

Phân tích vấn đề


Cách tiếp cận này không phải chỉ có ở các nhà khoa học máy tính. Nó được đề xuất trong công trình nghiên cứu sâu rộng của

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,

trang trí, v.v.) để món ăn sẵn sàng phục vụ.

34351.indb 27 12/12/2017 14:42


Machine Translated by Google

28 Giáo dục Khoa học Máy tính

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

điểm trung bình của một kỳ thi.

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

cho những lập trình viên mới vào nghề.

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.

Tạo các đồ tạo tác tính toán


Định nghĩa của Wing gợi ý rằng mục tiêu của tư duy tính toán là giải quyết các vấn đề có thể được thực hiện

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

khác có thể sử dụng.

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

CT mà còn là sự thể hiện năng lực tính toá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ư

việc học cú pháp

34351.indb 28 12/12/2017 14:42


Machine Translated by Google

Tư duy tính toán: Năng lực đã đến lúc 29

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

Kiểm tra và gỡ lỗi


Kiểm tra và gỡ lỗi là điều không thể thiếu đối với bất kỳ hình thức giải quyết vấn đề nào (Miller, Galanter

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à

phân rã vấn đề được mô tả ở trên.

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

đổi giả thuyết khi cần thiết.

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

hoạt' (Martin, 2003).

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

34351.indb 29 12/12/2017 14:42


Machine Translated by Google

30 Giáo dục Khoa học Máy tính

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!

Hợp tác và sáng tạo


Một vài phần tử khác, mặc dù không được coi là một phần của CT trong các định nghĩa trước đây về

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

Khái niệm chính: Lập trình và CT


Lập trình có phải là cách duy nhất để thúc đẩy CT? Câu trả lời cho câu hỏi đó là
'Không!' Mặc dù chúng ta có nhiều bài viết và thảo luận về mối quan hệ giữa lập
trình và tư duy tính toán, nhưng có rất ít tranh luận rằng tư duy tính toán không
chỉ đơn thuần là hệ thống hóa một giải pháp để máy tính thực thi thông qua lập
trình và đó là mục tiêu cao cả hơn, xứng đáng hơn của CT. chúng ta phải cố gắng đạt được
thành tích thông qua các phương pháp sư phạm phù hợp ngay cả khi học sinh đang tham gia lập
trình. Trên thực tế, một số người tin rằng những thách thức thiết kế điển hình và

34351.indb 30 12/12/2017 14:42


Machine Translated by Google

Tư duy tính toán: Năng lực đã đến lúc 31

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.

Hoạt động mẫu: Tư duy logic trong lớp


học ngữ văn
Đây là một vấn đề đơn giản liên quan đến tư duy logic được mô tả trong Grover (2009) một bài viết đầu tiên
của ISTE về ý tưởng CT dành cho giáo viên –

• Nếu Người khổng lồ đánh bại Dodgers thì Người khổng lồ sẽ giành được cờ hiệu.

• Nếu PlayerX bị loại thì Người khổng lồ sẽ đánh bại Dodgers.

• PlayerX đã hết.

Kết luận là gì?

Hoạt động mẫu: Tư duy logic trong lớp


học toán

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

phù hợp với các điều kiện sau:

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.

quả bóng màu đỏ tươi được ẩn đi.

Quả bóng xanh phải được giấu dưới cốc số 5.

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?

34351.indb 31 12/12/2017 14:42


Machine Translated by Google

32 Giáo dục Khoa học Máy tính

(A) Xanh lục, vàng, đỏ tươi, đỏ, tím, cam


(B) Màu đỏ tươi, xanh lá cây, tím, đỏ, cam, vàng
(C) Màu đỏ tươi, đỏ, tím, vàng, xanh lá cây, cam
(D) Cam, vàng, đỏ, đỏ tươi, xanh lá cây, tím
(E) Đỏ, tím, đỏ tươi, vàng, xanh lá cây, cam.

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.

3.6 CT trong và xuyên suốt các môn học

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.

bối cảnh khác nhau để phát triển năng lực CT.

3
Xem https://edfinity.com/competitions
4
Xem www.bebraschallenge.org/

34351.indb 32 12/12/2017 14:42


Machine Translated by Google

Tư duy tính toán: Năng lực đã đến lúc 33

Khái niệm chí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
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ự.

(2010), trong số những người khác.

34351.indb 33 12/12/2017 14:42


Machine Translated by Google

34 Giáo dục Khoa học Máy tính

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.

3.7 Tóm tắt


Trong một thế giới tràn ngập điện toán, tư duy tính toán hiện đang đượ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 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

bối cảnh CT.

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

34351.indb 34 12/12/2017 14:42


Machine Translated by Google

Tư duy tính toán: Năng lực đã đến lúc 35

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.

Những điểm chính

• 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

thực thi bởi 'máy tính' (máy hoặc con người).

• 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ó

hoặc không có máy tính hoặc lập trình.

• Đư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

tính toán và STEM.

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

Phản ánh thêm


• Những người chỉ trích phong trào giới thiệu CT hiện nay cảnh báo không nên rơi vào tình trạng

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.

34351.indb 35 12/12/2017 14:42


Machine Translated by Google

36 Giáo dục Khoa học Máy tính

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

những ví dụ điển hình ngoài khoa học thì ít hơn.


dô i da o.

• 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ọ.

Người giới thiệu

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.

34351.indb 36 12/12/2017 14:42


Machine Translated by Google

Tư duy tính toán: Năng lực đã đến lúc 37

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

Công nghệ 27–


29. Hiệp hội Công nghệ Giáo dục Quốc tế.

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

toán (Boston, Nhà xuất bản quốc tế Springer) 269–


288.

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'

42(1) Nhà nghiên cứu giáo dục 38–


43.

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

thứ 11, Boulder, Colorado. ACM.

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

(Washington DC, Nhà xuất bản Học viện Quốc gia).

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–

3) Nghiên cứu và học tập toán học 109–


129.

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

Washington, DC: Nhà xuất bản Học viện Quốc gia.

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)

Giáo dục và Công nghệ thông tin 351–


380.

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.

34351.indb 37 12/12/2017 14:42


Machine Translated by Google

38 Giáo dục Khoa học Máy tính

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/

blog/2016/01/30/khoa học máy tính-all

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

Nghiên cứu' 26(11) Truyền thông của ACM 853–860.

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

lần thứ 16 về Nghiên cứu Giáo dục Máy tính, 24–


27 tháng 11 năm 2016, Phần Lan,
120–
129. ACM.

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'

57(8) Thông tin liên lạc của ACM 24–


28.

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

Luân Đôn A: khoa học toán học, vật lý và kỹ thuật, 366(1881),


3717–
3725.

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

34351.indb 38 12/12/2017 14:42

Xem số liệu thống kê xuất bản

You might also like