于露 江蘇省南京外國(guó)語(yǔ)學(xué)校
計(jì)算思維是運(yùn)用計(jì)算機(jī)科學(xué)的基礎(chǔ)概念進(jìn)行問(wèn)題求解、系統(tǒng)設(shè)計(jì)、人類行為理解的思維活動(dòng),其實(shí)質(zhì)是掌握和運(yùn)用計(jì)算機(jī)科學(xué)的方法進(jìn)行問(wèn)題求解。對(duì)計(jì)算思維能力的衡量可以從計(jì)算概念、計(jì)算實(shí)踐和計(jì)算觀點(diǎn)三個(gè)維度展開(kāi)。計(jì)算概念強(qiáng)調(diào)編程知識(shí)及技能,是具備計(jì)算實(shí)踐和計(jì)算觀點(diǎn)的前提條件,對(duì)計(jì)算概念能力的評(píng)價(jià),可從序列、循環(huán)、并行、事件、條件、運(yùn)算和數(shù)據(jù)維度展開(kāi)。在計(jì)算實(shí)踐部分,學(xué)生需要在掌握計(jì)算知識(shí)的基礎(chǔ)上,運(yùn)用實(shí)驗(yàn)與迭代、測(cè)試與調(diào)試、重復(fù)使用與融合、抽象與模塊化去進(jìn)行程序設(shè)計(jì)實(shí)踐操作。計(jì)算觀點(diǎn)則是需要學(xué)生在學(xué)習(xí)程序設(shè)計(jì)課程后,擁有計(jì)算觀點(diǎn),并將“分解—模式識(shí)別—抽象—算法—問(wèn)題解決”這樣的步驟運(yùn)用于實(shí)際生活中的問(wèn)題解決。
筆者在深入分析現(xiàn)有計(jì)算思維評(píng)價(jià)等級(jí)的基礎(chǔ)上,結(jié)合現(xiàn)有初高中信息科技教材,將計(jì)算思維評(píng)價(jià)等級(jí)設(shè)計(jì)了十個(gè)等級(jí),從零基礎(chǔ)開(kāi)始,適用于全體入門級(jí)學(xué)生,同時(shí)也兼顧競(jìng)賽水平等級(jí)的學(xué)生,下頁(yè)表所示是每個(gè)等級(jí)對(duì)應(yīng)的考題內(nèi)容。
一級(jí)考查內(nèi)容為語(yǔ)言與邏輯,包括Python基本語(yǔ)法元素、常用變量類型、順序結(jié)構(gòu),這一部分的程序都是自上而下執(zhí)行,對(duì)于入門級(jí)學(xué)生來(lái)說(shuō)在理解上沒(méi)有難度,重點(diǎn)在于掌握Python語(yǔ)法規(guī)則。
二級(jí)考查內(nèi)容為選擇結(jié)構(gòu),考查題目的選擇涵蓋雙分支與多分支結(jié)構(gòu),學(xué)生需要掌握常見(jiàn)關(guān)系表達(dá)式,包括“>”“<”“>=”“<=”“==”“!=”,以及如何正確運(yùn)用關(guān)系連接符and和or正確表達(dá)判斷條件,本等級(jí)考查題目融合數(shù)學(xué)幾何、代數(shù)、常見(jiàn)生活案例,需要學(xué)生從實(shí)際問(wèn)題中抽象出編程模型,這是對(duì)其計(jì)算思維抽象能力的考查。
三級(jí)考查內(nèi)容為循環(huán)結(jié)構(gòu),這是編程入門的第一個(gè)難點(diǎn),初學(xué)者需要理解循環(huán)體的執(zhí)行方式。三級(jí)考查涉及的題目包括兩種循環(huán)模式,即For循環(huán)和While循環(huán),并且需要學(xué)生掌握如何運(yùn)用break和continue語(yǔ)句去控制循環(huán)體執(zhí)行次數(shù),在程序編寫(xiě)過(guò)程中考慮時(shí)間復(fù)雜度問(wèn)題。
?
四級(jí)考查內(nèi)容為列表數(shù)組,在掌握程序設(shè)計(jì)的三種基本結(jié)構(gòu)后,教材中的部分內(nèi)容已經(jīng)基本涵蓋,本等級(jí)主要考查學(xué)生對(duì)列表這種數(shù)據(jù)結(jié)構(gòu)的掌握程度,以及能否運(yùn)用列表解決實(shí)際問(wèn)題。
五級(jí)考查內(nèi)容為字符串,字符串可以理解為一種特殊的列表,但因其有很多特殊的方法及實(shí)際運(yùn)用需求,所以將字符串單列為五級(jí)的內(nèi)容。本等級(jí)的考查內(nèi)容涉及字符串常用函數(shù),包括capitalize()、upper()、count()等。
六級(jí)考查內(nèi)容為字典,因?yàn)樽值涫荘ython中特有的一種數(shù)據(jù)類型,學(xué)生需要在實(shí)際問(wèn)題中發(fā)現(xiàn)其中存在的“字典”這一數(shù)據(jù)類型。該等級(jí)的考查內(nèi)容包括字典的定義及賦值、對(duì)key和value值的查找,以及常見(jiàn)的刪除、增加、修改操作。
七級(jí)內(nèi)容為函數(shù),學(xué)生在掌握了程序基本結(jié)構(gòu)和常見(jiàn)數(shù)據(jù)類型后,需要具備模塊化的編程思想。在計(jì)算思維核心概念界定中,強(qiáng)調(diào)將實(shí)際問(wèn)題抽象為計(jì)算機(jī)可解決的一個(gè)個(gè)小問(wèn)題的能力,七級(jí)函數(shù)內(nèi)容便是對(duì)這一能力的重點(diǎn)考查,在語(yǔ)法結(jié)構(gòu)上,需要學(xué)生掌握函數(shù)的格式以及參數(shù)的傳遞調(diào)用方法。
八級(jí)內(nèi)容為排序與查找,排序和查找是計(jì)算機(jī)解決諸多問(wèn)題的基礎(chǔ),也屬于算法初階內(nèi)容,插入排序、快速排序、冒泡排序、順序查找、二分查找都體現(xiàn)了計(jì)算思維的重要思想。該等級(jí)需要學(xué)生掌握多種常見(jiàn)排序算法及二分查找,能比較其時(shí)間及空間復(fù)雜度,并且根據(jù)實(shí)際問(wèn)題選用合適的排序、查找算法。
九級(jí)內(nèi)容為遞歸,屬于算法初階內(nèi)容。遞歸是計(jì)算思維的重要體現(xiàn)之一,它是一種自上而下、先整體再局部的思維方式,需要學(xué)生能夠分離出現(xiàn)實(shí)問(wèn)題中不斷遞歸調(diào)用的小模塊,分析其遞歸變量、遞歸過(guò)程以及遞歸結(jié)束條件。
十級(jí)內(nèi)容為隊(duì)列、棧、二叉樹(shù),屬于數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)。現(xiàn)實(shí)問(wèn)題中數(shù)據(jù)的存在及操作方式非常復(fù)雜,彼此之間存在線性或非線性的關(guān)系,問(wèn)題解決的前提是將復(fù)雜的實(shí)際數(shù)據(jù)抽象為隊(duì)列、棧、樹(shù)、圖等一系列數(shù)據(jù)結(jié)構(gòu),用精簡(jiǎn)的方式表達(dá)彼此之間的聯(lián)系,該等級(jí)的考查內(nèi)容主要為數(shù)據(jù)結(jié)構(gòu)抽象以及常見(jiàn)的查找、修改、刪除操作。
鑒于筆者所在學(xué)校已經(jīng)有運(yùn)用于課程教學(xué)及測(cè)試的OnlineJudge(以下簡(jiǎn)稱OJ)平臺(tái),筆者將計(jì)算思維等級(jí)評(píng)價(jià)測(cè)試模塊架構(gòu)在OJ平臺(tái)上。學(xué)生端在登錄OJ平臺(tái)后,可以進(jìn)入認(rèn)證模塊參加等級(jí)測(cè)試,本等級(jí)測(cè)試采用逐級(jí)考核的方式,即通過(guò)前一等級(jí)為參與后一等級(jí)考試的先決條件,學(xué)生進(jìn)入某一級(jí)別考核界面后,按照要求完成對(duì)應(yīng)試題,考核采用OI模式,即學(xué)生在考核過(guò)程中不可獲得解題正確與否的反饋,學(xué)生在規(guī)定時(shí)間內(nèi)完成考核提交認(rèn)證,系統(tǒng)采用自動(dòng)評(píng)測(cè)的方式給出得分情況,若達(dá)到60分給予合格認(rèn)證,并可繼續(xù)參加下一等級(jí)的認(rèn)證,若達(dá)到85分給予優(yōu)秀的認(rèn)證。學(xué)生可多次參與某一等級(jí)的認(rèn)證直至合格或者優(yōu)秀等級(jí)。教師端登錄OJ管理后臺(tái)后可以對(duì)認(rèn)證模塊進(jìn)行設(shè)置,管理后臺(tái)的功能主要分為兩部分,一是對(duì)等級(jí)考試題目及時(shí)間、分?jǐn)?shù)標(biāo)準(zhǔn)的設(shè)置,二是獲取認(rèn)證結(jié)果數(shù)據(jù),即每一個(gè)學(xué)生完成詳情。
1.一至四級(jí)主要面向非競(jìng)賽生,整體參與程度和通過(guò)率都較高
筆者從OJ平臺(tái)管理后臺(tái)獲得參與情況數(shù)據(jù)如下:一級(jí)參與人數(shù)800人,通過(guò)682人,通過(guò)率為85%;二級(jí)參與人數(shù)510人,通過(guò)率85%;三級(jí)參與人數(shù)240人,通過(guò)率87%;四級(jí)參與人數(shù)159人,通過(guò)率95%。
筆者制訂的等級(jí)標(biāo)準(zhǔn)相較于已有的評(píng)價(jià)標(biāo)準(zhǔn),整體難度降低,并將考查內(nèi)容細(xì)化到不同等級(jí)中?,F(xiàn)有中學(xué)教材中的Python內(nèi)容基本只到循環(huán)結(jié)構(gòu),所以本標(biāo)準(zhǔn)將循環(huán)結(jié)構(gòu)之前的知識(shí)點(diǎn)進(jìn)行了細(xì)化,分成了三個(gè)等級(jí),并根據(jù)教學(xué)進(jìn)度設(shè)置第四等級(jí):列表與元組。所有完成校內(nèi)學(xué)習(xí)的非競(jìng)賽生均能參與前四個(gè)等級(jí)的考核。從數(shù)據(jù)結(jié)果來(lái)看,前四級(jí)參與人數(shù)遠(yuǎn)超后面的若干等級(jí),且通過(guò)率都在85%以上,一級(jí)考試的滿分率為40%,這反映出學(xué)生整體掌握水平較好,各等級(jí)題目選取的難度適中,能較為客觀地反映學(xué)生相應(yīng)知識(shí)技能掌握情況,在有一定區(qū)分度及選拔性的基礎(chǔ)上,兼顧整體學(xué)生現(xiàn)有水平,激發(fā)了學(xué)生進(jìn)一步學(xué)習(xí)的熱情與積極性。
2.五至十級(jí)主要面向競(jìng)賽生,測(cè)試結(jié)果能夠體現(xiàn)較好的區(qū)分度
對(duì)統(tǒng)計(jì)結(jié)果進(jìn)行分析得出,學(xué)生在程序設(shè)計(jì)學(xué)習(xí)的初級(jí)階段,需要邁過(guò)三級(jí)臺(tái)階:第一級(jí)臺(tái)階為程序設(shè)計(jì)基本語(yǔ)法知識(shí)及順序、選擇、循環(huán)三大結(jié)構(gòu),屬于入門級(jí)別,絕大多數(shù)完成校內(nèi)課程學(xué)習(xí)的學(xué)生均能達(dá)到此水平;第二級(jí)臺(tái)階為常用數(shù)據(jù)類型(列表、元組、字符串、字典)和函數(shù),是學(xué)生進(jìn)一步學(xué)習(xí)編程知識(shí)的基礎(chǔ),也可視為非競(jìng)賽生與競(jìng)賽生之間的過(guò)渡階段,這一階段主要讓學(xué)生掌握更豐富的數(shù)據(jù)表示方法,初步具備模塊化的編程思想,這一級(jí)臺(tái)階若校內(nèi)編程學(xué)習(xí)的時(shí)間充裕也可以完成;第三級(jí)臺(tái)階為競(jìng)賽生的起步階段,涉及常見(jiàn)算法,包括排序、查找、遞推、遞歸等,以及初步的數(shù)據(jù)結(jié)構(gòu)。
筆者發(fā)現(xiàn),雖然五至十級(jí)參與人數(shù)較少,但通過(guò)比例大大提升,五級(jí)通過(guò)率93%,六級(jí)通過(guò)率94%,七級(jí)通過(guò)率90%,八級(jí)通過(guò)率93%,九級(jí)和十級(jí)通過(guò)率100%。筆者分析后認(rèn)為,等級(jí)的提高即是對(duì)學(xué)生的篩選,能夠參與較高等級(jí)考核的學(xué)生具備扎實(shí)的編程基礎(chǔ)、濃厚的編程興趣和一定的學(xué)習(xí)能力,其通過(guò)相應(yīng)等級(jí)的概率也會(huì)比低等級(jí)更高,這也正是等級(jí)考核區(qū)分度的體現(xiàn)。
該等級(jí)評(píng)價(jià)認(rèn)證方式能夠激發(fā)學(xué)生的自主學(xué)習(xí)熱情,并對(duì)其提供引領(lǐng)性指導(dǎo)作用。在Python程序教學(xué)過(guò)程中,筆者發(fā)現(xiàn)信息科技課程雖不是中高考科目,但不少學(xué)生對(duì)編程呈現(xiàn)出很高的興趣。同時(shí),等級(jí)劃分為學(xué)生的自主學(xué)習(xí)提供了路徑指導(dǎo),為其搭建了學(xué)習(xí)“腳手架”。
該等級(jí)評(píng)價(jià)能夠給教師提供Python程序教學(xué)指導(dǎo)。在課程教學(xué)中,利用該體系對(duì)學(xué)生計(jì)算思維能力進(jìn)行跟蹤測(cè)試,比較出課程開(kāi)展前后其計(jì)算思維水平的變化,從考核反饋中教師可以深入分析學(xué)生面臨的學(xué)習(xí)難點(diǎn),進(jìn)而調(diào)整教學(xué)進(jìn)度與側(cè)重點(diǎn),對(duì)學(xué)生薄弱之處進(jìn)行細(xì)化教學(xué)。
1.進(jìn)一步細(xì)化評(píng)價(jià)等級(jí),調(diào)整評(píng)價(jià)參與模式
在當(dāng)前的信息科技課程教學(xué)中,初中階段能夠涵蓋的內(nèi)容主要包括順序、選擇、循環(huán)結(jié)構(gòu),有條件的高中學(xué)??蛇M(jìn)行到列表、函數(shù),但再往下的內(nèi)容往往很少涉及。所以,在后續(xù)的研究中,要考慮進(jìn)一步細(xì)化前四個(gè)等級(jí),讓更多非競(jìng)賽生可以獲得與其能力更加精準(zhǔn)匹配的評(píng)級(jí)結(jié)果,另外還應(yīng)繼續(xù)制訂更多層次的評(píng)價(jià)體系,旨在將面向普通高中生的編程能力評(píng)價(jià)體系與高層次的信息學(xué)競(jìng)賽能力等級(jí)銜接起來(lái),打造一套完整的面向中學(xué)生的計(jì)算思維能力評(píng)價(jià)體系。目前采用的認(rèn)證方式是:完成前一等級(jí)方可進(jìn)行下一等級(jí),對(duì)于要達(dá)到高等級(jí)的參與者來(lái)說(shuō),需要完成前面的所有等級(jí)。這種模式在一定程度上導(dǎo)致高等級(jí)參與人數(shù)較少,所以在下一階段的設(shè)計(jì)中,應(yīng)考慮是否更改認(rèn)證模塊參與方式以便收集到更加全面的數(shù)據(jù)。
2.擴(kuò)大評(píng)價(jià)標(biāo)準(zhǔn)參與面,提高高水平學(xué)生參與程度
雖然已經(jīng)有一批學(xué)生參與到評(píng)價(jià)標(biāo)準(zhǔn)的測(cè)試中,但從目前收集的數(shù)據(jù)來(lái)看,不論是采樣對(duì)象的分布還是樣本數(shù),距離理想狀態(tài)仍有一定差距。從后臺(tái)數(shù)據(jù)可以看到,參與對(duì)象具有一定的隨機(jī)性,不僅有本部學(xué)生、分校學(xué)生,還有很多其他省市的參與者。由于采樣樣本、采樣時(shí)間的隨機(jī)性,按照目前的采樣方法獲得的數(shù)據(jù),并不能客觀反映學(xué)生群體的整體計(jì)算思維水平。
在進(jìn)一步完善測(cè)試等級(jí)和試題后,筆者將在本部與分校進(jìn)行數(shù)據(jù)收集,學(xué)生采樣樣本安排如下:初二各校200人,安排在初二下學(xué)期進(jìn)行,高一各校200人,安排在高一下學(xué)期進(jìn)行,本部選取競(jìng)賽學(xué)生100人,其余各校選擇競(jìng)賽學(xué)生20人。這批學(xué)生將參與OJ平臺(tái)計(jì)算思維等級(jí)測(cè)試,由于采樣更加客觀科學(xué),未來(lái)能夠獲得客觀全面的數(shù)據(jù),為評(píng)價(jià)標(biāo)準(zhǔn)的修正提供數(shù)據(jù)來(lái)源。
筆者圍繞如何更加客觀有效地進(jìn)行計(jì)算思維能力評(píng)價(jià)展開(kāi)研究,在比較了現(xiàn)有多個(gè)計(jì)算思維評(píng)價(jià)標(biāo)準(zhǔn)之后,以兼顧日常教學(xué)和競(jìng)賽學(xué)生培養(yǎng)為宗旨,開(kāi)發(fā)出十級(jí)的計(jì)算思維評(píng)價(jià)體系,從評(píng)價(jià)體系測(cè)試階段的反饋數(shù)據(jù)來(lái)看,對(duì)于不同水平等級(jí)的學(xué)生都能呈現(xiàn)出較好的適應(yīng)性與區(qū)分度。該評(píng)價(jià)體系具有一定的推廣性,可激發(fā)學(xué)生程序設(shè)計(jì)學(xué)習(xí)的熱情,對(duì)教師的教學(xué)工作亦有指導(dǎo)價(jià)值。