楊越
摘 要:隨著全球網絡信息與通訊技術的發展,人類生活中電腦被廣泛應用的同時,卻很少有人覺察到身邊的電腦及其科學技術原理。計算機計算思考的技巧,應該是每個人都應該學會與使用的一種應用態度與技能。作為利用信息科學的知識與能力進行問題解決的一種重要的思維觀念與思想方式的計算思維日益受到重視。本文概述了有關于計算思維概念提出的時代背景、基本特點及日常生活應用的實例,旨在讓更多的人來關注與重視計算思維能力的培養。
關鍵詞:電腦;計算思維;解決問題
作為一種廣泛應用能力的計算思維(Computational Thinking),主要依靠與利用信息化社會下信息與計算機科學的知識與能力進行問題解決。計算思維提出了面向問題解決的系列觀點和方法,這些觀點和方法有助于人們更加深刻地理解計算的本質和計算機求解問題的核心思想。近年來,世界主要的一些先進國家日益將計算思維作為學生在學校學習中具備的分析能力重要組成內容及培養目標,同時被納入學校教育的教學改革重點,注重通過課程與教學的變革來強化學生的計算思維能力,努力提升人才培養質量與增強學生生活品質。
一、計算思維提出的時代背景
全球網路與通訊信息技術正日益改變人類的生活與生產方式,這種變化曾經是一種被稱為“變色龍”動物具有的生活習性,正日益浸潤到我們人類生活而逐步成為信息社會生活的定律。使用平板計算機、視訊即時電話、網絡在線購物以及微信社交等現代媒介與電腦技術,越來越多的資料與信息被迅速收集分享,極大地增加了人們彼此的連結,深刻地影響著人們的生產生活質量,這種例子不勝枚舉。譬如將農業、漁業、營養及人口的數據整合到單一的數據庫中,可以有效率地管理全球食物供給問題;在沒有醫療建設的地方,移動電話搭載著價格低廉的鏡頭,可以變成顯微鏡去檢查諸如生病的貧血細胞;新科技讓汽車們彼此之間可以及時溝通,可以減少80%左右的車禍機率,從而改善交通流量及維護了道路安全;人類基因圖譜的繪制在診斷和治療疾病有革命性的改變,接下來幾十年也會繼續進行[1]等等。
人類生活中廣泛應用電腦,因為其加速計算、處理數據能力正隨著現代計算機技術的改變而不斷增強。即使這樣,我們卻很少想到自己身邊的電腦及其科學技術基礎原理。為此,傳授給每一個人電腦的基礎知識,應用現代電腦信息技術去創新解決生活中的實際問題,培養有適應性、有彈性的問題解決者,讓他們從不斷發展的電腦技術中轉換出一種與之相關與匹配的思維能力,并以此來增進人們的生活質量,成為當今世界社會發展的重要關切。計算思維將基礎的計算器科學概念運用到問題解決,系統設計和對人類行為了解上的一種思維方式,[2]正是這種背景下逐步形成與發展起來的新的研究與實踐領域。隨著現今世界信息技術分蓬勃發展,計算思維必將成為人們了解和認識世界的基礎。
二、計算思維的基本概念與特點
事實上,關于“計算思維”概念的提出者,可以更早追溯到麻省理工學院(MIT)的Seymour Papert教授。他在從事Logo編程語言的工作中,提出了讓兒童操作電腦編制程序的想法,他認為這將使他們能夠通過編程開發他們的程序思維。近來,由于更好的計算工具及移動技術的進展及其容易獲取的優勢等原因,使計算思維的話題被重新點燃并日益受到廣泛關注。
2006年3月,美國卡內基梅隆大學的計算機科學系教授Jeannette M.Wing 在世界計算機科學領域最頂級期刊JACM(Journal of the Association for Computing Machinery)刊物上發表了一篇題為《計算科學》的論文。她正式提出計算思維的概念,指出計算思維是建立在計算機科學基礎之上,吸收其基本概念,它主要涉及問題解決、系統設計以及對人類行為的理解。她認為,學校育中兒童的分析能力中都需要加入計算機計算的概念,包括讀寫算在內的所有的基礎能力都應該加入計算機計算的因素。在她看來,計算機計算思考的技巧,并非計算機科學家的專利,而是每個人都應該急切學會與使用的一種應用態度與技能。[3]
計算思維提出了面向問題解決的系列觀點和方法,這些觀點和方法有助于人們更加深刻地理解計算的本質和計算機求解問題的核心思想。但對于什么是計算思維以及其具有什么樣的特征的問題,一些學者,主要是計算機科學領域研究者試圖定義核心概念,他們強調計算思維主要是應用數學和工程思維,系統地、正確地及有效的處理信息和任務,設計專門的系統,以幫助解決人類面臨的重點復雜問題的一種概念性方式。
來自美國信息教育領域重要網站ISTE(International Society for Technologyin Education)也主張將計算思維作為一個問題解決的過程,其主要特點包括這么幾方面:1.將問題轉換為我們可以用計算機和其他工具去解決的方式。2.有邏輯地組織與分析數據。3.使用例如模型或仿真等抽象化的方式來表達數據。4.通過演算的思維自動地解決問題。5.確認、分析、實踐可行的解決方案,以達到最有效益的步驟與資源整合的目標。6.將一般化問題解決過程轉化到其他各式各樣的問題解決上去。
相關研究進一步指出,具備計算思維的個體需要具備特定的基本態度與心理傾向,主要包括:有信心處理復雜的事;愿意堅持并能處理困難的問題;能容忍含糊不明確的事物;有處理開放性的問題的能力,以及具有與他人溝通合作去達成目標的能力等方面。[4]
三、日常生活中應用計算思維的實例
來自臺灣地區的研究者陸朝俊編著的《程序設計思想與方法》中,將計算思維運用到生活中的問題進行了專門探討,提出了一些人們在日常生活中的很多做法,他認為這反映了計算思維的思想。下面是他提出的一系列很有意義的實例,[5]可以幫助我們更具體形象地理解計算思維的一些特征。
算法過程:菜譜可以說是算法(或程序)的典型代表,它將一道菜的烹飪方法一步一步地羅列出來,即使不是專業廚師,照著菜譜的步驟也能做出可口的菜肴。
模塊化:很多菜譜都有“勾芡”這個步驟,與其說這是一個基本步驟,不如說是一個模塊,因為勾芡本身代表著一個操作序列——取一些淀粉,加點水,攪拌均勻,在適當時候倒入菜中。由于這個操作序列經常使用,為了避免重復,也為了使菜譜結構清晰、易讀,所以用“勾芡”這個術語簡明地表示。這個例子同時也反映了在不同層次上進行抽象的思想。
查找:如果要在英漢詞典中查一個英文單詞,相信讀者不會從第一頁開始一頁頁地翻看,而是會根據字典是有序排列的事實,快速地定位單詞詞條。這正是計算機中廣泛使用的索引技術。
回溯:人們在路上遺失了東西之后,會沿原路邊往回走邊尋找?;蛘咴谝粋€岔路口,人們會選擇一條路走下去,如果最后發現此路不通就會原路返回,到岔路口選擇另一條路。這種回溯法對于系統地搜索問題空間是非常重要的。
緩沖:假如將學生用的教科書視為數據,上課視為對數據的處理,那么學生的書包就可以視為緩沖存儲。學生隨身攜帶所有的教科書是不可能的,因此每天只能把當天要用的教科書放入書包,第二天再換入新的教科書。
并發:廚師在燒菜時,如果一個菜需要在鍋中煮一段時間,廚師一定會利用這段時間去做點別的事情(比如將另一個菜洗凈切好),而絕不會無所事事。在此期間如果鍋里的菜需要加鹽加佐料,廚師可以放下手頭的活兒去處理鍋里的菜。就這樣,雖然只有一個廚師,但他可以同時做幾個菜。
總之,我們日益被包裹在一個由電腦與網絡信息技術組成的生活世界之中。主動了解與學習計算機及網絡工作知識及原理以及其影響的信息化生活環境,培養應用計算思維解決現實問題,越來越成為網絡信息社會生存與發展不可避免的重要挑戰。作為現代中小學校教育,需要認真思考將計算思維納入到學校基礎課程之中,努力培養信息化社會具有計算思維品質的創新人才,以積極的態度來回應信息化社會對于人才培養的新要求。
參考文獻:
[1]ISTE(2013).http://www.youtube.com/watch?v=VFcUgSYyRPg.
[2]Walter Gander(2011).學校的基礎課程:計算思維.http://www.math.hkbu.edu.hk/PL/12May11/.
[3]Wing,J.M.(2006).Computational thinking.Communications of the ACM,49(3):33-35.
[4][5]賴和?。?016).應用計算思維于高中信息教學設計之分享.http://pulse.naer.edu.tw/content.aspx?type=B&sid=248#.
(作者單位:江蘇省無錫市輔仁高級中學高三(3)班)