俞淑燕
(浙江郵電職業(yè)技術(shù)學(xué)院,浙江紹興 312000)
最新修訂的《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版)》(以下簡稱《高中信息技術(shù)課程標(biāo)準(zhǔn)》)中明確提出,高中信息技術(shù)課程的基本目標(biāo)是全面培養(yǎng)和提高學(xué)生的信息素養(yǎng)。[1]任友群(2017)教授認(rèn)為,這里的信息素養(yǎng)包括信息意識、計算思維、數(shù)字化學(xué)習(xí)與創(chuàng)新和信息社會責(zé)任。[2]祝智庭(2015)教授認(rèn)為,信息技術(shù)課程更著重于幫助學(xué)生形成利用信息技術(shù)認(rèn)識世界的獨(dú)特思維方式。這些思維方式主要包括計算思維、設(shè)計思維和批判性思維。[3]可見信息素養(yǎng)的培養(yǎng),尤其是利用信息技術(shù)解決問題的思維培養(yǎng)是高中信息技術(shù)教學(xué)的核心目標(biāo)。
從趙杉(2015)、孫崇青(2018)對高中信息技術(shù)課程教學(xué)的研究中了解到,相對于高中信息技術(shù)課程的教學(xué)內(nèi)容,目前課程課時量偏少,通過課堂內(nèi)的學(xué)習(xí)要培養(yǎng)學(xué)生的信息素養(yǎng),尤其是計算思維有一定的難度,學(xué)生面對問題的解決能力有待提高,對知識內(nèi)容的應(yīng)用、遷移能力不足,不能舉一反三。[4-5]
針對課程教學(xué)困境,顏士剛(2015)、劉海斌(2017)、郭守超(2014)等不少學(xué)者進(jìn)行了教學(xué)改革的研究和探索,他們提出:翻轉(zhuǎn)課堂、微視頻等在信息技術(shù)教學(xué)中的應(yīng)用,使用Scratch平臺、App Inventor等網(wǎng)絡(luò)教學(xué)平臺開展教學(xué)活動,基于項(xiàng)目、問題解決等等進(jìn)行教學(xué)設(shè)計。[6-11]這些教學(xué)改革在優(yōu)化教學(xué)過程、提高教學(xué)效果上都起到了不同程度的作用,但是這些研究所采用的教學(xué)環(huán)境大多為虛擬的環(huán)境,對于學(xué)生來說缺少沉浸感,可提供的教學(xué)情境不夠真實(shí)等。本文提出一種基于GitHub平臺的信息技術(shù)教學(xué)設(shè)計,將課程學(xué)習(xí)空間搭建在計算機(jī)從業(yè)人員云集的GitHub平臺中,師生形成線上線下學(xué)習(xí)共同體,創(chuàng)設(shè)信息素養(yǎng)發(fā)展的教學(xué)情境,在深度交互的過程中促進(jìn)計算思維能力的發(fā)展,在更為真實(shí)的信息世界中培養(yǎng)信息素養(yǎng)。
1.GitHub為學(xué)生信息素養(yǎng)的培養(yǎng)提供了一種有效的學(xué)習(xí)環(huán)境
杜威(1990)指出:“人的心智是人類逐漸成功地適應(yīng)環(huán)境的過程中進(jìn)化的?!薄敖逃ㄒ环椒ㄊ强刂扑麄儯▽W(xué)習(xí)者)的環(huán)境,讓他們在這個環(huán)境中行動、思考和感受,通過環(huán)境間接地進(jìn)行教育。[12]建構(gòu)主義認(rèn)為,知識就是在學(xué)習(xí)者與學(xué)習(xí)環(huán)境相互作用的過程中構(gòu)建起來的。理想的信息技術(shù)學(xué)習(xí)環(huán)境應(yīng)該要有豐富的信息化資源,易于創(chuàng)設(shè)信息技術(shù)支持的交互性、真實(shí)性的學(xué)習(xí)活動,能夠體驗(yàn)到信息技術(shù)行業(yè)實(shí)踐者真實(shí)的工作模式,能夠讓學(xué)生感受到信息技術(shù)所引發(fā)的價值沖突,從而能思考個體信息化行為對自然及人文環(huán)境的影響。
GitHub是一個開源協(xié)同開發(fā)平臺,支持代碼庫(Repository)、項(xiàng)目分支(Fork)、代碼提交(Commit)、代碼合并請求(Pull Request)、代碼合并(Merge)等功能,最初用于項(xiàng)目的協(xié)同開發(fā)。平臺中活躍著兩千多萬用戶,很多優(yōu)秀的開發(fā)者在平臺上貢獻(xiàn)資源,分享經(jīng)驗(yàn),他們的資源、社區(qū)中的行為都是計算機(jī)領(lǐng)域最“新鮮”的學(xué)習(xí)資源;借鑒GitHub的協(xié)同開發(fā)模式可以形成協(xié)同學(xué)習(xí)模式,學(xué)生可以真切地感受到信息技術(shù)從業(yè)人員真實(shí)的工作模式和思考方式,在這種模式中容易創(chuàng)設(shè)促進(jìn)信息素養(yǎng)發(fā)展的教學(xué)情境,激起多樣的認(rèn)知沖突,激發(fā)學(xué)習(xí)者內(nèi)在學(xué)習(xí)動因;與從業(yè)人員一同活躍在社區(qū)中,可以學(xué)習(xí)到這些信息技術(shù)從業(yè)人員的精神和理念,也更易激發(fā)學(xué)生學(xué)習(xí)興趣和熱情,為日后從事相關(guān)行業(yè)奠定基礎(chǔ);此外利用GitHub平臺搭建線上線下相結(jié)合的課程學(xué)習(xí)空間,也是當(dāng)下信息社會生態(tài)環(huán)境的縮影,為學(xué)生適應(yīng)信息社會奠定了基礎(chǔ);社區(qū)中用戶的價值沖突,也能夠激起學(xué)生思考個體信息行為對社會的影響。
2.基于GitHub平臺的協(xié)同學(xué)習(xí)模式有利于促進(jìn)知識的深度理解、應(yīng)用和遷移
社會建構(gòu)主義理論認(rèn)為,學(xué)習(xí)是基于一定的社會文化背景,在他人(老師或同伴)的幫助下,通過社會性參與和互動完成的意義建構(gòu)(Vygotsky&Cole,1978)。教師在GitHub中創(chuàng)建的課程空間,可以與教師的個人空間、學(xué)生的個人空間聯(lián)通,通過交互促進(jìn)知識的深層互動,并通過課程空間或者個人空間將個體的學(xué)習(xí)資源進(jìn)行聚合以及分享,構(gòu)建課程的協(xié)同學(xué)習(xí)模式。就某個知識內(nèi)容,亦可以形成協(xié)同學(xué)習(xí)模式,此時組建項(xiàng)目小組,來解決學(xué)習(xí)情境中的項(xiàng)目任務(wù)。老師、學(xué)生甚至GitHub中的技術(shù)專家形成課程學(xué)習(xí)共同體,通過協(xié)調(diào)共同體中成員、學(xué)習(xí)資源等各要素之間的關(guān)系,可以促進(jìn)學(xué)習(xí)者與學(xué)習(xí)內(nèi)容、“老手”與“新手”之間的深度互動,有利于共同體成員知識的構(gòu)建。上述知識的聚合、分享、構(gòu)建的過程中,提高學(xué)生解決不同問題的能力,促進(jìn)知識的深度理解、應(yīng)用和遷移。
3.基于GitHub平臺構(gòu)建的線上線下課程空間,可以拓展學(xué)習(xí)時空
一般普通高中的信息技術(shù)課程必修與選修一周共計2課時,對于其包含的教學(xué)內(nèi)容來講,課時相對不足。此外,也不能滿足部分對信息技術(shù)感興趣的同學(xué)進(jìn)一步學(xué)習(xí)的需求。基于GitHub平臺構(gòu)建線上線下的課程學(xué)習(xí)空間之后,部分的教學(xué)內(nèi)容可以拓展到課外。
1.GitHub能提供豐富、優(yōu)質(zhì)、便于訪問的學(xué)習(xí)資源
GitHub作為當(dāng)前全球最大的軟件項(xiàng)目托管平臺(開源社區(qū)),來自世界各地的數(shù)以千萬的開發(fā)者活躍其中[13]。因其強(qiáng)調(diào)源代碼的免費(fèi)、開放,平臺上共享了很多的軟件數(shù)據(jù)、產(chǎn)品以及開發(fā)者的技術(shù)交流心得、學(xué)習(xí)資料等等,并且這些資源包含的內(nèi)容豐富,更新及時。
GitHub提供的功能可以使教師和學(xué)生方便的獲取資源,實(shí)現(xiàn)資源的互通:Watch功能可以讓學(xué)習(xí)者關(guān)注某一個人或者項(xiàng)目;Star功能可以用于收藏某個用戶,方便后期進(jìn)入項(xiàng)目庫;Fork、Pull和Push功能可以實(shí)現(xiàn)資源的上傳和下載。
教師可以在GitHub平臺中構(gòu)建課程空間,在空間中可以為學(xué)生提供教學(xué)大綱、進(jìn)度計劃等指導(dǎo)性文件,課程視頻、PPT、工具等教學(xué)資源,也可以將與課程相關(guān)的其他的資源或者開發(fā)者的空間鏈接到課程空間中。
2.GitHub協(xié)同開發(fā)模式契合計算機(jī)學(xué)科問題求解的思維路徑
《高中信息技術(shù)課程標(biāo)準(zhǔn)》指出:“計算思維是指個體運(yùn)用計算機(jī)科學(xué)領(lǐng)域的思想方法,在形成問題解決方案的過程中產(chǎn)生的一系列思維活動?!盵14]美國《K-12計算機(jī)科學(xué)框架》將計算思維的概念延伸到設(shè)計算法、分解問題、建?,F(xiàn)象等能力。[15]GitHub協(xié)同開發(fā)模式主要流程包括創(chuàng)建組織、創(chuàng)建項(xiàng)目倉庫(Repository)、根據(jù)項(xiàng)目創(chuàng)建分支(Fork)、解決各分支問題、合并分支(Merge),這個過程與計算思維解決問題的路徑(包括問題建模、算法設(shè)計、問題分解)非常契合。在基于GitHub的教學(xué)設(shè)計中教師創(chuàng)設(shè)一個任務(wù)教學(xué)情境,學(xué)生分組來完成。各個小組根據(jù)這個任務(wù)將問題進(jìn)行建模、分解并建立分支(Fork),每個分支去設(shè)計算法或者步驟來解決各個分支的問題,然后檢查、合并(Merge),最終完成項(xiàng)目任務(wù)。在這樣一種真實(shí)的協(xié)同開發(fā)模式中,將知識的理解、應(yīng)用和遷移融入問題的解決過程,讓學(xué)生領(lǐng)會計算機(jī)學(xué)科問題求解的方式,在完成任務(wù)的同時發(fā)展計算思維。
3.GitHub的開源API為教學(xué)提供學(xué)習(xí)過程的智能化學(xué)習(xí)分析與評價支持
利用GitHub平臺所提供的編程接口API,可以抓取到學(xué)生在課程空間的活動數(shù)據(jù)進(jìn)行學(xué)習(xí)行為分析。根據(jù)學(xué)生在項(xiàng)目中的貢獻(xiàn)、課程空間中的活躍程度、對課程空間知識的貢獻(xiàn)等對學(xué)生的平時學(xué)習(xí)情況形成評價??梢詫W(xué)生的評價數(shù)據(jù)作為課程的即時訊息,顯示在課程空間中,幫助學(xué)生獲取評價信息,對學(xué)習(xí)情況進(jìn)行及時的反饋和跟蹤,促進(jìn)學(xué)生的學(xué)習(xí)積極性。
1.學(xué)生為主體,教師為主導(dǎo)
教師單向的輸出知識不能夠培養(yǎng)學(xué)生運(yùn)用信息手段解決問題的信息素養(yǎng),而應(yīng)為學(xué)生創(chuàng)設(shè)提供知識支架的學(xué)習(xí)環(huán)境,教學(xué)過程充分發(fā)揮學(xué)生的主體作用,讓學(xué)生在不同的情境中,運(yùn)用信息技術(shù)手段分解問題、建?,F(xiàn)象、解決問題。在此過程中教師作為引導(dǎo),讓學(xué)生能根據(jù)自身行動的反饋信息來形成對知識的認(rèn)知和解決實(shí)際問題的方案。
2.創(chuàng)設(shè)交互、協(xié)作、分享的學(xué)習(xí)情境
提倡在協(xié)作、交流中建立起對知識的意義建構(gòu)。建構(gòu)主義認(rèn)為,學(xué)習(xí)者與周圍環(huán)境的交互作用,對于學(xué)習(xí)內(nèi)容的理解起著關(guān)鍵性的作用。[16]除了面對面的協(xié)作和溝通之外,在線上構(gòu)建開放的、互聯(lián)互通的課程空間、個人空間,積極引導(dǎo)學(xué)生創(chuàng)建Issue提出疑問分享所學(xué),激起成員之間的協(xié)商和辯論,成員間的認(rèn)知沖突能夠激發(fā)學(xué)生深度思維,促進(jìn)個體對知識的內(nèi)化、遷移,也利于集體智慧的生成和共享。
3.給學(xué)生提供自主學(xué)習(xí)的環(huán)境
《高中信息技術(shù)課程標(biāo)準(zhǔn)》指出:在學(xué)生學(xué)習(xí)教材之后,要形成自主學(xué)習(xí)信息技術(shù)的能力,能熟練地對信息進(jìn)行獲取、加工和表達(dá)。[17]建構(gòu)主義認(rèn)為,學(xué)習(xí)環(huán)境是學(xué)習(xí)者可以在其中進(jìn)行自由探索和自主學(xué)習(xí)的場所。將學(xué)生置身于信息化的資源中,適當(dāng)?shù)亟o予工具、方法的支持,讓其能夠根據(jù)需要從資源中提取信息,“在大量數(shù)據(jù)中尋找隱藏的模式、趨勢和相關(guān)性來關(guān)聯(lián)、整合,使之具有系統(tǒng)性,成為可擴(kuò)展的知識體系”(祝智庭等,2008)。
基于GitHub平臺的教學(xué)設(shè)計可以描述如下(如圖所示):教師構(gòu)建課程學(xué)習(xí)空間,將班級學(xué)生鏈接進(jìn)入到課程空間,形成“人人通”的學(xué)習(xí)共同體;將教學(xué)資源托管到課程空間中,將與課程相關(guān)的行業(yè)內(nèi)技術(shù)專家的GitHub主頁鏈接到課程空間,便于學(xué)生對課程形成認(rèn)知;課前課后任務(wù)可以通過Issue發(fā)布;課中利用庫中資源授課,布置項(xiàng)目任務(wù),利用其協(xié)同開發(fā)模型[創(chuàng)建項(xiàng)目(Repository)—建立分支(Fork)—提交合并請求(Pull Request)—檢查項(xiàng)目(Review)—合并項(xiàng)目(Merge)]開展項(xiàng)目式教學(xué);學(xué)生通過Issue提交作業(yè),分享學(xué)習(xí)心得;教師根據(jù)線下學(xué)習(xí)情況以及評價系統(tǒng)對學(xué)生線上學(xué)習(xí)行為的評價,對學(xué)生形成整體評價。
基于GitHub平臺的課程教學(xué)
以高中信息技術(shù)基礎(chǔ)課程為例,學(xué)期之初教師在GitHub平臺中建立課程空間,將學(xué)期教學(xué)大綱、課程學(xué)習(xí)目標(biāo)、與信息技術(shù)課程相關(guān)的資源鏈接、課程的評價方式等放入課程空間中,讓學(xué)生明確課程學(xué)習(xí)目標(biāo)。第一次課程中為同學(xué)們介紹GitHub的資源情況和基本使用方法,也可以開帖(創(chuàng)建Issue)引導(dǎo)學(xué)生挖掘GitHub的使用方法,比如如何提交作業(yè),如何搜尋資源、分享資源等。當(dāng)每位同學(xué)創(chuàng)建好各自的賬號后,將學(xué)生個人空間地址維護(hù)到課程空間中,形成學(xué)友鏈接。教師、課程、學(xué)生都進(jìn)行互相關(guān)注,教師也可以在課程空間中推薦相關(guān)的開發(fā)者的個人空間鏈接,讓學(xué)生關(guān)注,以獲悉其知識動態(tài)。以此形成互通的網(wǎng)絡(luò)學(xué)習(xí)共同體,支撐學(xué)生開展線上線下的學(xué)習(xí)。
接下來以課程第六章《網(wǎng)頁的設(shè)計與制作》中“6.2網(wǎng)頁制作”這一節(jié)為例,介紹基于GitHub的課程教學(xué)。在此之前,學(xué)生已經(jīng)了解萬維網(wǎng)的基本結(jié)構(gòu),理解網(wǎng)頁的作用,掌握網(wǎng)頁元素和網(wǎng)頁構(gòu)件的使用,對網(wǎng)頁制作的工具有所了解和使用。
1.創(chuàng)建任務(wù)
建構(gòu)主義學(xué)習(xí)理論認(rèn)為學(xué)習(xí)是在一定情境下發(fā)生的,因此在教學(xué)中必須創(chuàng)設(shè)有利于學(xué)生意義構(gòu)建的學(xué)習(xí)情境。在設(shè)計任務(wù)時候,要充分考慮到,學(xué)生通過任務(wù)的完成能夠掌握網(wǎng)頁策劃和設(shè)計的基本過程,學(xué)會設(shè)計和制作網(wǎng)頁,并給出工具和資源為學(xué)生學(xué)習(xí)提供支撐。在課前,教師在課程空間中提交一個Issue,給出課程任務(wù):利用5課時時間制作一個介紹世界遺產(chǎn)的網(wǎng)站,并給出具體要求,如頁面基本要求、分工要求、最后的分享要求等;提供相關(guān)的示范性的網(wǎng)站,如:教師空間中的案例示范、中國世界遺產(chǎn)網(wǎng)(http://www.whcn.org)、模板之家(http://www.cssmoban.com)等;還提供工具、學(xué)習(xí)資源等,如:截圖小工具FSCapture.exe、千庫網(wǎng)(http://588ku.com)、網(wǎng)站制作技術(shù)專家阮一峰GitHub中相關(guān)的資源(https://github.com/ruanyf)以及他所著的Web學(xué)習(xí)網(wǎng)站 W3CSchool(http://www.w3school.com.cn)等等。
2.任務(wù)確定
教師在課上講解課程任務(wù)、制作要求,介紹示范網(wǎng)站、工具、資源等,要求以小組的形式完成網(wǎng)站,引導(dǎo)學(xué)生根據(jù)自身的特長進(jìn)行組隊,一般3—4人一組為宜。此階段要求明確課程任務(wù)、明確分組、明確學(xué)生在小組中承擔(dān)的任務(wù)。一般組內(nèi)設(shè)項(xiàng)目經(jīng)理1名,負(fù)責(zé)網(wǎng)站的策劃構(gòu)思,把控任務(wù)進(jìn)程;美工1—2名,負(fù)責(zé)頁面素材的收集和制作;網(wǎng)站制作1名,負(fù)責(zé)制作工具的深入學(xué)習(xí)、組內(nèi)分享制作方法、指導(dǎo)組員共同完成網(wǎng)站。教師就分組和分工進(jìn)行協(xié)調(diào),并引導(dǎo)小組就任務(wù)展開討論。
3.分工協(xié)作
項(xiàng)目經(jīng)理在其個人空間中建立一個任務(wù)庫(Repository),對任務(wù)目標(biāo)、時間進(jìn)程、組員分工等進(jìn)行描述。組員建立任務(wù)的分支庫(Fork),將工作結(jié)果上傳到分支庫中。以上過程中,組員分析各種信息資源,運(yùn)用信息技術(shù)完成任務(wù),組員之間既要分工也要協(xié)作。除了上課時候面對面的協(xié)作,也可以通過GitHub平臺建立Issue進(jìn)行商討。同理,教師曾在課前開設(shè)的Issue中,除了要求各個小組把就網(wǎng)站制作建立的任務(wù)庫地址上傳之外,也可以在此提交一些問題,分享一些資源。教師在此過程中關(guān)注各個小組的問題,必要的時候進(jìn)行集中講解。比如涉及網(wǎng)站制作的時候,教師可以就知識點(diǎn)、問題點(diǎn)展開講解。
4.任務(wù)合并
在任務(wù)的開展過程中,對于階段成果(視頻、圖片、文檔、源代碼等),組員可以根據(jù)情況提交,便于組內(nèi)分享。GitHub平臺中的協(xié)同開發(fā)模式方便項(xiàng)目組進(jìn)行版本控制,便于項(xiàng)目組內(nèi)的合作。組員發(fā)送合并請求(Pull Request),項(xiàng)目經(jīng)理對上傳文檔進(jìn)行檢查(Review)與合并(Merge)。這里的合并是一個不斷迭代的過程,隨著網(wǎng)站制作工作的開展,組內(nèi)可能會有新的想法或者需求迸發(fā),因此任務(wù)的合并會存在多次。教師都可以通過關(guān)聯(lián)的任務(wù)庫查看各個小組的情況,以便提供適時的幫助和指導(dǎo)。
5.提煉分享
各小組完成網(wǎng)站后,教師在課程空間中開設(shè)就本項(xiàng)目的分享Issue,要求將網(wǎng)站成果、小組成員的工作內(nèi)容、工作亮點(diǎn)、學(xué)習(xí)收獲等提前分享到Issue中,其他同學(xué)都可以在Issue中跟帖評論。教師收集評價系統(tǒng)對學(xué)生在這個項(xiàng)目學(xué)習(xí)行為中的評價數(shù)據(jù),結(jié)合課堂表現(xiàn),生成評價,為后續(xù)課堂點(diǎn)評做好準(zhǔn)備。在課堂內(nèi)設(shè)置演講環(huán)節(jié),各小組派代表分享網(wǎng)站制作過程的經(jīng)驗(yàn)得失,教師針對完成的過程和情況進(jìn)行點(diǎn)評,也可以引導(dǎo)其他同學(xué)一起參與點(diǎn)評。通過分享、評價,引發(fā)師生進(jìn)行深度思考,實(shí)現(xiàn)對知識的深度加工,從而將思維引入高階發(fā)展的階段。
GitHub平臺天生為開發(fā)者而生,但不局限于對于開發(fā)的協(xié)作,因此課程中非實(shí)踐類的教學(xué),也同樣可以在平臺上開展。
隨著GitHub平臺用戶的增加,GitHub逐漸成為最流行的開源軟件開發(fā)平臺之一,出現(xiàn)了許多基于GitHub社交編碼服務(wù)、特性和方法的教學(xué)方法[18]。我們經(jīng)過教學(xué)實(shí)踐認(rèn)為,在GitHub平臺中搭建課程空間,有利于激發(fā)學(xué)生學(xué)習(xí)興趣,有利于學(xué)生感知真實(shí)的開發(fā)者世界,從而感知信息社會,培養(yǎng)信息意識;將學(xué)生置身于數(shù)字化學(xué)習(xí)環(huán)境中,讓其真切感受到海量的學(xué)習(xí)資源,從而思考和學(xué)習(xí)如何搜索和使用資源;通過在GitHub平臺中搭建個人空間,并且和其他空間進(jìn)行交互,從而感知和形成網(wǎng)絡(luò)時代信息化的交互方式;通過基于協(xié)同開發(fā)模式的項(xiàng)目合作,相互對話、彼此互動來加深對知識的理解,批判地學(xué)習(xí),在解決問題的過程中,促成學(xué)生信息素養(yǎng)的提升;通過學(xué)習(xí)內(nèi)容、教師、學(xué)生、資源的關(guān)聯(lián)與聚合,促進(jìn)知識的融合與創(chuàng)新。