吳忭 王戈
摘要:伴隨科學技術(shù)的迅猛發(fā)展,計算思維能力成為當前社會各行業(yè)人才都應具備的重要技能。計算機教育領(lǐng)域的研究發(fā)現(xiàn),協(xié)作編程能夠更好地幫助學生進行編程學習,但是在協(xié)作過程中,學生計算思維的動態(tài)發(fā)展情況卻難以測評?!傲炕褡逯尽保≦uantitative Ethnographv)既是一種對質(zhì)性數(shù)據(jù)進行量化分析的方法,也是一種對專業(yè)能力進行網(wǎng)絡(luò)化建模的技術(shù),為協(xié)作學習過程的分析和評價提供了新的思路。將該方法應用于分析協(xié)作編程活動過程中小組成員之間的會話交流內(nèi)容,有利于構(gòu)建學生計算思維能力不同維度之間關(guān)聯(lián)的認知網(wǎng)絡(luò)模型,并揭示不同能力水平的小組在計算思維能力水平上的差異和發(fā)展軌跡。以本科一年級的“C/C++程序設(shè)計基礎(chǔ)”課作為研究情境開展的實證研究發(fā)現(xiàn),高水平組和低水平組學生的計算思維網(wǎng)絡(luò)結(jié)構(gòu)在初期雖有顯著不同,但是隨著協(xié)作任務(wù)的不斷深入,兩組學生的思維模式趨于相似。該研究結(jié)果表明協(xié)作編程能夠促進初學者計算思維能力的提升,且量化民族志方法能為計算思維的能力評估提供一種基于質(zhì)性數(shù)據(jù)的大規(guī)模測評方法。
關(guān)鍵詞:計算思維;協(xié)作編程;量化民族志;認知網(wǎng)絡(luò)分析
中圖分類號:G434文獻標識碼:A文章編號:1009-5195(2019)02-0076-10 doil0.3969/jissn.1009-5195.2019.02.009
一、引言
近年來,移動通訊、普適計算、物聯(lián)網(wǎng)、云計算、大數(shù)據(jù)等新概念和新技術(shù)的出現(xiàn),在社會各方面引發(fā)了一系列革命性的突破,極大地改變了人們對計算和計算機的認識。龐大的數(shù)據(jù)資源使得學術(shù)界、商界、政府等各個領(lǐng)域開始其數(shù)字化進程。隨著這一進程的不斷深入,無處不在的計算思維成為人們認識和解決問題的基本能力之一。2016年,我國高等教育教學指導委員會推動和組織了有關(guān)在大學計算機課程體系中融人“計算思維”培養(yǎng)的相關(guān)研究工作。在計算思維的教學體系中,應正確處理好知識、能力和思維的關(guān)系,通過講授計算機的基本理論和技術(shù),揭示計算思維的內(nèi)容。但是由于計算機語言語法邏輯嚴謹,初學者難以熟練使用計算思維解決問題,且課堂教學任務(wù)繁重,學生學習編程的自信心不足,學習興趣也大大下降。采用何種教學策略解決普遍性問題是研究人員所關(guān)注的核心。已有研究表明,團隊協(xié)作是一種有效的教學策略。它能夠模擬軟件公司中實際的軟件開發(fā)工作模式,帶給學生真實的軟件開發(fā)項目體驗,提高學生的協(xié)作能力和編程技能。在項目實踐中,學習者也可相互學習,從而提升編程的自信心和學習興趣,達到共同進步的目的。通過讓學生以團隊協(xié)作的形式完成編程項目的教學方法又被稱為“協(xié)作編程”。協(xié)作編程作為一種計算機教育方式有諸多優(yōu)勢,比如,提高編程學習效率,減少編程錯誤,促進相互學習,提高問題解決的自我效能等(Wil-liams&Kessler,2002;Denner et al,2014)。計算機教育中越來越多的協(xié)作編程教學方法的應用表明,協(xié)作編程已成為計算機編程教育的發(fā)展趨勢。
目前關(guān)注協(xié)作編程的研究人員主要關(guān)注對學生編程結(jié)果的評價,如學生的課程成績分析、編程項目成績分析、編程代碼質(zhì)量分析等。但團隊協(xié)作完成的作品并不能完全反映小組中每一位學生參與協(xié)作編程時的投入程度、思維過程和能力水平。Lve和Koh(2014)指出可以通過記錄學生在編程時口頭表達的思維過程(又稱有聲思維),并結(jié)合其編程過程進行分析。然而,學生在參與討論時的話語會涉及計算思維的不同能力維度和要素,如何動態(tài)建模學生計算思維各維度之間的發(fā)展變化及其相互關(guān)系是質(zhì)性分析的難點。其次,學生的編程能力水平不同,不同小組的協(xié)作編程行為模式也各異,這對探索不同編程學習階段的協(xié)作編程行為模式,及其所反映的編程團隊的計算思維能力發(fā)展情況提出了挑戰(zhàn)。因此,本研究通過分析游戲開發(fā)任務(wù)中初學者的協(xié)作編程過程和完成編程任務(wù)的策略方式,建立計算思維發(fā)展軌跡模型,進而為培養(yǎng)計算思維能力的協(xié)作編程學習模式提供實證依據(jù)。
二、理論基礎(chǔ)
1.計算思維
“計算思維”一詞最早由美國麻省理工學院的西蒙·帕佩特(SeymourPapert)教授提出,美國卡內(nèi)基梅隆大學計算機系主任周以真教授對其進行了進一步的闡釋,指出計算思維不僅僅是計算機科學家應具備的能力,它是每一個人都應學習和熟練運用的專業(yè)思維方式和技能。然而,對計算思維概念的界定學術(shù)界仍存在不少爭議。例如,Chao(2016)將計算思維視作問題解決的過程,并從計算設(shè)計(理解問題、設(shè)計解決方案),計算實踐(解決問題)和計算表現(xiàn)(測試方案)三個方面對計算思維進行研究。該分類側(cè)重于關(guān)注計算思維問題解決的認知水平。也有學者將計算思維視為一種更為全面的能力,如Brennan和Resnick(2012)認為,計算思維包-括計算概念(核心概念)、計算實踐(應用概念)和計算認識(對計算思維的作用和局限的認識)。雖然學者們對于計算思維概念的界定沒有達成共識,但大家普遍認為,計算思維并不是單一的認知技能,而是不同能力維度的有機結(jié)合。因此,在研究和評估計算思維能力時,應該考慮到計算思維不同維度的層次結(jié)構(gòu),以及各維度的子能力和不同子能力之間的聯(lián)系。
計算思維提出后受到眾多計算機教育領(lǐng)域研究者的關(guān)注。已有研究表明,關(guān)于培養(yǎng)計算思維能力的課程設(shè)計中,計算機編程教育是最常見的(Lye&Koh,2014)。編程不僅能培養(yǎng)學生的計算思維能力,也能作為計算思維能力的示范(Grover&Pea,2013)。以往關(guān)于編程教育的研究往往側(cè)重于對初學者編程能力的考察,缺乏對計算思維能力在編程學習階段發(fā)展情況的全面評估。此外,計算思維能力的評估通常側(cè)重于總結(jié)性評價,如問卷和測驗分數(shù)(Zhong et al,2016;Korkmaz et al,2017;Rom6n-Gonzmez et al,2017),而對編程促進計算思維發(fā)展的形成性評價較少,且傳統(tǒng)的評價更側(cè)重于單一的編程結(jié)果。例如,Kafai等人(2014)依據(jù)Brennan和Resnick的三維框架,研究了學生在三個維度上計算思維的發(fā)展情況,結(jié)果發(fā)現(xiàn)編程代碼的混合重組對計算思維能力的發(fā)展有顯著作用。但是,該研究并沒有考慮計算思維三個維度之間的聯(lián)系,而是分別對每個維度進行了評估。在此基礎(chǔ)上,Chao(2016)探索了三者之間的關(guān)系,并通過聚類分析識別出編程學習的獨特模式。但他對這些關(guān)系的描述仍然是粗粒度的,而且也沒有將計算思維視作整體來考察各維度問的協(xié)同發(fā)展。
2.協(xié)作編程
協(xié)作編程(Cooperative Programming)被定義為一組學生通過分別扮演代碼編寫、任務(wù)分析和代碼評估等不同角色,在交流討論過程中,共同完成編程任務(wù)、解決編程問題的教學方法。這種教學方法源于認知和社會建構(gòu)主義的教學理念,將社會性學習視為一種基于先備知識和社交互動體驗的積極建構(gòu)新知的過程(Kalaian&Kasim,2014)。它也反映了認知要素可以分布在不同的人、工具和作品之中的觀念(Bedand&Lee,2011;Mangalaraj et al,2014)。協(xié)作編程一直是研究者認為能夠支持項目編程的有效方法,尤其是對經(jīng)驗不足的學習者來說,該方法更有助于培養(yǎng)計算思維和掌握編程知識(Denner et a1,2014),同時也有助于提升學習者的問題解決能力和編程學習的自信心(Beck&Chizhik,2013)。但是,目前的研究仍然缺少在皮亞杰認知發(fā)展觀點基礎(chǔ)上,對傳統(tǒng)的新手程序員編程特征模式的拓展,比如對團隊協(xié)作如何幫助協(xié)調(diào)組內(nèi)角色,建立共識,解決真實編程任務(wù)的研究。
在以往關(guān)于計算機編程教育的實證研究中,研究者往往面臨兩個困境。首先,對編程代碼質(zhì)量的分析僅局限于對計算思維的基本知識和技能的測量(Wang&Hwang,2012),學生在編程作品中出現(xiàn)的代碼元素并不一定能說明其對編程問題本質(zhì)的理解(Brennan&Resnick,2012)。為了更好地研究包括計算實踐和計算認識在內(nèi)的深度學習,可以通過記錄學生在編程時口頭表達的思維過程,捕捉和分析他們的屏幕編程過程(Lye&Koh,2014)。其次,研究者們往往將不同的維度割裂分析,而沒有將他們視為相互關(guān)聯(lián)、協(xié)同發(fā)展的能力(Khosa&Volet,2014;Kwon et al,2014)。在Shaffer(2006)看來,專業(yè)知識、技能、學科認識論、價值觀和專業(yè)身份等是相互交織和促進的,專業(yè)能力正是通過這些不同能力維度之間的聯(lián)系來體現(xiàn)。例如,在某個專業(yè)領(lǐng)域(如醫(yī)學)塑造一個人的個人身份(如醫(yī)生)需要通過實踐(如治?。﹣碚故舅谠擃I(lǐng)域的能力,反過來,這樣的專業(yè)身份又可以激勵自己更加努力地實踐從而提升領(lǐng)域的知識和技能(foster&Shah,2016)。因此,為了系統(tǒng)客觀地評估編程初學者的計算思維能力水平和發(fā)展軌跡,我們需要深入分析協(xié)作編程過程中所展現(xiàn)的計算思維各能力維度,以及各維度下不同要素之間的關(guān)聯(lián)。
3.量化民族志
為了研究協(xié)作編程中學習者的計算思維發(fā)展過程,一種有效的方法是分析參與協(xié)作編程的學生之間的討論交流內(nèi)容。Leung(2012)認為,民族志研究有助于我們對社會性學習過程的理解。但是,傳統(tǒng)的民族志研究是較為費時費力的質(zhì)性分析,很難開展大規(guī)模的分析評估。為了解決分析海量會話數(shù)據(jù)的困難,Shaffer(2017)提出了一種叫做“量化民族志”的分析方法。量化民族志的關(guān)鍵環(huán)節(jié)是認知網(wǎng)絡(luò)分析(Epistemie Network Analysis,ENA),這是一種對專業(yè)能力進行網(wǎng)絡(luò)化建模的技術(shù)。ENA的核心思想是通過計算各個能力編碼在對話的上下文中的共現(xiàn)次數(shù),從而建立整個對話過程所體現(xiàn)的、反映不同能力編碼之間聯(lián)系的網(wǎng)絡(luò)化表征。它將專業(yè)能力的各個元素所構(gòu)成的高維空間網(wǎng)絡(luò),通過奇異值分解的方法投影到二維平面上,各元素問線條的粗細代表元素問的關(guān)聯(lián)強弱,亦即討論中共現(xiàn)頻次的高低。因此,基于學習討論的內(nèi)容,構(gòu)建反映專業(yè)能力的認知網(wǎng)絡(luò)圖,可以分析并比較不同學生個體或?qū)W習小組的網(wǎng)絡(luò)結(jié)構(gòu)特點及差異。本研究試圖將ENA應用于計算機編程教育中,分析學生的計算思維發(fā)展情況,采用類似一般新手一專家的比較研究方法揭示高低編程水平的學生其計算思維能力發(fā)展的特征、軌跡和差異。
綜上所述,本研究主要探究以下兩個問題:
問題1:在完成協(xié)作編程任務(wù)的過程中,高水平組和低水平組的學生在計算思維能力模式上各自具有怎樣的特點(即計算思維的各能力維度之間呈現(xiàn)何種關(guān)聯(lián))?
問題2:在完成協(xié)作編程任務(wù)的不同階段,高水平組和低水平組學生的計算思維能力的發(fā)展軌跡呈現(xiàn)怎樣的特點?
三、模型建立
建立對計算思維的可操作評價模型,需要從評價維度與評價方法兩方面著手。在評價維度上,本研究采用Brennan和Resnick的三維框架,將計算思維的評價維度界定為專業(yè)概念、專業(yè)實踐和專業(yè)認識。此框架實現(xiàn)了對學生的計算思維的概念理解、從設(shè)計到開發(fā)的計算思維實踐活動,以及學生對計算機科學的認知和觀念轉(zhuǎn)變這三個層面的關(guān)注與評估。在評價方法上,本研究采用“以證據(jù)為中心”的評價設(shè)計模式(Evidence-Centered Design,ECD)。該模式是Mislevy等人提出的關(guān)于能力評價的有效測評模式(Mislevy etal.,2003)。近幾十年學習科學研究形成的共識是,深度學習的發(fā)生和能力的習得往往都是基于社會互動和情境化的。因此,能力評估需要在創(chuàng)設(shè)的實境學習情境之中,來獲得關(guān)于行為的證據(jù)并對這些證據(jù)進行建模。而ECD正是這樣一種設(shè)計、制作和提供教育評估的概念框架,它包括三個關(guān)鍵組成部分,分別是領(lǐng)域分析、領(lǐng)域建模、能力評估。領(lǐng)域分析是指關(guān)于特定領(lǐng)域的態(tài)度、能力以及專業(yè)知識的信息;領(lǐng)域建模是指能夠證明學生熟練程度的證據(jù)結(jié)構(gòu);能力評估是指能夠分析學生熟練程度的評估工具或評估模型。在本模型中,筆者將依照該模式對計算思維的發(fā)展評估進行設(shè)計。具體而言,領(lǐng)域分析模塊界定為計算思維領(lǐng)域的能力評價及發(fā)展軌跡分析;領(lǐng)域建模中的證據(jù)結(jié)構(gòu)包含計算思維發(fā)展過程中的表現(xiàn)行為、話語、制品、過程及反饋,其中關(guān)于證據(jù)的獲得筆者設(shè)計了基于項目的協(xié)作學習活動,以實現(xiàn)構(gòu)建社會性的、真實問題的學習環(huán)境;能力評估模塊依照計算思維的評價維度設(shè)計了對專業(yè)概念、專業(yè)實踐、專業(yè)認識三個視角的編碼框架。三個模塊共同構(gòu)成了協(xié)作編程學習中的計算思維評價模型(如圖1所示)。
四、實驗研究
1.研究對象
在本研究中,筆者以華東地區(qū)某大學教育技術(shù)專業(yè)一年級的“C/C++程序設(shè)計基礎(chǔ)”課程為研究情境。在該門課中有四周時間,學生將以小組形式(每組3~4名學生,學生自由組合)在課外共同完成兩個相關(guān)聯(lián)的游戲開發(fā)項目作為課程作業(yè),學生在參與課程學習之前基本沒有編程經(jīng)驗。項目要求各組學生在課后約定同一時間和地點共同完成項目任務(wù)。每次編程過程中,每組學生需共同使用一臺電腦進行編程操作,其中一名組員負責編寫代碼,其他組員負責查看代碼是否正確,并共同討論編程思路。由于研究對象是編程初學者,對操作的不熟練使得實驗過程中的多人協(xié)作活動更側(cè)重于二人協(xié)作編程的模式,即一人編寫代碼,其余人提出建議。每一次的討論,編程者的角色可以更換,整個項目分多次完成。本研究根據(jù)項目完成表現(xiàn)選擇了最具代表性的兩組進行深度分析,并采用錄屏的方式收集分析數(shù)據(jù)。
2.任務(wù)設(shè)計
該課程中的編程項目需要學生利用所學的編程知識完成真實的應用程序開發(fā),并隨著學生所掌握編程技能和知識的增多,項目會逐漸加大難度。
圖2是本研究選擇的兩個項目的主界面。第一個項目要求學生開發(fā)基于控制臺的字符格式的魚塘模擬應用程序。在這個程序的主界面中,魚缸、魚、魚餌和魚鉤用不同的顯示字符表示。魚塘中所有物體按既定的方式運動。例如,隨機出現(xiàn)的四條魚在魚塘中自左向右水平勻速運動,到右側(cè)邊緣后再重新從左側(cè)出現(xiàn),循環(huán)往復。第一個項目的學習目標是幫助學生掌握結(jié)構(gòu)化程序設(shè)計的基本技能,以及基本的c語言語法知識,如循環(huán)、分支、數(shù)組、參數(shù)傳遞和函數(shù)調(diào)用等。第二個項目是在第一個項目基礎(chǔ)上,實現(xiàn)圖形用戶界面的魚塘模擬。完成項目的目的是希望學生初步建立面向?qū)ο蟮木幊趟枷?,掌握相關(guān)概念(如類和對象、類的屬性和方法、對象之間的調(diào)用、類的繼承)以及圖形用戶界面的編程技術(shù)(包括繪圖、動畫、交互事件等)。
3.數(shù)據(jù)采集與分析
兩組學生在協(xié)作編程過程中都需要進行錄屏,除了提交編程作品之外,還要提供協(xié)作編程全程討論交流的音視頻數(shù)據(jù)。研究所采用的錄屏軟件是Camtasia,用于記錄小組在Visual Studio 2015 IDE環(huán)境下的編程過程,以及編程過程中的組內(nèi)對話,并通過筆記本電腦前置攝像頭記錄所有成員在編程中的交流情形。這樣,通過攝像頭錄制的學生交流的視頻信息可以幫助區(qū)分交流語音中不同學生的發(fā)言內(nèi)容,也可以和錄屏的代碼編寫過程進行相互印證。數(shù)據(jù)分析過程包括對各組在協(xié)作編程過程中的會話內(nèi)容進行采集、轉(zhuǎn)錄、編碼,最后采用認知網(wǎng)絡(luò)建模的方法進行量化分析。具體的認知網(wǎng)絡(luò)分析方法詳見第五部分。兩個小組在完成兩個項目的合作編程任務(wù)中生成的錄屏數(shù)據(jù)時長473分鐘,以每個組員的發(fā)言作為編碼單位,將語音數(shù)據(jù)轉(zhuǎn)錄為文字稿,得到的發(fā)言條數(shù)為1533條。
4.編碼方案
筆者在Brennan和Resnick(2012)提出的三維計算思維框架的基礎(chǔ)上設(shè)計編碼方案,用來分析學生在協(xié)作編程中的對話數(shù)據(jù)(見表1)。第一個維度的專業(yè)概念是指編程語言中的核心概念,如順序、循環(huán)、條件、運算符和數(shù)據(jù)結(jié)構(gòu)等;第二個維度的專業(yè)實踐是指學生的編程活動,如代碼的增量和迭代、測試和調(diào)試、重用和混合、模塊化和抽象化;第三個維度的專業(yè)認識是指學生對于程序設(shè)計的認識,比如將軟件程序作為自我表達的工具,或者是對計算技術(shù)的功能和局限性提出疑問。
為了對小組項目活動的會話內(nèi)容進行編碼,首先將音視頻轉(zhuǎn)錄成文字,而轉(zhuǎn)錄稿中的對話記錄體現(xiàn)了發(fā)言人的對話輪次。每輪發(fā)言的內(nèi)容(即一條對話記錄)作為一個分析單元,可以歸類到一個或多個編碼中。所有對話記錄由兩名研究人員獨立編碼,編碼結(jié)果具有很好的一致性(Kappa=0.83)。關(guān)于編碼評分的差異,研究人員通過討論協(xié)商解決。五、分析結(jié)果
通過評估各組的程序作品來確定小組的編程表現(xiàn),課程教師從四個維度對學生作品進行打分,包括代碼正確性、功能完整性、代碼簡潔性和設(shè)計創(chuàng)意性。每個維度的分數(shù)范圍是0~5分,滿分為20分。對全班15個組的成績進行統(tǒng)計后得出,平均分為14.50,標準差為4.19。將平均分作為分割線,將所有小組劃分為高能力組和低能力組,從高低能力組中各選擇一個小組的學生,進行量化民族志分析。高能力組(總分為18.6)中,組員是三名男生,分別匿名用GZR、ZMZ和LYX表示;低能力組(總分為13.84)中,組員是兩名男生和一名女生,分別匿名用WXL、ALM和CJM(女)表示。
為了說明高能力組和低能力組在協(xié)作編程活動中的交流互動模式,筆者選擇其中一個會話片段作為定性的會話文本分析案例,以展示學生編程活動中的討論內(nèi)容,然后通過認知網(wǎng)絡(luò)分析的結(jié)果來進一步說明所節(jié)選的會話片段如何反映兩組學生的計算思維能力特點和發(fā)展趨勢。
1.在控制臺上輸出魚塘
第一個項目的第一個任務(wù)是要求學生輸出一個魚塘,32列代表魚塘的寬度,8排代表魚塘的深度(見圖2左)。高能力組學生采用自頂向下的方式來分析解決問題,從分析探討問題的計算表達(專業(yè)認識),到如何定義變量和方法(專業(yè)實踐),再進一步到研究方法中的參數(shù)選擇和變量作用域的相關(guān)知識(專業(yè)概念)(見表2)。首先,#1 GZR和#2LYX確定了任務(wù)目標并將目標分解為兩個計算表達的任務(wù)步驟,即魚塘生成和魚塘輸出。隨后,#3ZMZ提出在編程中實現(xiàn)第一個任務(wù)可以用到的方法。然后他們開始討論方法的定義和調(diào)用這種數(shù)據(jù)模塊化的操作,進而來實現(xiàn)生成魚塘的功能(#5~#7)。#8 ZMZ進一步提出疑問,就具體代碼編寫中定義變量所要考慮的作用域問題展開討論。
相反,在編程初期,低能力組的談?wù)搩?nèi)容始終圍繞計算概念展開(見表3),例如,數(shù)組的維度和變量類型(#2~#4)、嵌套循環(huán)(#5~#12)、打一些基礎(chǔ)概念比較模糊,他們需要花費一定的時間來厘清嵌套循環(huán)中內(nèi)外循環(huán)的作用、二維數(shù)組中兩個維度的索引和二維數(shù)組變量取值的含義。
2.認知網(wǎng)絡(luò)分析
ENA的核心思想是通過計算各個編碼在對話上下文中的共現(xiàn)次數(shù),從而建立整個對話過程中所有編碼之間聯(lián)系的網(wǎng)絡(luò)化表征。ENA分析過程如圖3所示,首先,根據(jù)小組成員會話中每個人的發(fā)言對數(shù)據(jù)進行分割,基于計算思維的編碼框架對每條發(fā)言的內(nèi)容進行編碼。其次,根據(jù)任意兩個編碼在一個固定長度的對話線索(稱為對話窗)中共現(xiàn)與否,生成編碼共現(xiàn)的鄰接矩陣。最后,通過在整個對話中滑動對話窗得到的所有鄰接矩陣累加并按照矩陣的行展開為鄰接向量,通過歸一化操作和奇異值分解,生成一個二維投影平面的旋轉(zhuǎn)矩陣,用來表征高維編碼網(wǎng)絡(luò)在二維的投影。
通過建立基于全部對話數(shù)據(jù)的量化分析模型,可以為上述定性分析結(jié)果提供統(tǒng)計意義上的證據(jù)支持,并進一步確定高水平組和低水平組的計算思維能力發(fā)展趨勢。筆者根據(jù)學生的對話編碼數(shù)據(jù)繪制了兩個小組以及各個學生的認知網(wǎng)絡(luò)圖。圖4中的圓點代表每個學生的計算思維認知網(wǎng)絡(luò)圖的質(zhì)心,正方形代表各組成員的網(wǎng)絡(luò)圖質(zhì)心的平均值(或可視為小組網(wǎng)絡(luò)圖的質(zhì)心),黑框代表各組的質(zhì)心位置在95%水平上的置信區(qū)間。
認知網(wǎng)絡(luò)分析結(jié)果顯示,生成的二維投影中第一維度(x軸)占數(shù)據(jù)總體方差的34%,第二維度(Y軸)占數(shù)據(jù)總體方差的27%。從圖4可以看出,兩個組的認知網(wǎng)絡(luò)在第一維度的數(shù)據(jù)差異是顯著的(高能力組M=0.24,低能力組M=-0.24,t=4.143,p=0.019<0.05,Cohens d=4.143),而在第二維度的數(shù)據(jù)卻沒有顯著差異。這兩個二維投影的坐標維度的含義可以通過圖3的認知網(wǎng)絡(luò)結(jié)構(gòu)圖進行解釋。
為了進一步分析這兩個組認知網(wǎng)絡(luò)結(jié)構(gòu)之間的差異,筆者繪制了這兩個小組整體上的平均認知網(wǎng)絡(luò)(如圖5)。ENA網(wǎng)絡(luò)模型中線條的粗細和飽和度代表元素間連接的強弱。圖5b顯示,高水平組各元素問的連接更為復雜,在測試和調(diào)試以及與循學生的計算思維認知網(wǎng)絡(luò)【右圖為左圖中心區(qū)域的局部放大)環(huán)之間的連接相較低能力組更強,說明高能力組學生在完成編程任務(wù)時更多關(guān)注代碼的測試和調(diào)試循環(huán)(C.Loo)之間的關(guān)系;而低能力組更多是在提出計算思維相關(guān)的疑問、重用和混合、增量和迭代以及序列之間進行交流。此外,從圖5中還可以看出,與其他元素連接最緊密的是計算表達,兩個組都強調(diào)了其他元素和計算表達之間的聯(lián)系。通過將圖5a和圖5b相減可以得出圖5c,圖5c能夠更清晰地看出高低能力組學生平均認知網(wǎng)絡(luò)的差異。如果兩組存在元素間連線的重疊,最終呈現(xiàn)出來的是連接較強組的線條,并且線條粗細都會相互疊減。從圖5c可以看出,低能力組更側(cè)重于左邊區(qū)域元素問的連接,高能力組更側(cè)重于右邊元素的連接,這也印證了前文得出的二者在第一維度上差異性顯著、在第二維度上無顯著性差異的結(jié)論。
接下來,筆者通過分析這兩個組在完成各項項目不同階段的計算思維認知網(wǎng)絡(luò)軌跡,以期了解高低能力組的計算思維變化趨勢。由于高能力組分3次完成了第一個項目,1次完成了第二個項目,而低能力組分3次完成了第一個項目,通過2次討論后完成了第二個項目,因此可以對各組每次的談話分別構(gòu)建認知網(wǎng)絡(luò)圖,從而得到高能力組學生的4次計算思維網(wǎng)絡(luò)圖和低能力組學生的5次計算思維網(wǎng)絡(luò)圖。
圖6中各點是根據(jù)每個學生的各次討論生成的網(wǎng)絡(luò)圖質(zhì)心,可以發(fā)現(xiàn),兩組學生的計算思維能力呈現(xiàn)出不同的發(fā)展軌跡。在項目開始時,不同小組學生的計算思維各維度呈現(xiàn)顯著差異(具體表現(xiàn)為每位學生的認知網(wǎng)絡(luò)圖質(zhì)心在二維投影平面上所處的位置),而組內(nèi)學生之間的網(wǎng)絡(luò)圖質(zhì)心位置相對接近;但值得注意的是,隨著協(xié)作編程過程的深入,兩組成員的認知網(wǎng)絡(luò)圖質(zhì)心位置趨于一致。圖6顯示,雖然高能力組學生在開始時更多地關(guān)注其他計算思維的能力維度與抽象化和模塊化、以及程序測試之間的關(guān)系,而低能力組更多地關(guān)注其他能力維度與重用和混合之間的關(guān)系,但網(wǎng)絡(luò)軌跡顯示這兩組最終趨近于相似的計算思維能力模式,即均建立起其他能力維度與增量和迭代之間的顯著聯(lián)系。
六、研究討論
1.計算思維結(jié)構(gòu)存在雙向思維特征
在協(xié)作編程的不同階段,筆者選取兩組學生的典型會話片段進行定性分析,對具體問題解決過程中所體現(xiàn)的計算思維能力特征進行了微觀分析和詮釋。此前Chao(2016)的研究揭示了編程實踐、程序設(shè)計思維以及編程表現(xiàn)之間的關(guān)系,本研究的質(zhì)性分析進一步拓展了他的研究成果,可以看到編程問題解決存在自頂向下和自底向上的雙向思維過程。從自頂向下的角度來看,學生首先應該分析需求,思考如何通過程序設(shè)計表征問題,然后進一步分析實現(xiàn)這一設(shè)計目標使用的具體技術(shù)方案。而從自底向上的角度來看,學生還需要考慮技術(shù)實現(xiàn)的可能性和局限性,從而尋找更優(yōu)的解決方案并對原型設(shè)計進行改進,甚至從根本上重構(gòu)整個系統(tǒng)實現(xiàn)的方式。高能力組和低能力組就具體編程任務(wù)的討論,體現(xiàn)了兩組學生的計算思維結(jié)構(gòu)特征分別側(cè)重于建立專業(yè)認識和專業(yè)實踐,以及專業(yè)概念和專業(yè)實踐之間聯(lián)系的差別。
2.高低能力組學生的計算思維發(fā)展存在趨同演化趨勢
通過對各組會話內(nèi)容進行編碼和建立認知網(wǎng)絡(luò)模型,可以從定量角度進一步揭示高低水平小組的計算思維能力差異和發(fā)展軌跡的不同。追蹤分析發(fā)現(xiàn),雖然在項目最初不同水平的編程小組之間,其計算思維特征存在顯著差異,但隨著項目的不斷迭代,低能力組表現(xiàn)出的思維特征不斷向高水平組趨同。具體而言,在項目一開始高能力組更多關(guān)注代碼功能模塊,同時在協(xié)作編程期間他們不斷地提高調(diào)試技巧;而低能力組在協(xié)作編程過程中更多關(guān)注代碼行的次序正確與否,并且在編程過程中主要采用復制和粘貼代碼的方式來完善程序,是一種相對低效、淺層次的程序修補策略。隨后高能力組的計算思維網(wǎng)絡(luò)從抽象設(shè)計和代碼的模塊化,延伸到創(chuàng)建和應用不同類型的數(shù)據(jù)以實現(xiàn)其設(shè)計,最終不斷完善和改進程序。然而,在低能力組的編程過程中,一開始他們試圖重用和混合已有的代碼片段,這表明他們沒有在編程之前制定計劃,并沒有對項目問題和編寫的代碼進行深入思考,他們甚至質(zhì)疑技術(shù)實現(xiàn)的可行性;但隨著編程經(jīng)驗的累積和對已完成的程序重新審視和反思,在后續(xù)程序開發(fā)中,他們逐步意識到不斷迭代優(yōu)化程序?qū)崿F(xiàn)方式的重要性,并且加深了對面向?qū)ο笤O(shè)計思想的理解,最終他們的思維結(jié)構(gòu)特征逐步向高水平組靠攏。
綜上所述,已有研究表明定量的民族志方法是一種很有前景的對質(zhì)性數(shù)據(jù)進行量化分析的方法,它可以推廣至其他專業(yè)領(lǐng)域的學科思維或能力評價中,并為協(xié)作學習過程的分析評價提供了新的思路。在研究學生的專業(yè)能力發(fā)展時,我們首先基于理論驅(qū)動的認知模型設(shè)計編碼方案,再將會話數(shù)據(jù)進行編碼,利用認知網(wǎng)絡(luò)分析工具以及跟蹤分析的方法分析小組合作編程在項目編程初期、中期和末期的能力模型特征和軌跡,從而建立學生的領(lǐng)域認知模型。這就實現(xiàn)了將社會性學習過程中的會話交流外顯化,使我們可以獲得基于學習證據(jù)的個人及小組的能力水平和發(fā)展軌跡,并據(jù)此提供更有針對性的協(xié)作學習干預。當然,本研究尚屬探索性質(zhì),還存在一些不足。例如,我們只選擇了兩個具有代表性的小組的編程項目展開分析,由于樣本量較小,使得本研究建立的計算思維模型未必可以直接推廣到其他程序設(shè)計課程情境和學生群體中。未來的研究中將增加個案,提高研究結(jié)果的泛化效果。此外,在研究過程中我們主要將會話編碼為計算思維的特定能力維度,未采用其他已采集的數(shù)據(jù),且只分析了會話中是否涉及到該維度能力,而并未評價這個維度上能力的高低。未來研究中我們可以進一步改進認知網(wǎng)絡(luò)分析法,采用多模態(tài)數(shù)據(jù)建模方法以及加權(quán)網(wǎng)絡(luò)來實現(xiàn)對學生專業(yè)認知能力更為精細的建模分析。