多召軍 劉巖松 任永功
[摘? ?要] 編程教育是培養(yǎng)兒童計(jì)算思維的主要方式,分析兒童編程促進(jìn)計(jì)算思維發(fā)展的內(nèi)在機(jī)理,有助于更加高效、精準(zhǔn)地開(kāi)展兒童編程教育。文章將編程問(wèn)題解決活動(dòng)作為計(jì)算思維的載體,分析了問(wèn)題探索、問(wèn)題表征、方案生成、計(jì)劃執(zhí)行、反思評(píng)價(jià)五個(gè)問(wèn)題解決活動(dòng)與分解思維、抽象思維、程序化思維、迭代思維、概括評(píng)估思維五種計(jì)算思維之間的聯(lián)系;構(gòu)建了分階段、結(jié)構(gòu)化設(shè)計(jì)兒童編程學(xué)習(xí)活動(dòng)的框架,以及支持結(jié)構(gòu)化表征、程序化表征、圖形化表征的技術(shù)環(huán)境,以小學(xué)信息技術(shù)課程“算法與程序設(shè)計(jì)模塊”為例開(kāi)展實(shí)證研究。研究結(jié)果顯示:學(xué)生計(jì)算思維水平顯著提升,且分解思維、抽象思維、程序化思維與迭代思維的提升具有相關(guān)性,說(shuō)明基于問(wèn)題解決過(guò)程模型結(jié)構(gòu)化設(shè)計(jì)編程學(xué)習(xí)活動(dòng)與技術(shù)環(huán)境,能夠促進(jìn)兒童計(jì)算思維要素同步發(fā)展。
[關(guān)鍵詞] 計(jì)算思維; 兒童編程; 問(wèn)題解決; 學(xué)習(xí)活動(dòng); 技術(shù)環(huán)境
[中圖分類號(hào)] G434? ? ? ? ? ? [文獻(xiàn)標(biāo)志碼] A
[作者簡(jiǎn)介] 多召軍(1988—),男,內(nèi)蒙古阿拉善人。講師,博士研究生,主要從事兒童編程教育、在線個(gè)性化學(xué)習(xí)研究。E-mail:476790465@qq.com。任永功為通訊作者,E-mail:ygren@lnnu.com。
一、引? ?言
計(jì)算思維(Computational Thinking,CT)起源于20世紀(jì)80年代,當(dāng)時(shí)派珀特試圖提倡和推動(dòng)兒童學(xué)習(xí)編程。2006年,Wing將CT定義為“利用計(jì)算機(jī)科學(xué)的基本概念,解決問(wèn)題、設(shè)計(jì)系統(tǒng)和理解人類行為”的過(guò)程,認(rèn)為是信息化社會(huì)人人必備的重要能力之一[1]??梢?jiàn),CT自誕生以來(lái)始終與編程教育密切聯(lián)系在一起,編程教育也被認(rèn)為是培養(yǎng)計(jì)算思維的主要方式。計(jì)算思維培養(yǎng)導(dǎo)向的編程教學(xué)仍處在探索階段,存在培養(yǎng)內(nèi)容不夠全面、編程工具使用效果參差不齊等問(wèn)題[2-3]。圖形化編程是小學(xué)乃至學(xué)前兒童階段編程教育開(kāi)展的主要形式,可以把程序設(shè)計(jì)思想通過(guò)拼接代碼塊加以實(shí)現(xiàn)[4],進(jìn)行直觀操作,降低編程的難度。然而,如果程序設(shè)計(jì)的整個(gè)過(guò)程都依賴于圖形化編程工具,學(xué)生則傾向試錯(cuò)式的程序編寫(xiě)[5],容易忽視問(wèn)題分解、模式識(shí)別、算法設(shè)計(jì)等計(jì)算思維的參與。因此,本研究從學(xué)生思維參與的視角,將編程問(wèn)題解決活動(dòng)作為計(jì)算思維的載體,分析編程過(guò)程與計(jì)算思維發(fā)展的關(guān)系,進(jìn)一步結(jié)構(gòu)化設(shè)計(jì)編程學(xué)習(xí)活動(dòng)與支持環(huán)境,旨在實(shí)現(xiàn)計(jì)算思維要素同步發(fā)展。
二、內(nèi)在機(jī)理:編程問(wèn)題解決活動(dòng)對(duì)
CT核心要素的承載關(guān)系
(一)編程問(wèn)題解決過(guò)程模型
編程問(wèn)題屬于設(shè)計(jì)類的問(wèn)題,是一類源于現(xiàn)實(shí)生活場(chǎng)景、復(fù)雜度較高的非良構(gòu)問(wèn)題?;谡J(rèn)知心理學(xué)構(gòu)建的劣構(gòu)問(wèn)題解決框架得到廣為引用,例如:Sinnott提出,劣構(gòu)問(wèn)題解決過(guò)程包括建構(gòu)問(wèn)題空間、選擇和生成解決方案及監(jiān)控階段[6];Jonassen提出,劣構(gòu)問(wèn)題解決模型包括闡明問(wèn)題空間及情境限制,識(shí)別和厘清各種可選擇的觀點(diǎn)及立場(chǎng),生成可能的問(wèn)題解決方案,通過(guò)建構(gòu)論點(diǎn)和個(gè)人信念評(píng)價(jià)各種方案的有效性,監(jiān)控問(wèn)題空間和各種解決方案選項(xiàng),實(shí)施與監(jiān)控解決方法及調(diào)整解決方法[7];OECD(2013)問(wèn)題解決框架涉及探索與理解、表征與系統(tǒng)化闡述、計(jì)劃與執(zhí)行、控制與反思四個(gè)過(guò)程?;谏鲜鲇^點(diǎn),本研究認(rèn)為,編程問(wèn)題解決是一個(gè)動(dòng)態(tài)的過(guò)程,以生成完善的計(jì)算機(jī)程序?yàn)槟康?,個(gè)體需要在與問(wèn)題情境交互的過(guò)程中,探索與理解對(duì)象(角色)的相關(guān)信息與事件,表征各對(duì)象(角色)的狀態(tài)及相互之間的關(guān)系,生成可能的編程方案,制定計(jì)劃,編寫(xiě)程序,迭代優(yōu)化,直到形成完善的、可執(zhí)行的計(jì)算機(jī)程序,最后對(duì)問(wèn)題解決過(guò)程進(jìn)行總結(jié)與評(píng)價(jià)。問(wèn)題解決過(guò)程包含問(wèn)題探索、問(wèn)題表征、方案生成、計(jì)劃執(zhí)行、反思評(píng)價(jià)等認(rèn)知活動(dòng)。
(二)CT核心要素
國(guó)內(nèi)外學(xué)者從不同的角度闡述計(jì)算思維所涵蓋的內(nèi)容,例如:Barr與Stephenson的模型在不同的學(xué)科背景下呈現(xiàn)了CT的能力,包含抽象、問(wèn)題分解、算法與程序化、測(cè)試與驗(yàn)證[8];Brennan與Resnick的框架包括抽象與模塊化、計(jì)算概念(對(duì)應(yīng)于Scratch編程塊)、測(cè)試與調(diào)試等[9];Selby描述了CT的思維過(guò)程,包括算法思維、評(píng)估、分解、抽象、概括這五個(gè)核心要素[10];在Selby 等人的研究基礎(chǔ)上,傅騫等人從抽象思維、分解思維、算法思維、評(píng)估思維和泛化思維五個(gè)層面進(jìn)行研究[11];朱珂等人結(jié)合STEM教育的教學(xué)過(guò)程,將計(jì)算思維能力分為分解能力、概括能力、算法思維、評(píng)估能力以及抽象化五個(gè)要素[12]; Shute等人開(kāi)發(fā)了可用于CT能力評(píng)估的模型,涉及抽象(數(shù)據(jù)收集與分析、模式識(shí)別、模型化)、分解、算法(算法設(shè)計(jì)、類比、效率、自動(dòng)化)、調(diào)試、概括及迭代[13]。綜上所述,計(jì)算思維模型或框架的定義主要包括兩個(gè)方面:一是描述思維過(guò)程,二是描述構(gòu)成計(jì)算思維能力的要素。從思維過(guò)程出發(fā),計(jì)算思維是問(wèn)題邏輯分析、問(wèn)題分解、給出詳細(xì)的解決方案、設(shè)計(jì)相應(yīng)的算法進(jìn)行實(shí)施以及反思與優(yōu)化的思維過(guò)程,涉及分解思維、抽象思維、程序化思維、迭代思維及概括評(píng)估思維五個(gè)核心要素。分解思維是按照問(wèn)題的功能要素把復(fù)雜問(wèn)題分解為易操作問(wèn)題的思維過(guò)程;抽象思維是從問(wèn)題情境中推理分析解決問(wèn)題關(guān)鍵信息以及用結(jié)構(gòu)化邏輯表示信息的思維過(guò)程;程序化思維是按有序的步驟去解決問(wèn)題的思維過(guò)程;迭代思維是一種不斷用變量的舊值遞推新值的思維過(guò)程;概括評(píng)估思維是總結(jié)與評(píng)價(jià)問(wèn)題的解決辦法,并擴(kuò)展給定問(wèn)題中的現(xiàn)有解決方案以覆蓋更多的問(wèn)題。
(三)編程問(wèn)題解決活動(dòng)對(duì)CT核心要素的承載關(guān)系
綜上所述,編程問(wèn)題解決過(guò)程包含問(wèn)題探索、問(wèn)題表征、方案生成、計(jì)劃執(zhí)行、反思評(píng)價(jià)五個(gè)環(huán)節(jié)。從思維過(guò)程的視角解釋計(jì)算思維,包括分解思維、抽象思維、程序化思維、迭代思維與概括評(píng)估思維五個(gè)核心要素,進(jìn)而建立編程問(wèn)題解決活動(dòng)對(duì)CT核心要素的承載關(guān)系模型,如圖1所示。
1. 問(wèn)題探索與分解思維
面對(duì)復(fù)雜的編程問(wèn)題,如果將其作為一個(gè)整體而尋找解決方案時(shí),學(xué)生可能會(huì)產(chǎn)生畏懼心理;如果能夠按照功能要素、角色或其他邏輯將其分解為易于操作的問(wèn)題,這將使得編程問(wèn)題解決的流程更簡(jiǎn)單。當(dāng)學(xué)生通過(guò)實(shí)踐工作形成自己的問(wèn)題時(shí),學(xué)習(xí)將變得更有意義[14]。因此,問(wèn)題探索的目的在于學(xué)生與問(wèn)題情境交互的過(guò)程中,運(yùn)用分解思維尋找問(wèn)題拆分的邏輯,將客觀世界的問(wèn)題轉(zhuǎn)化為學(xué)生能夠理解的問(wèn)題;運(yùn)用已掌握的知識(shí)與經(jīng)驗(yàn),發(fā)現(xiàn)自己能夠解決的問(wèn)題或通過(guò)努力能夠解決的問(wèn)題。
2. 問(wèn)題表征與抽象思維
在明確可能解決問(wèn)題的基礎(chǔ)上,需要繼續(xù)從問(wèn)題情境中獲取與每個(gè)問(wèn)題相關(guān)的所有信息,提取或補(bǔ)充與這些問(wèn)題相關(guān)的領(lǐng)域知識(shí),形成問(wèn)題空間中所有信息的語(yǔ)義網(wǎng)絡(luò)。其中,構(gòu)建語(yǔ)義網(wǎng)絡(luò)需要識(shí)別信息結(jié)構(gòu)背后的模式與規(guī)則,用模型表示各要素的關(guān)系與運(yùn)作過(guò)程。可以發(fā)現(xiàn),問(wèn)題表征活動(dòng)與Shute等人提出的抽象思維三要素相吻合,即數(shù)據(jù)收集與分析、模式識(shí)別及模型化[13]。
3. 方案生成與程序化思維
編程問(wèn)題解決方案中明確定義的問(wèn)題解決步驟是學(xué)生自主開(kāi)發(fā)的一組指令或規(guī)則,不論是人還是計(jì)算機(jī),只要準(zhǔn)確執(zhí)行,就會(huì)得出問(wèn)題答案。因此,問(wèn)題解決方案是學(xué)生程序化思維的體現(xiàn),問(wèn)題解決方案的形成過(guò)程能夠促進(jìn)學(xué)生程序化思維的發(fā)展。
4. 計(jì)劃執(zhí)行與迭代思維
計(jì)劃執(zhí)行活動(dòng)是以問(wèn)題解決方案為依據(jù),設(shè)計(jì)與開(kāi)發(fā)程序原型;測(cè)試程序,明確程序的錯(cuò)誤與漏洞;優(yōu)化程序,根據(jù)反饋結(jié)果返回原型進(jìn)行修改。這是一個(gè)不斷迭代與持續(xù)優(yōu)化的過(guò)程,學(xué)生運(yùn)用迭代思維反復(fù)測(cè)試與優(yōu)化原型,直至達(dá)到理想狀態(tài)。
5. 反思評(píng)價(jià)與概括評(píng)估思維
反思評(píng)價(jià)活動(dòng)是對(duì)問(wèn)題解決結(jié)果和過(guò)程的自我反思、評(píng)價(jià)與歸因,是對(duì)編程問(wèn)題解決方法與策略的概括與總結(jié),并能夠?qū)⑵溥w移應(yīng)用到更廣泛的問(wèn)題解決中。因此,反思與評(píng)價(jià)活動(dòng)促進(jìn)了概括評(píng)估思維的應(yīng)用與發(fā)展。
三、框架設(shè)計(jì):“五環(huán)節(jié)”編程學(xué)習(xí)活動(dòng)
設(shè)計(jì)模型
問(wèn)題解決取向的計(jì)算思維培養(yǎng)側(cè)重于“做”,但并不是盲目地“做”,學(xué)習(xí)者要對(duì)習(xí)得的方法進(jìn)行抽象化并遷移到新情境中加以應(yīng)用、 創(chuàng)造,需要主動(dòng)的思維參與才能實(shí)現(xiàn)[15]。本研究基于編程問(wèn)題解決活動(dòng)對(duì)CT核心要素的承載關(guān)系,從問(wèn)題探索、問(wèn)題表征、方案生成、計(jì)劃執(zhí)行、反思評(píng)價(jià)五個(gè)環(huán)節(jié),分段梳理兒童編程學(xué)習(xí)活動(dòng)的目標(biāo),制定適合的編程學(xué)習(xí)活動(dòng)策略,構(gòu)建兒童編程學(xué)習(xí)活動(dòng)結(jié)構(gòu)化設(shè)計(jì)模型,如圖2所示,旨在引導(dǎo)學(xué)習(xí)者主動(dòng)的思維參與。
(一)“五環(huán)節(jié)”編程學(xué)習(xí)活動(dòng)目標(biāo)分析
問(wèn)題探索環(huán)節(jié)的編程學(xué)習(xí)活動(dòng)目標(biāo)是學(xué)生在與情境交互的過(guò)程中識(shí)別編程要素或角色,明確針對(duì)每個(gè)角色的編程問(wèn)題;問(wèn)題表征環(huán)節(jié)需要學(xué)生圍繞每個(gè)要素廣泛收集數(shù)據(jù),抽象出各要素狀態(tài)變化的模式;方案生成環(huán)節(jié)是學(xué)生建立問(wèn)題解決思路,形成可能的問(wèn)題解決方案,通過(guò)循證與分析,確定最終的問(wèn)題解決方案;計(jì)劃執(zhí)行環(huán)節(jié)旨在設(shè)計(jì)與開(kāi)發(fā)程序原型,測(cè)試、評(píng)價(jià)及迭代優(yōu)化原型程序;反思評(píng)價(jià)環(huán)節(jié)是對(duì)編程問(wèn)題解決過(guò)程的反思與歸因。
(二)“五環(huán)節(jié)”編程學(xué)習(xí)活動(dòng)設(shè)計(jì)策略
基于皮亞杰的兒童認(rèn)識(shí)發(fā)展心理學(xué),游戲化學(xué)習(xí)與認(rèn)知沖突教學(xué)法是支持編程學(xué)習(xí)活動(dòng)設(shè)計(jì)的重要策略,游戲化學(xué)習(xí)能夠激發(fā)學(xué)生對(duì)編程的興趣與動(dòng)機(jī),進(jìn)而激勵(lì)行動(dòng)、促進(jìn)學(xué)習(xí)和解決問(wèn)題[16];認(rèn)知沖突是學(xué)生持續(xù)編程的動(dòng)力源泉,基于“情境創(chuàng)設(shè)—誘發(fā)認(rèn)知沖突—產(chǎn)生新平衡”的策略,能夠推動(dòng)學(xué)生完成編程任務(wù)。以下從“五環(huán)節(jié)”分別闡述編程學(xué)習(xí)活動(dòng)設(shè)計(jì)策略。
1. 問(wèn)題探索環(huán)節(jié)的編程學(xué)習(xí)活動(dòng)設(shè)計(jì)策略
“分而治之”是解決復(fù)雜問(wèn)題最有效的方法,在學(xué)生與問(wèn)題情境的交互過(guò)程中,可通過(guò)角色扮演等游戲化活動(dòng),激勵(lì)學(xué)生探索與理解編程要素或角色,據(jù)此將問(wèn)題分解和轉(zhuǎn)化為多個(gè)易于操作的子問(wèn)題。在問(wèn)題情境創(chuàng)設(shè)時(shí),基于最近發(fā)展區(qū)理論,盡可能誘發(fā)學(xué)生產(chǎn)生已有知識(shí)經(jīng)驗(yàn)與問(wèn)題情境之間的不平衡狀態(tài),激發(fā)學(xué)生進(jìn)行有效的問(wèn)題分解與轉(zhuǎn)化。
2. 問(wèn)題表征環(huán)節(jié)的編程學(xué)習(xí)活動(dòng)設(shè)計(jì)策略
小組協(xié)作頭腦風(fēng)暴法是促進(jìn)問(wèn)題表征的重要策略,在可視化技術(shù)的支持下,對(duì)各個(gè)問(wèn)題的語(yǔ)義關(guān)系網(wǎng)絡(luò)進(jìn)行自由發(fā)散的討論,進(jìn)行結(jié)構(gòu)化的歸納與整理。策劃頭腦風(fēng)暴活動(dòng)時(shí),需要進(jìn)一步誘發(fā)學(xué)生的認(rèn)知沖突,進(jìn)而抽象出有創(chuàng)意的模式。
3. 方案生成環(huán)節(jié)的編程學(xué)習(xí)活動(dòng)策略
算法與自動(dòng)化是該環(huán)節(jié)編程學(xué)習(xí)活動(dòng)設(shè)計(jì)應(yīng)關(guān)注的焦點(diǎn)。流程圖或決策樹(shù)是用來(lái)表示自動(dòng)化決策過(guò)程的一種方式,既可以用來(lái)可視化機(jī)器使用算法時(shí)可能采取的步驟,也可以使決策的結(jié)果更容易理解。因此,該環(huán)節(jié)應(yīng)充分使用流程圖、決策樹(shù)等可視化技術(shù),設(shè)計(jì)“學(xué)生扮演機(jī)器,流程圖填空、拼接、連線”等活動(dòng),引導(dǎo)學(xué)生形成有效解決當(dāng)前問(wèn)題的算法,深入理解機(jī)器執(zhí)行算法的過(guò)程。同時(shí),成功的方案能夠消解學(xué)生的認(rèn)知沖突,提升學(xué)生開(kāi)發(fā)程序原型的信心。
4. 計(jì)劃執(zhí)行環(huán)節(jié)的編程學(xué)習(xí)活動(dòng)策略
計(jì)劃執(zhí)行是重復(fù)反饋的過(guò)程,對(duì)于檢查錯(cuò)誤、調(diào)試程序、迭代算法等一系列操作,學(xué)生會(huì)有抵觸心理,一次改變一個(gè)變量的策略(Vary-One-Thing-At-At-Time,VOTAT)可以幫助學(xué)生逐步思考與檢測(cè)程序的合理性,逐個(gè)擊破程序異常與漏洞,將模糊的問(wèn)題清晰化。Greiff等人通過(guò)分析PISA(2012)測(cè)試過(guò)程中產(chǎn)生的計(jì)算機(jī)日志數(shù)據(jù)發(fā)現(xiàn),VOTAT策略應(yīng)用情況與問(wèn)題解決績(jī)效之間呈強(qiáng)顯著關(guān)系[17]。因此,該環(huán)節(jié)應(yīng)圍繞VOTAT理念和“結(jié)對(duì)編程”的協(xié)作學(xué)習(xí)策略設(shè)計(jì)編程學(xué)習(xí)活動(dòng)。
5. 反思評(píng)價(jià)環(huán)節(jié)的編程學(xué)習(xí)活動(dòng)策略
交流、共享、組內(nèi)評(píng)價(jià)、組間評(píng)價(jià)是促進(jìn)學(xué)生反思的有效方法。準(zhǔn)備作品分享的過(guò)程是學(xué)生對(duì)編程問(wèn)題解決過(guò)程與結(jié)果進(jìn)行總結(jié)、概括的過(guò)程;與他人交流、評(píng)價(jià)他人作品的過(guò)程,也會(huì)激勵(lì)學(xué)生反思自己開(kāi)發(fā)的程序以及編程過(guò)程中遇到的問(wèn)題與解決方法。
四、環(huán)境支持:“三種表征”支持技術(shù)框架
問(wèn)題探索與問(wèn)題表征環(huán)節(jié)需要結(jié)構(gòu)化表示問(wèn)題信息,方案生成環(huán)節(jié)需要按照?qǐng)?zhí)行順序流程化表示問(wèn)題信息,計(jì)劃執(zhí)行與反思評(píng)價(jià)環(huán)節(jié)需要基于圖形要素系統(tǒng)化表示問(wèn)題信息。三種表征方式差異較大,可能出現(xiàn)兩次思維跳躍,且前兩次的不充分表征可能導(dǎo)致不完善的編程結(jié)果。因此,本研究提出融合思維可視化工具與圖形化編程工具的編程學(xué)習(xí)環(huán)境,如圖3所示,包括結(jié)構(gòu)化表征支持工具、流程化表征支持工具及圖形化編程工具,一方面使隱性的思維過(guò)程與思維結(jié)果顯性化,另一方面增加學(xué)生程序設(shè)計(jì)過(guò)程的連續(xù)性。
(一)結(jié)構(gòu)化表征支持工具
編程問(wèn)題探索與編程問(wèn)題表征環(huán)節(jié)需要探索問(wèn)題情境中的所有相關(guān)信息,梳理問(wèn)題信息之間的關(guān)系,當(dāng)缺少必要的支持時(shí),學(xué)生提取的問(wèn)題信息可能是片面的、零散的,只能從事表面工作。在編程學(xué)習(xí)中借助思維可視化工具,可以將分散的知識(shí)進(jìn)行系統(tǒng)化的處理,幫助學(xué)生厘清元素之間的關(guān)系;也可以將比較復(fù)雜的編程任務(wù)細(xì)化分解,用結(jié)構(gòu)化的邏輯從整體到部分分層思考[18-19]。例如:思維導(dǎo)圖作為思維可視化工具實(shí)現(xiàn)了學(xué)習(xí)者所學(xué)知識(shí)之間的連接,促進(jìn)了有意義學(xué)習(xí)的發(fā)生[20];括號(hào)圖可以把問(wèn)題從多個(gè)方面進(jìn)行合理拆分,對(duì)每一種拆分方式給出合理的解釋[21]。
(二)流程化表征支持工具
流程圖等流程化表征工具作為“思維發(fā)聲”支架,聚焦于學(xué)習(xí)者的思維加工過(guò)程和方法習(xí)得[22],使學(xué)生明確程序的執(zhí)行過(guò)程,能夠有效助力程序化思維發(fā)展。此外,學(xué)生在問(wèn)題分解、要素信息分析的基礎(chǔ)上,借助流程圖設(shè)計(jì)解決編程問(wèn)題的一系列步驟,將問(wèn)題解決的過(guò)程進(jìn)行可視化表達(dá),降低對(duì)編程語(yǔ)言的關(guān)注度,有助于學(xué)生理解程序的實(shí)現(xiàn)過(guò)程。
(三)圖形化編程工具
借助圖形化編程工具的編程是學(xué)生依據(jù)問(wèn)題情境,凝練問(wèn)題信息,并轉(zhuǎn)化為圖形化要素表示的信息[5]。相較于文本編程語(yǔ)言晦澀的語(yǔ)法與關(guān)鍵字拼寫(xiě),圖形化編程工具可以有效降低復(fù)雜代碼編寫(xiě)所帶來(lái)的認(rèn)知難度,使學(xué)生將注意力集中于問(wèn)題解決本身,更有助于提升學(xué)生的計(jì)算思維能力,以及更容易完成復(fù)雜的創(chuàng)意作品[11]。
五、實(shí)證研究:以小學(xué)信息技術(shù)課程
“算法與程序設(shè)計(jì)模塊”為例
(一)教學(xué)設(shè)計(jì)
1. 基本情況
本研究以沈陽(yáng)市某小學(xué)五年級(jí)的30名學(xué)生為教學(xué)對(duì)象,以信息技術(shù)課程中的“算法與程序設(shè)計(jì)模塊”為教學(xué)內(nèi)容開(kāi)展為期五周的準(zhǔn)實(shí)驗(yàn)研究。基于五年級(jí)學(xué)生思維發(fā)展特征和教學(xué)內(nèi)容特征,設(shè)計(jì)了四個(gè)連續(xù)的協(xié)作學(xué)習(xí)任務(wù)。其中,第四個(gè)“奇妙的海底世界”為綜合性的學(xué)習(xí)任務(wù),需要學(xué)生對(duì)Scratch多個(gè)模塊的命令按照實(shí)際需求綜合應(yīng)用,下文將對(duì)該任務(wù)的學(xué)習(xí)活動(dòng)進(jìn)行詳細(xì)闡述。
2. 結(jié)構(gòu)化編程學(xué)習(xí)活動(dòng)設(shè)計(jì)
本案例設(shè)計(jì)了“情境觀察、信息探索”“分解問(wèn)題、厘清思路”“明確流程、生成方案”“程序設(shè)計(jì)、迭代優(yōu)化”及“歸納總結(jié)、交流分享”五個(gè)活動(dòng)。采用不插電編程與圖形化編程相融合的方式,前三個(gè)活動(dòng)在紙質(zhì)任務(wù)單的支持下開(kāi)展不插電編程,后兩個(gè)活動(dòng)基于Scratch工具與紙質(zhì)任務(wù)單相結(jié)合的方式,主要學(xué)習(xí)活動(dòng)見(jiàn)表1。
(二)數(shù)據(jù)收集與分析
1. 數(shù)據(jù)收集
本研究通過(guò)計(jì)算思維量表與學(xué)習(xí)任務(wù)單相結(jié)合的方式采集數(shù)據(jù)。計(jì)算思維量表參照Korkmaz 等人的CTS量表設(shè)計(jì),包括抽象思維、分解思維、程序化思維、迭代思維、概括和評(píng)估思維等5個(gè)維度,共24個(gè)題項(xiàng),每個(gè)題項(xiàng)采用1~5點(diǎn)(非常不符合到非常符合)計(jì)分。前測(cè)、后測(cè)兩次各發(fā)放30份量表,有效量表各回收30份,兩次共回收60份,回收率為100%,前測(cè)與后測(cè)的總體內(nèi)部一致性信度Cronbach's α 為0. 859。
通過(guò)學(xué)習(xí)任務(wù)單數(shù)據(jù)分析學(xué)生在問(wèn)題探索、問(wèn)題表征、方案生成、計(jì)劃執(zhí)行、反思評(píng)價(jià)環(huán)節(jié)的表現(xiàn)。本次實(shí)驗(yàn)共完成四個(gè)任務(wù)的作品創(chuàng)作,每個(gè)任務(wù)回收各個(gè)小組在四個(gè)環(huán)節(jié)的四份學(xué)習(xí)任務(wù)單。
2. 實(shí)驗(yàn)數(shù)據(jù)分析
(1)計(jì)算思維前后測(cè)結(jié)果分析
采用GraphPad Prism對(duì)實(shí)驗(yàn)前測(cè)與后測(cè)的計(jì)算思維調(diào)查數(shù)據(jù)進(jìn)行配對(duì)樣本t檢驗(yàn),分析結(jié)果如圖4(a)所示,分解思維、抽象思維、程序化思維、迭代思維及概括評(píng)估思維的后測(cè)水平均值高于前側(cè),而且前測(cè)與后測(cè)數(shù)據(jù)出現(xiàn)了較強(qiáng)的顯著性差異。通過(guò)前后測(cè)結(jié)果連接圖4(b)可以發(fā)現(xiàn),幾乎每個(gè)學(xué)生的分解思維、抽象思維與程序化思維能力都有所提升,表明在三種表征技術(shù)支持下,基于問(wèn)題解決過(guò)程模型結(jié)構(gòu)化設(shè)計(jì)編程學(xué)習(xí)活動(dòng),對(duì)兒童計(jì)算思維發(fā)展產(chǎn)生了積極的影響;有超過(guò)一半的學(xué)生的概括評(píng)估思維能力有明顯提升,有部分學(xué)生幾乎沒(méi)有變化,結(jié)合教學(xué)實(shí)際情況來(lái)看,小組作品分享活動(dòng)中并非全員參與,有效參與分享活動(dòng)能夠促進(jìn)學(xué)生概括評(píng)估自身的問(wèn)題解決過(guò)程。
(2)計(jì)算思維五要素的相關(guān)性分析
計(jì)算思維后測(cè)與前測(cè)結(jié)果之間的差值表示經(jīng)過(guò)五周編程學(xué)習(xí)之后思維水平上的變化。因此,本研究對(duì)計(jì)算思維五要素前后測(cè)的差值作相關(guān)性分析,以判斷哪些要素是協(xié)同提升的。通過(guò)Kolmogorov-Smirnov檢測(cè)發(fā)現(xiàn),計(jì)算思維五要素中分解思維、程序化思維與迭代思維呈非正態(tài)分布,故采用Spearman相關(guān)性分析方法進(jìn)行分析,分析結(jié)果見(jiàn)表2,分解思維與抽象思維之間的相關(guān)性(r=0.467**)、分解思維與程序化思維之間的相關(guān)性(r=0.568**)、抽象思維與程序化思維之間的相關(guān)性(r=0.419*)、抽象思維與迭代思維之間的相關(guān)性(r=0.446*)為中等正相關(guān);分解思維與迭代思維之間的相關(guān)性(r=0.633**)、程序化思維與迭代思維之間的相關(guān)性(r=0.845**)為強(qiáng)正相關(guān);概括評(píng)估思維與其他思維要素之間沒(méi)有顯著的相關(guān)關(guān)系。結(jié)果表明,基于問(wèn)題解決過(guò)程模型設(shè)計(jì)兒童編程學(xué)習(xí)活動(dòng),能夠促進(jìn)分解思維、抽象思維、程序化思維與迭代思維的同步發(fā)展。
(3)問(wèn)題解決行為數(shù)據(jù)分析
①問(wèn)題探索與問(wèn)題表征環(huán)節(jié),從完整性、邏輯性、發(fā)散性以及創(chuàng)新性四個(gè)方面評(píng)價(jià)問(wèn)題信息表征結(jié)果。經(jīng)過(guò)前兩周的訓(xùn)練,完整性方面,學(xué)生都能較完整地分析要素和功能;邏輯性方面,后兩次任務(wù)信息表示的層次性有明顯提高;發(fā)散性方面,思維導(dǎo)圖分支數(shù)量逐漸增多,開(kāi)始從不同角度分析問(wèn)題;創(chuàng)新性方面,仍然鮮有獨(dú)特和創(chuàng)新的想法??傮w來(lái)看,在可視化表征技術(shù)支架的支持下,大部分學(xué)生能夠從問(wèn)題情境中抽象出“角色”的關(guān)鍵特征,識(shí)別角色的多種模式,實(shí)現(xiàn)問(wèn)題的轉(zhuǎn)化,說(shuō)明該環(huán)節(jié)的編程學(xué)習(xí)活動(dòng)設(shè)計(jì)積極地影響了學(xué)生分解思維與抽象思維發(fā)展。
②方案生成環(huán)節(jié),根據(jù)任務(wù)的復(fù)雜度與學(xué)生的認(rèn)知水平發(fā)展,四次學(xué)習(xí)任務(wù)分別以“簡(jiǎn)單”連線、“復(fù)雜”連線及填寫(xiě)與粘貼卡片等多樣化的形式設(shè)計(jì)流程圖。循序漸進(jìn)的過(guò)程中,大部分學(xué)生能較好地使用流程圖,明確自動(dòng)化執(zhí)行步驟的算法。說(shuō)明流程圖工具支持的問(wèn)題解決方案生成活動(dòng)促進(jìn)了學(xué)生程序化思維發(fā)展。
③計(jì)劃執(zhí)行環(huán)節(jié),遇到程序錯(cuò)誤與漏洞時(shí),由第一個(gè)任務(wù)的不知所措、立即尋求幫助,逐漸變成有部分學(xué)生開(kāi)始自主調(diào)試程序,在“可視化修改記錄支架”輔助下,對(duì)程序模塊進(jìn)行逐一檢查與修改,說(shuō)明學(xué)生開(kāi)始逐漸形成應(yīng)用VOTAT策略迭代與調(diào)試程序的思維與技能。
六、總結(jié)與展望
(一)結(jié)論與討論
從三個(gè)方面對(duì)實(shí)踐研究的數(shù)據(jù)分析結(jié)果進(jìn)行總結(jié)與討論。
1. 結(jié)構(gòu)化設(shè)計(jì)編程學(xué)習(xí)活動(dòng)能夠促進(jìn)兒童計(jì)算思維持續(xù)參與及協(xié)同發(fā)展
數(shù)據(jù)結(jié)果表明,學(xué)生的計(jì)算思維水平在五周的編程學(xué)習(xí)之后有了顯著的提升,而且分解思維、抽象思維、程序化思維與迭代思維的提升之間具有一定的相關(guān)性,說(shuō)明從思維參與的視角分五個(gè)環(huán)節(jié)結(jié)構(gòu)化設(shè)計(jì)編程學(xué)習(xí)活動(dòng),融合三類表征技術(shù)構(gòu)建可視化編程環(huán)境,能夠促進(jìn)兒童分解思維、抽象思維、程序化思維、迭代思維在編程中的持續(xù)參與,進(jìn)而推動(dòng)計(jì)算思維各要素的協(xié)同發(fā)展。其中,分解思維與迭代思維為強(qiáng)正相關(guān)關(guān)系,說(shuō)明當(dāng)學(xué)生能夠?qū)?fù)雜問(wèn)題分解為多個(gè)易于操作的子問(wèn)題時(shí),也能夠有效應(yīng)用VOTAT策略對(duì)程序進(jìn)行不斷的優(yōu)化與完善;程序化思維與迭代思維為強(qiáng)正相關(guān)關(guān)系,說(shuō)明不斷優(yōu)化與完善程序的迭代過(guò)程,能夠促進(jìn)學(xué)生深入理解機(jī)器執(zhí)行算法的過(guò)程。
2. 編程學(xué)習(xí)活動(dòng)不應(yīng)止步于完成作品,有效的編程過(guò)程總結(jié)與評(píng)價(jià)更重要
計(jì)算思維作為一種廣泛性思維,并不局限于計(jì)算機(jī)編程學(xué)習(xí),更需要將其應(yīng)用于其他學(xué)科學(xué)習(xí)、問(wèn)題解決及生活實(shí)踐之中[23]。學(xué)習(xí)者自我總結(jié)與評(píng)價(jià)活動(dòng)應(yīng)該貫穿于問(wèn)題解決的各個(gè)環(huán)節(jié),通過(guò)啟發(fā)性問(wèn)題,引導(dǎo)學(xué)習(xí)者對(duì)編程問(wèn)題解決過(guò)程進(jìn)行反思、評(píng)價(jià)與歸因[24],是問(wèn)題解決方案、策略與思維實(shí)現(xiàn)廣泛遷移的前提。數(shù)據(jù)分析結(jié)果表明,有效參與分享活動(dòng)能夠促進(jìn)學(xué)生概括評(píng)估自身的問(wèn)題解決過(guò)程。然而,本次實(shí)驗(yàn)中有部分學(xué)生的概括評(píng)估思維并沒(méi)有明顯變化,而且概括評(píng)估思維與分解思維、抽象思維、程序化思維、迭代思維沒(méi)有顯著的相關(guān)性。如何將反思評(píng)價(jià)活動(dòng)貫穿于整個(gè)編程問(wèn)題解決過(guò)程中尤為重要,在未來(lái)的研究中需要進(jìn)一步優(yōu)化設(shè)計(jì)。
3. 結(jié)構(gòu)化設(shè)計(jì)編程學(xué)習(xí)活動(dòng),能夠激發(fā)學(xué)生發(fā)揮最大的潛能
分階段、結(jié)構(gòu)化設(shè)計(jì)編程學(xué)習(xí)活動(dòng)與可視化表征支持技術(shù)環(huán)境,并非限制學(xué)生自由創(chuàng)造,而是通過(guò)系列活動(dòng)引導(dǎo)學(xué)生發(fā)揮最大的潛能,引導(dǎo)學(xué)生開(kāi)展有意義的編程學(xué)習(xí)活動(dòng)。結(jié)構(gòu)化并非僵化,隨著學(xué)生認(rèn)知的發(fā)展,應(yīng)綜合運(yùn)用多通道策略、多表征策略、支架策略設(shè)計(jì)每個(gè)環(huán)節(jié)的編程學(xué)習(xí)活動(dòng)[25];同時(shí),可視化表征技術(shù)環(huán)境作為學(xué)習(xí)支架,應(yīng)根據(jù)實(shí)際情況適時(shí)撤下,避免影響學(xué)生的發(fā)散思維與創(chuàng)造力。
(二)未來(lái)展望
我國(guó)兒童編程教育實(shí)踐仍處于初步探索階段,目標(biāo)導(dǎo)向的編程教學(xué)活動(dòng)設(shè)計(jì)研究具有重要的意義。計(jì)算思維是青少年發(fā)展的核心素養(yǎng),從思維過(guò)程視角解釋計(jì)算思維,與設(shè)計(jì)類問(wèn)題解決過(guò)程有著密切的聯(lián)系。通過(guò)理論與實(shí)踐研究,本文分析、建立了編程問(wèn)題解決過(guò)程與計(jì)算思維之間的映射關(guān)系,在未來(lái)的研究中可以通過(guò)對(duì)問(wèn)題解決活動(dòng)行為數(shù)據(jù)的建模與分析,進(jìn)而測(cè)評(píng)學(xué)生的思維參與狀態(tài)及思維模式,為計(jì)算思維參與狀態(tài)測(cè)評(píng)提供新視角,這是對(duì)目前基于量表與編程作品評(píng)價(jià)形式的擴(kuò)展。
[參考文獻(xiàn)]
[1] WING J M. Computational thinking[J]. Communications of the ACM, 2006, 49(3): 33-35.
[2] 高宏鈺,李玉順,代帥,蔣云宵.編程教育如何更好地促進(jìn)早期兒童計(jì)算思維發(fā)展——基于國(guó)際實(shí)證研究的系統(tǒng)述評(píng)[J].電化教育研究,2021,42(11):121-128.
[3] 李陽(yáng).計(jì)算思維導(dǎo)向的跨學(xué)科兒童編程教育模式研究——基于芬蘭兒童編程教育的經(jīng)驗(yàn)與啟示[J].現(xiàn)代教育技術(shù),2020,30(6):19-25.
[4] 郭守超,周睿,鄧常梅,等.基于App Inventor和計(jì)算思維的信息技術(shù)課堂教學(xué)研究[J].中國(guó)電化教育,2014(3):91-96.
[5] 孫立會(huì),周丹華.基于Scratch的兒童編程教育教學(xué)模式的設(shè)計(jì)與構(gòu)建——以小學(xué)科學(xué)為例[J].電化教育研究,2020,41(6):75-82.
[6] SINNOTT J D. A Model for solution of Ill-structured problems: Implications for everyday and abstract problem solving[M]//SINNOTT J D. Everyday problem solving: theory and applications. New York: Praeger Publishers, 1989:72-99.
[7] JONASSEN D H. Instructional design models for well-structured and Ill-structured problem-solving learning outcomes[J]. Educational technology research and development, 1997, 45(1): 65-94.
[8] BARR V, STEPHENSON C. Bringing computational thinking to K-12: what is involved and what is the role of the computer science education community?[J]. ACM Inroads, 2011, 2(1): 48-54.
[9] BRENNAN K, RESNICK M. New frameworks for studying and assessing the development of computational thinking[C]//Proceedings of the 2012 Annual Meeting of the American Educational Research Association. Vancouver: AERA, 2012: 1-25.
[10] SELBY C, WOOLLARD J. Computational thinking: the developing definition[C]//Proceedings of the 18th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education. Canterbury: ACM, 2013: 1-6.
[11] 傅騫,解博超,鄭婭峰.基于圖形化工具的編程教學(xué)促進(jìn)初中生計(jì)算思維發(fā)展的實(shí)證研究[J].電化教育研究,2019,40(4):122-128.
[12] 朱珂,賈鑫欣.STEM視野下計(jì)算思維能力的發(fā)展策略研究[J].現(xiàn)代教育技術(shù),2018,28(12):115-121.
[13] SHUTE V J, SUN C, ASBELL-CLARKE J. Demystifying computational thinking[J]. Educational research review, 2017, 22: 142-158.
[14] FRIESEN S, SCOTT D. Inquiry-based learning: a review of the research literature[J]. Alberta ministry of education, 2013, 32: 1-32.
[15] 石晉陽(yáng), 陳剛. 論兒童編程學(xué)習(xí)中反思性思維的發(fā)生[J].電化教育研究,2021,42(2):93-98.
[16] 于穎,陳文文,于興華. STEM游戲化學(xué)習(xí)活動(dòng)設(shè)計(jì)框架[J].開(kāi)放教育研究,2021,27(1):94-105.
[17] GREIFF S, WUSTENBERG S, AVVISATI F. Computer-generated log-file analyses as a window into students' minds? A showcase study based on the pisa 2012 assessment of problem solving[J]. Computers & education, 2015, 91: 92-105.
[18] 王佑鎂,宛平,南希烜,等. 實(shí)體編程促進(jìn)計(jì)算思維發(fā)展:工具與策略[J].中國(guó)電化教育,2021(8): 92-98.
[19] DURAK H Y, SARITEPECI M. Analysis of the relation between computational thinking skills and various variables with the structural equation model[J]. Computers & education, 2018, 116: 191-202.
[20] 趙國(guó)慶,熊雅雯,王曉玲.思維發(fā)展型課堂的概念、要素與設(shè)計(jì)[J].中國(guó)電化教育,2018(7):7-15.
[21] 趙國(guó)慶,楊宣洋,熊雅雯.論思維可視化工具教學(xué)應(yīng)用的原則和著力點(diǎn)[J].電化教育研究,2019,40(9):59-66,82.
[22] 郁曉華,王美玲.流程圖支持下的計(jì)算思維培養(yǎng)實(shí)踐研究[J]. 中國(guó)遠(yuǎn)程教育, 2019(9): 83-91.
[23] 孫立會(huì),王曉倩.計(jì)算思維培養(yǎng)階段劃分與教授策略探討——基于皮亞杰認(rèn)知發(fā)展階段論[J].中國(guó)電化教育,2020(3):32-41.
[24] 任永功,林禹竹,多召軍.面向深度學(xué)習(xí)的項(xiàng)目式編程學(xué)習(xí)優(yōu)化設(shè)計(jì)與實(shí)踐[J].現(xiàn)代遠(yuǎn)距離教育,2020(1):46-53.
[25] 楊剛,張銀榮,徐佳艷,等.圖形化編程環(huán)境下建模方式對(duì)學(xué)生計(jì)算思維與編程行為的影響研究[J].電化教育研究,2022,43(4):107-115.
Research on Internal Mechanism and Teaching Practice of Programming
Education for Development of Children's Computational Thinking
DUO Zhaojun,? LIU Yansong,? REN Yonggong
(School of Computer and Information Technology, Liaoning Normal University, Dalian Liaoning 116081)
[Abstract] Programming education is the main way to cultivate children's computational thinking. Programming education for children can be carried out more efficiently and accurately by analyzing the internal mechanism of children's programming promoting the development of computational thinking. This paper takes programming problem-solving activities as the carrier of computational thinking, and analyzes the relationship between five problem-solving activities, namely problem exploration, problem representation, scheme generation, plan execution, reflection and evaluation, and five types of computational thinking, namely, decomposition thinking, abstract thinking, procedural thinking, iterative thinking, and generalized evaluation thinking. This paper constructs a framework for designing children's programming learning activities in a structured manner, as well as a technical environment to support structured, procedural and graphical representation. The empirical research is carried out by taking
"Algorithm and Programming module" of primary school information technology course as an example. The results show that the level of students' computational thinking has been significantly improved, and the improvement of decomposition thinking, abstract thinking, procedural thinking and iterative thinking are correlated, indicating that structured design programming learning activities and technical environment based on problem-solving process model can promote the simultaneous development of children's computational thinking elements.
[Keywords] Computational Thinking; Children's Programming; Problem Solving; Programming Education; Learning Activities; Technical Environment
基金項(xiàng)目:2021年遼寧省社會(huì)科學(xué)基金項(xiàng)目“常態(tài)化疫情防控下數(shù)據(jù)驅(qū)動(dòng)大學(xué)生學(xué)業(yè)焦慮測(cè)量與診斷研究”(項(xiàng)目編號(hào):L21CSH006);2020年遼寧省教育廳科研項(xiàng)目 “基于大數(shù)據(jù)的問(wèn)題解決思維可視化表征研究”(項(xiàng)目編號(hào):W201783653)