1.估算思維是哪些?
1982年諾貝爾化學(xué)獎得主肯尼斯·威爾遜在他的得獎講演中提及估算在他的工作中飾演的重要角色,他覺得估算是所有科學(xué)的研究范式之一,區(qū)別于理論和實驗,所有的學(xué)科都面臨算法化的“巨大挑戰(zhàn)”。所有涉及自然和社會現(xiàn)象的研究都須要依靠估算,使用估算模型作出新發(fā)覺和推動學(xué)科發(fā)展。他的工作和對于估算方式的大力推薦,迸發(fā)了人們對于估算科學(xué)的認(rèn)識和注重。
2006年,加拿大卡內(nèi)基·梅隆學(xué)院的周以真(M.Wing)院士,為了幫助人們更好地認(rèn)識機器智能的不解之謎,發(fā)表了題為的文章,提出了一種構(gòu)建在計算機處理能力及其局限性基礎(chǔ)之上的思維方法——計算思維。她覺得,估算思維就是運用計算機科學(xué)的基礎(chǔ)概念進(jìn)行問題求解、系統(tǒng)設(shè)計,以及人類行為理解等囊括計算機科學(xué)之廣度的一系列思維活動,能為問題的有效解決提供一系列的觀點和方式,它可以更好地加深人們對估算本質(zhì)以及計算機求解問題的理解,并且能夠克服“知識鴻溝”,以便計算機科學(xué)家與其他領(lǐng)域?qū)<医涣鱗2]。
2007年,周以真院士在卡內(nèi)基·梅隆學(xué)院創(chuàng)立了估算思維研究中心,并修訂了該學(xué)院一年級中學(xué)生的課程,籍此培養(yǎng)該校非計算機專業(yè)中學(xué)生的估算思維能力。2008年,周以真進(jìn)一步強調(diào)估算思維是一種剖析思維,在問題解決的不同階段會用到物理思維,在設(shè)計和評價復(fù)雜系統(tǒng)時會用到工程思維,在理解概念時會用到科學(xué)思維。可以看出,估算思維是多種思維的綜合應(yīng)用。估算思維不是要讓人類像計算機那樣思索,而是要培養(yǎng)有效使用估算解決復(fù)雜問題所必需的一組心智工具集。
日本計算機商會(ACM)2008年在對()的中期審查報告《》(草案)中明晰將“計算思維”與“計算機概論”課程綁定在一起,并要求該課程講授估算思維的本質(zhì)。據(jù)悉,卡內(nèi)基·梅隆學(xué)院在英國國家科學(xué)基金會(NSF)的支持下,設(shè)計了一門全新的包含計算機和估算思維基本概念的課程。受此影響,2008年11月,全省高等中學(xué)計算機教育研究會在柳州舉行“計算思維與計算機概論”學(xué)術(shù)研討會,揭露了國外院校舉辦估算思維研究的帷幕。
國防科技學(xué)院人文社科大學(xué)的朱亞宗教授強調(diào):估算思維()是人類三大科學(xué)思維方法(估算思維、實驗思維、理論思維)之一,盡管估算思維較晚才遭到關(guān)注,但它卻在現(xiàn)今社會的發(fā)展中起著舉足輕重的作用[1]。
新加坡國家研究委員會(NRC)2010年組織了一次“計算思維的范圍和性質(zhì)研討會”,但與會者對估算思維的范圍和性質(zhì)觀點各異,無法對估算思維的基本定義達(dá)成共識。雖然對估算思維這一概念在思想方式、思維模式和思維過程方面沒有統(tǒng)一和明晰的劃分,并且有兩種認(rèn)識被普遍接受:(1)估算思維在專業(yè)能力和信息素養(yǎng)培養(yǎng)上的重要性是不言而喻的;(2)估算思維是把現(xiàn)實問題弄成計算機可估算模型并形成結(jié)果的思維過程,是與估算實踐密切相關(guān)的。
啟東丁杰(,2010)覺得院士估算思維的目標(biāo)是“教中學(xué)生像經(jīng)濟(jì)學(xué)家、物理學(xué)家和藝術(shù)家那樣思索問題,并理解怎樣使用估算解決問題,創(chuàng)建和發(fā)覺能卓有成效進(jìn)行探求的新問題”,并不是讓每位人都像計算機科學(xué)家那樣思索。
2010年教育部高等中學(xué)計算機科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會編制《高等中學(xué)計算機科學(xué)與技術(shù)專業(yè)人才專業(yè)能力構(gòu)成與培養(yǎng)》,明晰將估算思維納入計算機專業(yè)人才的四大專業(yè)基本能力之一(估算思維能力,算法設(shè)計與剖析能力,程序設(shè)計與實現(xiàn)能力,系統(tǒng)能力)。
2011年,周以真進(jìn)一步闡述,估算思維是“一個產(chǎn)生問題和擬定問題解決方案的思索過程,這種解決方案所采用的方式是一種才能通過信息加工代理有效執(zhí)行的抒發(fā)方式。“
Aho(2011):估算思維是一個思想過程,涉及描述問題促使它們的解決才能通過估算步驟和算法,才能被信息處理裝置有效實現(xiàn),估算模型是核心概念。
2015年,新加坡國際教育技術(shù)商會(ISTE,2015)剖析估算思維是創(chuàng)造力、算法思維、批判性思維、問題解決、合作思維和溝通技能的共同彰顯。
2017年,PeterJ.:估算思維是從不同的科學(xué)領(lǐng)域發(fā)育和成長的,并不只是從計算機科學(xué)中輸入的,事實上,計算機科學(xué)是逐漸地出席到這個思維的改革中來。一場安靜并且深刻的早已在所有的科學(xué)領(lǐng)域發(fā)生,估算賦能的革命通過信息技術(shù)帶來了各種類型的新的發(fā)覺。
2.估算思維過程要素及運用估算思維求解步驟
2011年,新加坡國際教育技術(shù)商會(ISTE)與日本計算機科學(xué)班主任商會(CSTA)聯(lián)合發(fā)布了估算思維是具有以下特點的問題解決過程:以一種才能使用計算機和其他工具幫助解決問題的方法制訂規(guī)劃;合理組織和剖析數(shù)據(jù);通過模型和模擬等具象的表示數(shù)據(jù);通過算法思維(一系列有序步驟)實現(xiàn)解決方案手動化;確定、分析和施行可能的解決方案,以實現(xiàn)最有效的過程和資源組合;將問題解決過程推廣轉(zhuǎn)化到其它各類各樣的問題。規(guī)定了估算思維的六個過程要素(提出問題、組織和剖析問題、表征數(shù)據(jù)、自動化解決方案、分析和施行解決方案、遷移),與九項核心概念和能力(數(shù)據(jù)搜集、數(shù)據(jù)剖析、數(shù)據(jù)表征、問題分解、抽象、算法和程序、自動化、模擬、并行化)。
估算思維的兩大核心特點是具象和手動化。運用估算思維進(jìn)行問題求解通常要經(jīng)過以下4個步驟:①把實際問題具象為物理問題并建模,也就是將人對問題的理解用物理語言描述;②模型映射,將物理模型中的變量和規(guī)則用特定的符號表示;③用特定計算機語言把解決問題的邏輯剖析過程用算法描述,即把解題思路弄成計算機指令方式;④計算機按照指令,按次序手動執(zhí)行,進(jìn)行問題實現(xiàn)[5]。
目前被廣泛認(rèn)可的估算思維的核心要素及推動計算機類學(xué)習(xí)和發(fā)展的課程基礎(chǔ)要素有:具象和模式概括(包括模型和仿真模擬)、系統(tǒng)性信息處理、符號系統(tǒng)及其表示、控制流程的算法概念、結(jié)構(gòu)化問題分解(模塊化)、迭代/遞歸/并行思維、條件邏輯、效率及性能限制、調(diào)試和系統(tǒng)錯誤檢測[5]。
3.估算思維培養(yǎng)的落實
教育部高等中學(xué)計算機基礎(chǔ)課程教學(xué)指導(dǎo)委員會2010年5月在四川成都大會中要求將估算思維融入到計算機基礎(chǔ)課程中傳授,借此培養(yǎng)高素養(yǎng)的研究性人才。2010年7月長沙大會發(fā)布了《九校聯(lián)盟(C9)計算機基礎(chǔ)教學(xué)發(fā)展戰(zhàn)略聯(lián)合申明》,旗幟鮮明地把“計算思維能力的培養(yǎng)”作為計算機基礎(chǔ)教學(xué)的核心任務(wù),明晰“大學(xué)計算機基礎(chǔ)教學(xué)的核心任務(wù)是培養(yǎng)中學(xué)生估算思維能力”,標(biāo)志著估算思維教學(xué)面向所有學(xué)院生全面展開。
2012年,教育部教高司函〔2012〕188號文件即將公布,批準(zhǔn)“以估算思維為導(dǎo)向的學(xué)院計算機基礎(chǔ)課程研究”等22個學(xué)院計算機課程變革項目,以培養(yǎng)估算思維為重點,加快學(xué)院計算機課程變革。
2013年,教育部高等中學(xué)學(xué)院計算機課程教學(xué)指導(dǎo)委員會即將發(fā)布了《計算思維教學(xué)變革宣言》,進(jìn)一步明晰了估算思維培養(yǎng)在學(xué)院計算機基礎(chǔ)課程教學(xué)中的中心地位,并把估算思維的培養(yǎng)提高到了創(chuàng)新人才培養(yǎng)和國家發(fā)展的高度。
2013年,美國教育部將原有的國家課程“信息通用技術(shù)”(ICT)改名為“計算”(),并于2014年9月即將施行。
2013年12月11日,日本非贏利性組織Code.org為配合國家計算機科學(xué)教育周(Week)發(fā)起了“編程一小時(TheHourofCode)”倡議和活動,致力通過采用趣味教學(xué)的方法讓中小中學(xué)生了解基本的計算機程序編撰,并從小培養(yǎng)小孩們對計算機的興趣。
2015年美國開放學(xué)院發(fā)布的《創(chuàng)新教學(xué)報告》將估算思維列為“十大創(chuàng)新教學(xué)法”之一,覺得估算思維將在“教育實踐中,尤其是在中學(xué)后繼續(xù)教育中引起重大改革”。估算思維將在人們今后的工作、學(xué)習(xí)和生活中飾演越來越重要的角色。
2016年,加拿大計算機科學(xué)班主任商會在《K-12計算機科學(xué)標(biāo)準(zhǔn)》(K-12)中更新了對估算思維劃分:估算思維是一種解決問題的方式論,這些方式可從計算機科學(xué)的領(lǐng)域擴(kuò)充到所有學(xué)科,為剖析和開發(fā)才能通過估算方式解決的問題,提供一種奇特的方式。估算思維專注于具象、自動化和剖析,是計算機科學(xué)更廣泛學(xué)科的核心元素。
2017新版《普通中學(xué)信息技術(shù)課程標(biāo)準(zhǔn)》中指出:信息技術(shù)學(xué)科核心素質(zhì)由信息意識、計算思維、數(shù)字物理習(xí)與創(chuàng)新、信息社會責(zé)任四個核心要素組成。
2018年日本國際教育技術(shù)商會(ISTE)發(fā)布的《教育者估算思維能力標(biāo)準(zhǔn)》針對教育者怎樣培養(yǎng)估算思維能力提出了具體的標(biāo)準(zhǔn)和指導(dǎo)意見,該標(biāo)準(zhǔn)突出估算思維在信息知識和技能建構(gòu)中的不可取代性,更指出教育者以“學(xué)習(xí)者”()、“領(lǐng)導(dǎo)者”()、“合作者”()、“設(shè)計者”()和“促進(jìn)者”()的角色去培養(yǎng)自己和所教中學(xué)生的估算思維能力,彰顯班主任與中學(xué)生作為學(xué)習(xí)共同體的教育理念,指出估算思維對于班主任專業(yè)發(fā)展和中學(xué)生成長成才的重要性,并為指導(dǎo)、幫助班主任和中學(xué)生怎樣在跨學(xué)科中整合運用估算思維能力提供了參考手冊。
4.關(guān)于估算思維培養(yǎng)的不同聲音
其實,對于估算思維這一概念也有人提出不同的看法。其中[4]說:將估算思維視為一種新的和不同的東西是有欺騙性的:從長遠(yuǎn)來看,它對信息學(xué)的弊小于利。雖然,她們不在中學(xué)院長“語言思維”或“數(shù)學(xué)思維”,也不具備這種課目的“知識體系”或“評估方式”。她們只是院士(和評估)英文和物理能力,之后是通過學(xué)習(xí)德語(或物理)獲得各種語言(或物理)的能力,她們不僅用于自身之外,還可以在其他學(xué)科中找到其他用途。在估算思維和估算之間存在著相同的關(guān)系。為此,我們應(yīng)當(dāng)闡述中小學(xué)信息學(xué)的教學(xué)內(nèi)容和能力評價,而忽視估算思維的教學(xué)和能力評價。
5.估算思維培養(yǎng)案例[5]
日本佛羅里達(dá)學(xué)院博爾德校區(qū)2019年夏季學(xué)期CU-開辦的“I-”(計算機科學(xué)I—計算初步,下邊將課程簡稱CSIsc)課程是面向所有中學(xué)生(包括非計算機專業(yè)中學(xué)生)的計算機類導(dǎo)引課程,學(xué)習(xí)內(nèi)容C++。CSIsc課程在開學(xué)第一周布置第一次作業(yè),此時,還沒有即將步入C++的學(xué)習(xí),此次作業(yè)的目標(biāo)就是初步認(rèn)識估算思維。對這次作業(yè)案例進(jìn)行剖析有助于我們學(xué)習(xí)怎么選擇和設(shè)計作業(yè)案例,對中學(xué)生進(jìn)行估算思維基本思想的灌輸,為中學(xué)生建立較為完備的估算思維概念體系。
該作業(yè)題目是探求機器人,任務(wù)是完全遍歷有邊界和障礙的臥室,起始位置隨機。在作業(yè)中為中學(xué)生提供了一個完成功能的模擬環(huán)境,網(wǎng)址是//,中學(xué)生可以在這個編程環(huán)境中進(jìn)行的模擬演習(xí)、運行程序和查找bug并更改,直至完成任務(wù)為止。這是一個完整的、綜合性強的估算思維培養(yǎng)作業(yè)案例,其中涉及多項估算思維核心要素的培養(yǎng)。
(1)具象和模型思維
機器人在現(xiàn)實中類比掃地機器人。作業(yè)描述首先將機器人和臥室具象表示,并可視化如圖1所示,其中(a)(b)(c)(d)表示4種不同類型的臥室。在每位臥室中,方塊代表的隨機起始位置,實體部份表示障礙物和邊界,空白部份表示要清掃的地面。
具象思維是人類認(rèn)識世界的最基本思維。作業(yè)示范了怎樣對實際系統(tǒng)原型進(jìn)行模型具象的方式,即保留實際系統(tǒng)原型的本質(zhì)特點,同時通過具象和約簡,對系統(tǒng)進(jìn)行確切、簡潔的理解和描述。這是估算思維進(jìn)行問題求解的第一步,經(jīng)過這一步,原問題演弄成“點”在不規(guī)則圖形的遍歷問題。現(xiàn)實中不僅掃地機器人外,還有許多問題可用此模型抒發(fā),如機器繡花等。
(2)符號系統(tǒng)和表示思維
為了使問題最終能被計算機手動化完成,需對模型中的相關(guān)信息采用計算機能處理的符號抒發(fā),如在作業(yè)中對周圍環(huán)境有如下符號約定。
①只能感知到它鄰近的周圍環(huán)境。倘若不遇到邊界或障礙,可由當(dāng)前位置向4個方向行走:北東西南(NEWS)。②周圍環(huán)境用相應(yīng)方向的小寫字母表示墻,用“x”表示沒墻;如NxWx表示在北邊、西面各有一堵墻,可向東面和南面行走。③除此之外,鍵值“*”可以拿來表示“不關(guān)心那種位置是否有墻”,如,xE**的意思是“北面沒有墻,東面有墻,西面或南面可能有墻,也可能沒有墻”。
這一步將具象模型中的變量/規(guī)則用虛擬的符號表示,這是估算思維問題求解的第2個步驟:模型映射。通過作業(yè)范例,讓中學(xué)生理解采用符號系統(tǒng)表示的簡約性、嚴(yán)謹(jǐn)性,以及便捷計算機進(jìn)行處理的特點。這部份概念和思維對于初學(xué)者很難理解,采用這樣的形式引入,簡單直觀。
(3)控制流程的程序思維
作業(yè)中擬定了行為規(guī)則,讓中學(xué)生初步認(rèn)識程序設(shè)計語言,理解程序思維。行為規(guī)則描述如下:
(1)擁有狀態(tài),用數(shù)字表示。
(2)狀態(tài)和周圍環(huán)境是作出決策所須要的所有信息。
(3)依據(jù)一組規(guī)則聯(lián)通:當(dāng)前狀態(tài)環(huán)境->聯(lián)通方向新的狀態(tài)。
其中聯(lián)通方向為N、E、W、S,或X,分別表示向西、東、西、南、完全不動。
如,0x***->N0#當(dāng)前狀態(tài)0,假如北邊沒墻,則向西走m,,++,狀態(tài)不變
0N***->X1#當(dāng)前狀態(tài)0,假如北邊有墻保持不動,之后轉(zhuǎn)入狀態(tài)1
(4)總是從狀態(tài)0開始,但是從上到下查詢規(guī)則,直至找到第一個適用的規(guī)則,運行該規(guī)則。之后再從頭開始,查看規(guī)則并從底部找到第一個適用的規(guī)則。
行為規(guī)則構(gòu)成一種最簡單的程序語言,規(guī)則描述了程序可分解成基本動作及基本動作的各類組合。如本例中基本動作就是向某個方向行走一步或保持不動,而基本動作的各類組合及其排序可以最終實現(xiàn)對整個屋子的掃描,因而構(gòu)成完整程序。
通過學(xué)習(xí)行為規(guī)則,讓中學(xué)生認(rèn)識到程序是對計算機下達(dá)的指令序列,計算機是能否執(zhí)行各類程序的機器或系統(tǒng),計算機根據(jù)程序控制的基本動作次序執(zhí)行,實現(xiàn)復(fù)雜的功能。這些基本的指令和程序的思維灌輸對中學(xué)生十分重要。
(4)遞歸思維
遞歸是估算思維的重要特點,其本質(zhì)是用有限的步驟實現(xiàn)近于無限功能的方式,是問題求解的一種重要思維,使程序簡約和清晰。
在上節(jié)語言規(guī)則中有這樣的舉例:0x***->N0,初始狀態(tài)和動作后抵達(dá)的狀態(tài)都是0。這條規(guī)則可以讓在北邊沒墻的情況下仍然向西走,直至北邊遇到邊界或障礙為止。這條規(guī)則實例對估算思維中特別重要的遞歸思維進(jìn)行了特別好的演繹,讓中學(xué)生初步學(xué)習(xí)并運用這些典型的構(gòu)造程序的手段,為其今后進(jìn)一步學(xué)習(xí)打下良好的基礎(chǔ)。
(5)結(jié)構(gòu)化問題分解(模塊化)
完成數(shù)據(jù)建模、模型映射及定義好程序規(guī)則后,接出來的任務(wù)就交由中學(xué)生實現(xiàn)對臥室的遍歷。為了引導(dǎo)中學(xué)生進(jìn)行實際問題的求解,這次作業(yè)為其設(shè)定了作業(yè)目標(biāo)和程序?qū)嵺`方式,中學(xué)生可根據(jù)目標(biāo)和實踐方式的提示挺好地完成任務(wù)。
作業(yè)目標(biāo):①把大的問題拆分成子問題處理;②編寫一個算法來解決特定的問題,之后將該算法轉(zhuǎn)換成特定員程語言的程序(在本例中是行為規(guī)則);③為算法的每一步編撰清晰、簡潔的文檔;④運行并查找程序中的bug,修補bug,之后再度測試。
程序?qū)嵺`方式:①從制定策略開始,用簡明簡略的表述總結(jié)采用的方式。諸如,要遍歷臥室(a)可采用的方式描述:“先將發(fā)送到北墻,之后發(fā)送到東北角,之后由西向東掃描……直到完成對臥室的遍歷”。②為算法的每位步驟/規(guī)則寫注釋。
其中,作業(yè)目標(biāo)的設(shè)定引導(dǎo)中學(xué)生學(xué)習(xí)程序設(shè)計問題求解的基本步驟和技巧;程序?qū)嵺`方式教會中學(xué)生如何對實際問題進(jìn)行具體的剖析和制訂策略。此次作業(yè)還引導(dǎo)中學(xué)生將一個大的、難解決的問題重新詮釋成簡單的、已有解決方案的小的問題,這些問題結(jié)構(gòu)化分解的方式是處理繁雜任務(wù)或設(shè)計巨大復(fù)雜系統(tǒng)時采用的核心技巧和思維,對中學(xué)生今后處理實際問題至關(guān)重要。我們要求中學(xué)生在編撰算法的同時物理學(xué)家思考問題的方式,為算法撰寫清晰、簡潔的文檔和注釋,為日后養(yǎng)成良好的編程習(xí)慣打下基礎(chǔ)。
(6)效率及性能限制
此次作業(yè)還讓中學(xué)生初步理解算法效率的概念,為中學(xué)生設(shè)定了算法效率要求。效率要求如下:從狀態(tài)數(shù)目和規(guī)則數(shù)目考慮解決方案的效率。認(rèn)可的解決方案是遍歷(a,b)臥室,每位遍歷不能超過16條規(guī)則。假如超過,找重疊代碼,將重疊代碼消除。
效率要求中引導(dǎo)中學(xué)生從狀態(tài)數(shù)目和規(guī)則數(shù)目考慮算法效率,使中學(xué)生初步學(xué)習(xí)怎么進(jìn)行算法效率的評判,并通過限定規(guī)則的數(shù)目指導(dǎo)中學(xué)生對算法進(jìn)行簡單優(yōu)化。
(7)調(diào)試和系統(tǒng)錯誤檢測
這次作業(yè)的完成須在模擬環(huán)境中運行通過物理學(xué)家思考問題的方式,因而中學(xué)生必須經(jīng)過編撰程序、運行、查找錯誤、修改等一系列程序調(diào)試環(huán)節(jié)。這是一個不斷試錯的過程,通過剖析和查找問題的癥結(jié),確定代碼錯誤位置,不斷更改,直至成功為止。在這個過程中,中學(xué)生剖析問題和解決問題的能力得到極大訓(xùn)練。
(8)規(guī)律探求、創(chuàng)造性思維
作業(yè)要求遍歷臥室(a,b)是必選題目,遍歷臥室(c,d)可額外加分,供學(xué)有余力的中學(xué)生完成。除此之外,作業(yè)還提供了更為復(fù)雜的臥室,如圖2所示,為高水平朋友提供拓展訓(xùn)練,目的是培養(yǎng)中學(xué)生在解決復(fù)雜問題時規(guī)律探求的方式,迸發(fā)中學(xué)生的創(chuàng)造性思維。
