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