夏小剛?張文蘭?劉斌?郭建
摘 要:近年來,計算思維的培養(yǎng)受到國內外廣泛關注,一線教師紛紛嘗試應用各種編程軟件來發(fā)展學生的計算思維。為了解不同編程軟件、學業(yè)水平對學生計算思維發(fā)展的影響,本研究以成都某初中七年級共187名學生為研究對象,進行了為期3個月的準實驗研究,探討不同編程軟件、學業(yè)水平、學生性別等條件下學生計算思維發(fā)展的差異。研究發(fā)現(xiàn):(1)不同學業(yè)成績水平的學生在編程軟件的選擇方面有不同的需求。對于學業(yè)成績水平較低的學生,可視化編程優(yōu)于代碼編程,而對于學業(yè)成績水平較高的學生,編程軟件的影響并不顯著。(2)學業(yè)成績水平對學生計算思維的發(fā)展有顯著影響,并呈較強的正向相關。(3)不同性別學生之間計算思維的發(fā)展并無顯著差異?;谶@些研究結果,本文針對初中編程教育,從編程軟件的選擇、教學策略的運用、教學實踐的任務設置等方面提出了促進學生計算思維發(fā)展的三條建議。
關鍵詞:編程軟件;學業(yè)水平;可視化編程;計算思維;準實驗研究
中圖分類號:G4文獻標志碼:A文章編號:2096-0069(2020)02-0070-06
收稿日期:2019-11-13
作者簡介:夏小剛(1990— ),男,湖北荊州人,中學二級教師,博士研究生,研究方向為創(chuàng)客教育、STEM教育;張文蘭(1968— ),女,浙江東陽人,教授,博士生導師,研究方向為信息技術教育應用;劉斌(1984— ),男,湖南株洲人,講師,博士,研究方向為新媒體與學習心理;郭建(1990— ),男,四川眉山人,中學二級教師,碩士,研究方向為機器人教育。
引言
隨著人工智能時代的到來,計算和計算機的廣泛應用,計算思維逐漸成為人們應掌握的一項基本能力,計算思維在教育領域受到高度關注,越來越多的國家、國際組織和知名企業(yè)都在研究計算思維如何進入中小學。2017年版《普通高中信息技術課程標準》指出:計算思維作為信息技術四大學科核心素養(yǎng)之一,是信息化社會中數(shù)字公民所應具備的基本素養(yǎng)[1]。同時,它也是學科核心素養(yǎng)的根基[2]。從內涵上來看,計算思維是指運用計算機科學的基礎概念進行問題求解、系統(tǒng)設計及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動[3]。從實踐過程來看,計算思維是一個問題解決的過程,包括以下特點:(1)制定問題;(2)組織和分析數(shù)據(jù);(3)建構模型;(4)設計算法;(5)優(yōu)化方案;(6)遷移推廣。
在國內外中小學教育教學實踐中,機器人教育、編程教育、STEM教育和工程教育是培養(yǎng)學生計算思維的幾大主要方式。其中,編程教育因其開展成本低、操作方便,成為中小學教師廣泛選取的培養(yǎng)手段[4]。
目前編程教育主要包含兩種方式:代碼編程和可視化編程。代碼編程是傳統(tǒng)的編程方式,采用命令和函數(shù)等來執(zhí)行相關操作,學生應用代碼編程之前,需要掌握相關的關鍵字、語法和函數(shù)等基礎知識,在具體的教學中以C、C++、Logo等為代表??梢暬幊桃浴八娂此谩睘樵瓌t,規(guī)避抽象、煩瑣的程序語言編寫,通過直觀的操作方式,像搭積木式地編寫出應用程序的各種界面和邏輯,在具體的教學中以Scratch、App Inventor、Swift Playgrounds等為代表。在近幾年的編程教學實踐中,筆者發(fā)現(xiàn):代碼編程相對于可視化編程而言,由于執(zhí)行和反饋不能實時同步,沒有視覺上的反饋,使絕大部分學生感覺難度較大、學習興趣較低,學習效果并不理想。而可視化編程的優(yōu)勢主要體現(xiàn)在以下幾個方面:第一,可視化編程操作簡單,易于激發(fā)學習興趣;第二,封裝的代碼塊能降低調試的難度;第三,降低技術門檻,可有效聚焦于計算思維的培養(yǎng)[5]。但是,可視化編程相對于代碼編程也存在一些不足:學生只能淺層次地了解模塊之間的邏輯關系,并不知道具體代碼的運行原理,而且不便于學生更加深入地學習程序設計,進行產品開發(fā)。而蘋果公司推出的Swift Playgrounds是一款適用于iPad的創(chuàng)新App,采用游戲化闖關學習的方式,所編即所見,它不要求用戶具備編程知識,是一款典型的可視化編程工具。因此,本研究擬通過準實驗研究,分析可視化編程和代碼編程在發(fā)展學生計算思維上是否有顯著差異,同時,探究是否存在學業(yè)水平和性別方面的差異,如有差異,造成差異的原因又是什么,為深入推進計算思維教學提供數(shù)據(jù)支撐。
一、研究現(xiàn)狀分析
計算思維是當前國際計算機領域廣為關注的重要概念,也是信息技術教育中的研究熱點。世界上很多國家和地區(qū)都非常重視中小學計算思維的培養(yǎng),紛紛在中小學計算科學教育的目標任務中明確納入計算思維培養(yǎng)的內容,并積極展開實踐探索。本研究在Web of Science和中國知網(wǎng)數(shù)據(jù)庫上搜索近十年計算思維培養(yǎng)的相關研究文獻,梳理發(fā)現(xiàn)國內外關于中小學計算思維的研究主要集中在以下幾個方面:
(一)中小學計算思維的培養(yǎng)研究現(xiàn)狀
在課程設置方面,不同國家和地區(qū)采取了不同的方式,有的替代已有的課程(如英國),有的開設全新的課程(如澳大利亞),而大部分是作為選修內容添加,或與其他課程 (如STEM課程)進行整合,貫穿在主題教學活動中[6]。
在培養(yǎng)工具方面,可視化編程、基于Web的仿真創(chuàng)作工具、教育機器人及低成本開源硬件這四類,近年來常被作為計算思維培養(yǎng)的課程工具。其中,可視化編程更適合初學者,能幫助學生跨過代碼編程語法的障礙,更關注創(chuàng)造和思維本身。
在培養(yǎng)方式方面,目前主要聚焦在機器人教育、STEM教育和編程教育等方面。Berland(伯蘭)等比較了八年級學生中樂高機器人與虛擬機器人的影響,并使用偽代碼編程的前后測試測量了計算思維增益,研究表明,兩組學生的計算思維技能均有顯著提高,但兩組之間并無顯著差異[7]。Basu(巴蘇)等在STEM教育中發(fā)展學生計算思維的初步研究證明,CTSiM能夠幫助學生克服困難,發(fā)展學生計算思維[8]。Hutchins(哈欽斯)等人在物理課堂中測試男女生在計算思維學習過程中的自信水平,結果發(fā)現(xiàn)在“抽象、控制流、分解和條件邏輯”四個維度上男生較女生的自信水平高[9]。
在評價方式方面,目前主要有三種:一是通過評價量表來測量,例如寧可為、郁曉華等根據(jù)計算思維的定義編制的量表[10][11];二是通過作品來分析學生計算思維的發(fā)展,例如Koh(科赫)提出CTP圖檢測計算思維能力的發(fā)展和Moreno-Leo?n(莫雷諾-利昂)等開發(fā)的Dr.Scratch項目;三是通過測試題的方式,測驗學生計算概念、問題解決能力的發(fā)展,例如Roma?n-Gonza?lez(羅曼-岡薩雷斯)等提出的CTt測試題等[12]。
(二)關于編程教育培養(yǎng)學生計算思維的研究現(xiàn)狀
在上述主流的三種培養(yǎng)方式中,編程教育具有門檻低、操作簡單、容易在信息技術課程中實施的優(yōu)勢,一線教師紛紛嘗試應用各種編程軟件來發(fā)展學生計算思維。國內外學者依托編程教育做了大量的實證研究。
在代碼編程方面,國內外基于代碼編程培養(yǎng)中小學計算思維的研究相對較少。代碼編程通常與編寫指令、開發(fā)算法緊密聯(lián)系在一起,學生常常需要通過解決一些枯燥的數(shù)學題來學習編程。曹恒來進行了基于BASIC語言和Logo語言培養(yǎng)小學生計算思維的實踐。研究發(fā)現(xiàn),基于代碼編程的方式,學生必須自己輸入指令,語法錯誤往往導致學生寸步難行,大大延長了程序設計學習的時間,影響了程序設計能力的提高[13]。Keri Duncan(克里·鄧肯)基于Logo語言在小學五年級進行跨學科學習,研究表明編程教育不僅能發(fā)展學生的空間幾何能力,還能提高學生的計算素養(yǎng)[14]。
在可視化編程方面,Grover等為七、八年級學生設計了一個為期七周的基于Scratch的計算思維課程,研究顯示,混合式學習和面對面學習均能顯著提高學生計算思維[15]。寧可為等通過準實驗研究驗證了App Inventor培養(yǎng)中學生計算思維的有效性,研究顯示,將App Inventor引入信息技術課堂,學生的計算思維能力及學習興趣得到了明顯的提高[16]。郁曉華等設計了基于App Inventor的計算思維培養(yǎng)的教學實踐,從計算概念、問題解決兩個維度驗證了可視化編程對于學生的意義[17]。
從編程工具方面來看,可視化編程最受計算思維教育工作者的歡迎,但是,在發(fā)展學生計算思維方面,可視化編程是否優(yōu)于代碼編程還有待進一步論證。在編程教育中,在什么學段選擇可視化編程或代碼編程?何時從可視化編程過渡到代碼編程?不同性別學生計算思維的發(fā)展會有差異嗎?這些問題都有待進一步論證。
因此,本研究嘗試從評價視角出發(fā),探究不同編程軟件和學業(yè)水平下學生計算思維發(fā)展是否存在差異,以期為初中學生提供更有針對性的編程軟件選擇策略和計算思維課程。
二、研究設計
(一)研究假設
基于研究現(xiàn)狀的分析,本文提出如下研究假設:
假設1 可視化編程相比于代碼編程能更好地發(fā)展學生計算思維;
假設2 兩種編程環(huán)境下,學生學業(yè)成績均與計算思維的發(fā)展水平有顯著相關性;
假設3 相同編程軟件環(huán)境下,不同性別學生之間的計算思維能力發(fā)展存在差異性。
(二)實驗對象
為了解不同學業(yè)成績水平學生計算思維的發(fā)展狀況和不同編程軟件在發(fā)展學生計算思維方面是否存在差異,筆者根據(jù)不同學業(yè)成績水平,分別選取了兩個班級作為實驗對象,采用雙因子實驗設計,具體方案見表1。本次實驗選取成都某初中七年級4個班級共187名學生作為實驗對象。
通過對比總成績和數(shù)學成績,發(fā)現(xiàn)普通班2班、10班無顯著差異,提高班6班、8班無顯著差異,提高班學生總成績和數(shù)學成績顯著高于普通班。在入學之前,所有學生均沒有Swift Playgrounds和C++的學習經歷。
(三)教學設計
為了排除學習內容難度和進度的影響因素,在教學內容的設計方面,由教研組4位教師集體討論,確定內容框架,并制定C++和Swift Playgrounds相關學習方案,學習內容包括5個主題,共12課時。
根據(jù)計算思維的定義和特點,結合項目式學習流程,本研究構建了如圖1所示的課程實施模式,主要包括五個學習環(huán)節(jié):問題定義、解構分析、模式識別、模式歸納、算法開發(fā)。通過該流程將真實世界中的問題轉換成計算機可以識別的方案。
(四)研究工具
本研究中采用的主要研究工具是計算思維測試題(Computational Thinking tests,CTt)。CTt適用于12到14歲的學生。該測驗α系數(shù)為0.79,可信度較高,通過分析該測驗與基礎心理能力量表(PMA)、RP30問題解決能力測試的相關系數(shù),結果顯示CTt具有較高的效度[18]。該測驗為在線測試,包括28道選擇題,題目編制依托Code.org的編程界面,題目設計重點考察學生應用編程解決實際問題的能力。主要的題型包括序列解決問題、補全缺失語句、找出錯誤語句三種。由于原測驗語言為英語和西班牙語,筆者對該測試進行了漢化,形成了本次實驗研究的計算思維測評工具。
測評制作成功后,由信息技術教研組兩位老師分別進行了試測,確保知識點上沒有歧義,并對題目排版進行了優(yōu)化。隨后,筆者在七年級9班進行了試測,對測試題進行進一步修正,便于學生理解題目的含義。
(五)實驗流程與數(shù)據(jù)處理
2017年9月,本實驗在七年級4個實驗班級的信息技術課堂上同步進行,課程周期為每周1節(jié)課(40分鐘),為排除教師的影響,4個實驗班級由同一位教師授課。在進行為期3個月的實驗之后,筆者對參與實驗的學生進行了計算思維測試。CTt依托問卷網(wǎng)測試平臺進行數(shù)據(jù)收集,共回收178份答卷,回收率95.2%,有效率100%。同時,筆者在實驗結束后收集了4個實驗班級的語文、數(shù)學、英語三門學科的期末成績。針對實驗設計提出的假設,本研究重點分析4個實驗班計算思維測試成績在各個維度方向的差異。本次實驗采用IBM SPSS 23.0進行數(shù)據(jù)分析。
三、研究結果分析
(一)不同編程環(huán)境下學生計算思維發(fā)展的對比分析
首先,以編程軟件為自變量,針對不同學業(yè)成績的兩個班級分別進行獨立樣本t檢驗。數(shù)據(jù)分析發(fā)現(xiàn)普通班2班與10班之間計算思維測試成績存在顯著性差異,而提高班6班和8班之間計算思維發(fā)展水平無顯著差異。說明對于普通班的學生來說,可視化編程更利于計算思維的發(fā)展,而對于提高班的學生來說,編程軟件的不同對于學生計算思維的發(fā)展并無顯著影響。因此,研究假設1只是在特定條件下才能成立。
(二)不同學業(yè)水平下學生計算思維發(fā)展的對比分析
為了解不同學業(yè)成績水平下學生之間計算思維發(fā)展的差異,針對兩種編程軟件分別進行獨立樣本t檢驗。研究發(fā)現(xiàn)兩種編程軟件環(huán)境下,學業(yè)成績較高的學生計算思維的發(fā)展均優(yōu)于學業(yè)成績較低的學生,證明了研究假設2學生學業(yè)成績與計算思維的發(fā)展水平有顯著相關性,而與具體編程軟件沒有關系。
(三)不同性別之間學生計算思維發(fā)展的差異分析
為了解不同性別的學生計算思維發(fā)展水平差異,首先針對相同編程軟件、不同性別的兩組學生分別做獨立樣本t檢驗。數(shù)據(jù)分析發(fā)現(xiàn)男生計算思維成績均高于女生,無顯著差異。接著,針對不同性別、相同學業(yè)成績的兩組學生再次分別做獨立樣本t檢驗,發(fā)現(xiàn)男生計算思維成績均高于女生,無顯著差異。數(shù)據(jù)分析表明,研究假設3相同編程軟件對不同性別學生的計算思維能力培養(yǎng)存在差異性并不成立。但是,通過對比這兩次檢驗,筆者發(fā)現(xiàn)針對不同性別的學生來說,學業(yè)成績的影響要大于編程軟件的選擇。
(四)計算思維與學業(yè)成績水平的相關分析
為了進一步了解計算思維發(fā)展與學生學業(yè)成績水平的相關程度,通過皮爾遜(Pearson)相關性檢驗發(fā)現(xiàn),學生計算思維得分與總成績、數(shù)學成績均具有較強相關性,尤其是數(shù)學成績與計算思維發(fā)展水平的相關系數(shù)達到了0.559,支持了研究假設2學生學業(yè)成績與計算思維的發(fā)展有顯著相關性。
四、研究結論與建議
本研究采用準實驗研究方法探究不同編程軟件和學業(yè)成績水平在發(fā)展學生計算思維方面的差異。通過對實驗數(shù)據(jù)的分析可以得出如下結論:(1)不同學業(yè)成績水平的學生,在編程軟件的選擇方面有不同的需求:其中,對于學業(yè)成績較低的學生,可視化編程軟件比代碼編程更有利于學生計算思維的發(fā)展,而對于學業(yè)成績較高的學生,兩種編程軟件對學生計算思維發(fā)展的影響并不顯著;(2)學業(yè)成績水平對學生計算思維的發(fā)展有顯著影響,并呈較強的正向相關關系:兩種編程軟件環(huán)境下,學業(yè)成績較高的學生計算思維的發(fā)展均優(yōu)于學業(yè)成績較低的學生,計算思維的發(fā)展水平與學生總成績的相關系數(shù)為0.518,與數(shù)學成績的相關系數(shù)為0.559;(3)不同性別學生之間計算思維的發(fā)展并無顯著差異:兩種編程軟件對不同性別學生計算思維發(fā)展的影響均無顯著差異,數(shù)據(jù)上顯示男生的計算思維成績要略高于女生,可能的原因是男生對于計算機的學習興趣要高于女生。在教學實踐中,筆者發(fā)現(xiàn),3班作為普通班,剛開始學習編程時使用的是代碼編程,但是隨著學習的深入,部分學生感覺學習困難大、進度慢,最后不得不換成了可視化編程。通過訪談學生,筆者了解到:部分學生對于符號的識記比較困難,同時,語法的嚴格要求降低了程序設計的成功率,打擊了部分同學的積極性。雖然在數(shù)據(jù)上呈現(xiàn)出來的是代碼編程和可視化編程在成績上并無顯著差異,但是在實際教學中,教師發(fā)現(xiàn)可視化編程班級的學生主動學習意愿明顯會更強,而且在課后更愿意嘗試新的內容。
根據(jù)以上結論,本研究針對初中編程教育提出以下三條建議:
第一,在編程軟件的選擇方面,對于學業(yè)成績水平較低的學生來說,建議選擇可視化編程軟件,弱化語法的學習,而對于學業(yè)成績水平較高的學生,可以選擇先使用可視化編程,逐漸過渡到代碼編程的方式,在激發(fā)學生學習興趣的同時發(fā)展學生計算思維、提高學生編程技能,為學生進一步的發(fā)展奠定基礎。
第二,在教學策略的運用方面,教師要遵循計算思維教學的一般流程,注重學習情境的創(chuàng)設,引導學生進行模式識別,嘗試用算法解決真實問題。讓學生及時發(fā)布和分享自己的學習成果,能更有效地促進學生計算思維的發(fā)展。同時,在初中階段,要注意關注女同學的學習進度,及時發(fā)現(xiàn)和處理女同學學習過程中遇到的相關問題。
第三,在教學實踐的任務設置方面,教師要引導學生應用計算思維解決實際生活中的問題,將計算思維的學習與學生生活相結合有助于提高學生課堂學習的參與度。選擇學生感興趣的主題,吸引學生的注意力,增加學生參與學習的積極性;同時,以項目式學習開展編程教學時,學生會更愿意主動接受新知識,敢于挑戰(zhàn)更難的編程任務,為發(fā)揮計算思維的作用奠定基礎[19]。
編程軟件的選擇只是工具層面,在教學活動的設計與實施中,教師要注意激發(fā)學生的學習動機。計算思維來源于計算,在基礎教育階段,數(shù)學課堂是學生學習計算的主要陣地,因此,在數(shù)學課堂教學中要有意識地培養(yǎng)學生的抽象、計算、建模等基本能力。在后續(xù)的研究中,尤其要關注其他學科學習和跨學科學習中計算思維的培養(yǎng),以及如何更好地發(fā)揮可視化編程和代碼編程的優(yōu)勢,提高初中學生計算思維的培養(yǎng)效率,拓寬其培養(yǎng)途徑。
參考文獻
[1]教育部.普通高中信息技術課程標準(2017年版)[M].北京:人民教育出版社,2017.
[2]張立國,王國華.計算思維:信息技術學科核心素養(yǎng)培養(yǎng)的核心議題[J].電化教育研究,2018(5):115-121.
[3]WING J M. Computational Thinking[J].Communications of the ACM(S0001-0782),2006(3):33-35.
[4][8][9][15]陳鵬,黃榮懷,梁躍,等.如何培養(yǎng)計算思維:基于2006—2016年研究文獻及最新國際會議論文[J].現(xiàn)代遠程教育研究,2018(1):98-112.
[5][17]郁曉華,肖敏,王美玲,等.基于可視化編程的計算思維培養(yǎng)模式研究:兼論信息技術課堂中計算思維的培養(yǎng)[J].遠程教育雜志,2017(6):12-20.
[6][11][12]郁曉華,肖敏,王美玲. 計算思維培養(yǎng)進行時:在K-12階段的實踐方法與評價[J].遠程教育雜志,2018(2):18-28.
[7]BERLAND M,WILENSKY U.Comparing Virtual and Physical Robotics Environments for Supporting Complex Systems and Computational Thinking[J].Journal of Science Education and Technology(S1059-0145),2015(24):628-647.
[10][16][19]寧可為,楊曉霞.基于App Inventor的初中計算思維培養(yǎng)實證研究[J].課程.教材.教法,2018(2):110-115.
[13]曹恒來,陳宏斌,鈕洪斌,等.基于計算思維的小學程序設計教學研究與實踐[J].中小學信息技術教育,2016(12):39-42.
[14]VALENTINE K D.Tinkering with Logo in an Elementary Mathematics Methods Course[J].Interdisciplinary Journal of Problem-Based Learning(S1541-5015),2018,12(2).
[18]ROM?N-GONZ?LEZ M,P?REZ-GONZ?LEZ J,JIM?NEZ-FERN?NDEZ C.Which Cognitive Abilities Underlie Com-putational Thinking?Criterion Validity of the Computational Thinking Test[J].Computers in Human Behavior(S0747-5632),
2017(72):678-691.
(責任編輯 孫興麗 孫志莉)
Abstract: In recent years,the cultivation of computational thinking has gained a widespread concern at home and abroad.The first-line teachers try to utilize all kinds of programming software to develop studentscomputational thinking.In order to understand the influence of different programming software and academic levels on the development of studentscomputational thinking,this research has done a three-month experimental research,taking 187 grade seven students of a Chengdu secondary school as research object,and discussed the differences of the development of studentscomputational thinking under conditions like different programming software,academic level,and students sex.Research has found out that:a.students of different academic levels have different needs in the choices of programming software.As to the students of relatively low academic level,visualized programming is better than code programming;as to the students of relatively high academic level,the influence of programming software is not so obvious.b.the level of academic achievement has a great influence on the development of studentscomputational thinking,and presented a rather powerful forward related.c.students of different sexes do not have any obvious differences in the development of computational thinking. Based on these research results,this paper,aiming at the programming education of secondary schools,has put forward three suggestions of promoting studentsdevelopment of computational thinking from the following aspects,namely,the choice of programming software,the application of teaching strategies,and the task settings of teaching practices.
Key words: programming software;academic level;visualized programming;computational thinking;experimental research