

摘要:Scratch是當前眾多中小學教師用來進行編程教育的可視化編程教學軟件。在基于Scratch的中小學生編程教學中,如何設計課堂教學活動以激發中小學生對編程課堂的興趣、提高學習滿意度,并能夠做到在“玩中學”培養學生計算思維和編程思維能力成為諸多教育學者深入思考的問題。因此本研究提出將結對編程模式融入Scratch教學中的原因和方法,并以《裝飾畫藝術創作》游戲為例進行課堂實例設計,以期為開展編程教育的工作者提供借鑒和參考,為編程課堂改革提供新思路。
關鍵詞:結對編程;Scratch教學;教學活動設計;教學實踐;藝術創作
中圖分類號:G642 文獻標識碼:A
文章編號:1009-3044(2020)27-0079-03
開放科學(資源服務)標識碼(OSID):
人工智能時代的來臨讓我們意識到了編程教育的重要性,編程能力已成了智能時代一項重要的技能,而如何有效培養學生的計算思維和提高學生編程能力成了諸多國家和學者關注的問題。近年來,國務院和教育部發布有關于人工智能時代發展規劃和教育信息化發展的相關通知中,要求在中小學階段開設人工智能相關課程,逐步推廣編程教育[1]。隨之各地政府積極地響應,將編程教育納入教學體系中,全國掀起編程教育大潮。在國內,諸多城市都在嘗試在學校開設編程教育課程和人工智能相關課程,例如,2017年,山東省不僅在使用的信息技術課程教材中加入了編程的相關知識,還將Python編程基礎納入高考的內容體系中。從2018年至今,中國還出版了諸多關于中小學人工智能的相關教材,并且在上海嘉定等區域進行試點教學,對有關授課教師進行相關的培訓。智能時代要求學生具備計算思維、批判性思維和解決問題的能力,無論是國家還是各省一系列的相關政策,都表明未來推廣中小學生的編程教育是教育工作者一項重要的任務。
Scratch作為一種可視化的編程工具,對于中小學的編程初學者來說,它操作簡單并且可以很直觀地看到作品效果,學生可以通過拖曳拼接積木的方式實現自己創新的想法,激發了學習者的學習興趣。在中小學進行編程教學的目的并不是要讓學生學會敲代碼或者只是為了考試,而是要通過學習編程培養學生分解問題和解決問題的能力。因此,傳統的教學方法只是灌輸式的傳授給學生知識不利于發揮學生學習的主動性,而且更容易引起學生的抵觸編程的心理,這樣的教學方式不適合用于編程教學課程。結對編程是一種編程模式,是學生兩兩合作,學生通過合作能夠互相發現各自程序的錯誤,并且能夠提出改進的建議,在交流的過程中,學生不僅能夠提升自己的表達能力,還能夠將同伴的知識與自己所學的知識融合。在獲得知識的前提下,結對編程還能夠提升學生對學習編程的滿意度。
1 文獻綜述
1.1概念界定
Laurie Williams認為結對編程(Pair Programming)是一個編程模式,是指兩個程序員肩并肩地坐在一起共用一臺電腦,面對同一個顯示器,使用同一個鍵盤,同一個鼠標一起工作[2]。結對編程可以說是最小單位的團隊合作,是兩個人的共同合作,其中一個人稱為“駕駛員”,“駕駛員”負責編寫代碼,控制電腦和鍵盤,另一個人稱為“導航員”,“導航員”不需要控制電腦、鍵盤和鼠標,而是負責坐在旁邊審查“駕駛員”編寫的程序,并能夠提出相應的建議來與“駕駛員”進行討論。在這個結對的過程中,“駕駛員”和“導航員”必須在規定的時間或節點轉換角色,這是結對編程中必不可少的環節。
Scratch是由美國麻省理工學院開發的一款可視化編程工具,它主要面向7-12歲的青少年。諸多研究表明,Scratch工具在降低學生認知負荷、提升學習興趣以及提高編程思維等方面具有明顯的優勢,更適合中小學生的認知水平[3]。傳統的編程語言,例如,C、JAVA、Python等需要在腳本區逐行地編寫代碼,而Scratch中的程序是用一塊塊積木的方式呈現的,學生可以直接通過拖拽的方式在積木區找到已定義的模塊拖至腳本區即可將它們拼接完整。Scratch擺脫了命令復雜、邏輯思維十分抽象的傳統編程工具,并通過圖形化編程的方式幫助中小學生從具體形象思維慢慢轉向邏輯抽象思維。
1.2結對編程研究現狀
1996年,Kent Beck.Ward Cunningham和Ron Jeffries -起提出了極限編程,其中包含了結對編程,極限編程能夠成功進行的一個關鍵實踐是結對編程,結對編程保證了程序的高質量[4]。極限編程在軟件開發領域的廣泛使用,促使了教育工作者發現了結對編程,并開始進行了研究,例如,在2001年LaurieWilliams開展的教育實驗表明了運用結對編程學習不僅能夠增加學生對學習編程的滿意度和自信心還可以減少教師的工作量[2]。
國外有諸多教育學者將結對編程的編程模式融入計算機科學的程序教學中,研究表明,結對編程對編程教學有以下意義:1)結對的學生會擔心和自己一組的小伙伴失望,所以更加專注地做任務;2)在合作伙伴的幫助下,程序員能夠編寫更高質量的代碼;3)結對的學生對完成任務更有信心,并減少了學習編程的挫敗感;4)結對編程能夠減少教師的工作量;5)與單獨編程的學生相比,結對的學生交作品的速度快且質量高[5]。
2 基于結對編程的Scratch教學活動設計
2.1 教學對象分析
課程教學的對象是小學4年級的學生,在計算機的操作方面,他們能夠使用計算機在Scratch軟件上進行創作。在認知能力上,7-12歲的學生處于具體運算階段,這個階段的學生只能通過一些具體的事物或物體來進行運算,從而使他們逐步從具體轉向抽象思維,所以在教學內容的選擇上不僅僅要滿足他們好奇心強,樂于接受新奇、趣味性強的事物的特點,還必須能夠激發他們潛在的能力。如果只是單純的學習編程知識然后模仿教師的操作會比較枯燥無味,可以通過結對的方式來讓學生協作動手完成作品,提高學生知識交流的能力,激發他們的學習動機,培養他們合作的意識。
2.2 教學目標分析
1)知識與技能:掌握“圖章”程序的功能;掌握案例編程思路并能夠表述清楚;能夠熟悉運用“繪制”工具繪制角色。
2)過程與方法:能夠發揮自己的想法并結合同伴的想法制作作品;在合作的過程中,能夠靈活運用同伴提供的建議,做到舉一反三。
3)情感態度與價值觀:激發想象能力,培養創新思維;能夠體驗到使用結對編程進行協作的樂趣,增強學習編程的熱情。
2.3 教學過程設計
裝飾畫藝術創作這節課無論是對編程初學者還是有編程基礎的學生都有很大的吸引力,學生可以通過自己繪制一個角色并不斷地修改參數值都會看到不一樣的效果。教學目標主要是激發學生學習編程的興趣、提高學習滿意度和促進學生之間的合作交流。對于此課程,我將采用結對編程的模式進行教學,教學過程分為了以下七個環節:
1)進行結對分組
學生可以選擇自己想要一起合作的伙伴進行結對,有助于他們之間的交流,而對于找不到合作伙伴的學生,教師需進行干預,根據學生的性格、成績等進行結對。這一環節的設計意圖是為了讓學生掌握結對編程的原則,并在整節課中這樣的結對關系一直保持不變。
教師活動:教師組織學生結對就座,講解結對編程的規則,并給予5分鐘的時間讓學生找到結對的同伴和想好團隊的名字。
學生活動:選擇自己想要一起合作的伙伴進行結對,結對之后兩人一起討論團隊的名字。
2)案例導人
通過幻燈片的方式展示作品最終實現的效果,這一環節的設計意圖是為了引起學生的思考,激發學生學習的主動性,同時能夠讓學生明確本節課的學習目標。
教師活動:教師展示自己做好的裝飾畫圖片,詢問學生“這些圖片看起來有什么奇特的地方”,并告知學生,今天這節課他們需要發揮他們的想象力制作不一樣的作品。展示作品如圖1所示。
學生活動:學生思考并回答問題,即同一個圖形顏色變化、圖形大小變化等,并大概了解這節課的任務。
3)針對案例.提出問題
通過這個案例,向學生提出問題,引導學生主動深入思考案例作品的設計和通過畫思維導圖展示編程思路,并給學生提供和同伴交流的時間,之后分享他們要實現作品效果的解決方法。這一環節的設計意圖是提升學生解決問題的能力、與同伴溝通交流的能力。
教師活動:教師展示其中一個作品,詢問學生“在角色面板中有幾個角色?”“如何將一個圖形變成這么多個相同的圖形?”“如何讓他們在不同的位置顯示出來?”“如何實現舞臺上的效果?”通過設計問題,引導學生分解問題,最終能夠獲得解決問題的方案。教師展示作品如圖2所示。
學生活動:學生積極與自己結對的伙伴進行討論,思考提出的問題并合作畫出思維導圖,最后分享他們解決問題的方案。
4)講授新知,分解問題
結合學生分享的解決方案,講授案例作品核心知識點,通過電子教室廣播功能的方式向學生展示編程的過程。這一環節的設計意圖是為了讓學生學習新的知識,并且能夠發現自己解決方案中的問題,及時的進一步完善。
教師活動:教師在提出之前的問題“如何將一個菱形變成六個菱形”時,學生很容易想到的是“對菱形進行復制、粘貼”,接著教師引導學生學習“圖章”指令,并詳細講解“圖章”的概念,通過電腦廣播的功能向學生展示“圖章”指令的效果,先將“圖章”程序拖曳到腳本區,點擊“圖章”積木,詢問學生“發現舞臺上有什么變化嗎?”這時候在舞臺區拖動圖形,就可以看到了一個一模一樣的圖形,引導學生理解“圖章”程序的作用。
學生活動:學生思考問題,在這個過程中需要理解“圖章”指令的作用,并指導如何應用它實現作品的效果。
5)基于案例,結對練習
學生需要按照結對編程的方式進行角色扮演,一個作為“駕駛員”,一個作為“導航員”,并在一定的時間內互換角色。在結對編程的過程中,“駕駛員”需要按照老師的要求編寫程序,“導航員”負責坐在“駕駛員”的旁邊審查“駕駛員”的操作。這一環節的設計意圖是讓學生之間能夠交流,不僅鍛煉他們問題解決能力,而且他們的溝通技巧也會有所進步。
教師活動:在學生進行結對練習的過程中,教師需要引導他們和同伴進行交流,觀察學生學習的情況,并且對學生經過交流但是未解決的問題給予引導式的幫助。
學生活動:進行結對練習,與同伴交流討論。兩人之間需要溝通互換角色的條件,是完成某個任務節點互換,還是在一定的時間內互換。
6)結對自主探究
結合給定的教學內容,給已經完成封閉式任務的小組布置半開放性的任務,鼓勵學生能夠在完成模仿教師編程的基礎上發揮自己的想象力進行再次修改和創作。這一環節的設計意圖是為了發揮學生的創造力,引發學生主動思考。
教師活動:教師再一次展示自己的作品(如圖2),詢問學生“從老師展示的圖案中,你獲得了什么靈感嗎?”“觀察這些圖案,哪位同學可以找到他們身上的特點?”,并告知學生,可以結合同伴和自己的想象力,制作屬于他們的作品。
學生活動:學生紛紛和教師分享自己的靈感以及觀察到的現象,并與同伴結對進行二次創作。
7)作品分享與評價
教師組織開展評價活動,學生分別展示他們結對的作品,分享編程思路,教師進行點評。這一環節的設計意圖是為了讓學生表達他們這節課的收獲,讓學生對自己的小組成員進行評價,在這個分享的過程中,其他同學也可以從中學習一些優秀作品的設計,也可以改善自己與同伴溝通交流的方式。
教師活動:教師組織開展評價活動,并指出學生作品的優缺點以及在哪些方面還可以繼續去加工和完善。
學生活動:學生分享結對完成的作品,并分享自己作品的設計思路。
3 使用結對編程模式在課堂教學中的建議
1)在使用結對編程模式進行教學時,可以先向學生介紹什么是結對編程,以及為什么要這么做,并向他們說明結對編程的規則。采用自由結對或半自由結對的策略配對好之后,可以給學生3分鐘的時間想出他們的隊名,讓他們感覺自己像一個團隊。
2)制定一個相互尊重的規則
①尊重同伴的想法。當“駕駛員”聽到了“導航員”的建議時,可以先完成自己的想法或者任務,之后會對“導航員”的建議進行討論或采納同伴的建議。
②尊重同伴的個人空間。讓學生知道在“駕駛員”在進行程序編寫時,“導航員”是不能操控電腦和鼠標的,這樣是違反結對編程規則的,“導航員”應該用口頭的方式與“駕駛員”討論交流,這能夠讓“導航員”再次建構自己的知識。
③尊重自己的角色。每個學生都應該尊重自己所扮演的角色,“駕駛員”就是“駕駛員”,“導航員”就是“導航員”,除非到了正式交換角色的時間,否則學生不應該放棄自己角色的工作,如果遇到問題與同伴討論后沒法解決,可以詢問教師或者助教。
④尊重自己的班級。同伴之間在進行討論時,只允許在自己的組內進行討論,以免干擾其他的團隊,如果有爭議需要大量的討論時,他們可以通過寫在紙上梳理之后進行交流。
4 結束語
通過將結對編程融人編程課堂教學中,可以促進學生之間的交流,提高學生對課堂的滿意度,學生可以通過組織表達語言的過程再次建構自己的知識,獲取知識的學生可以加深對知識點的理解,彌補了傳統課堂教學中學生被動接受知識的缺陷。
當前,國內外越來越重視在中小學階段培養學生的計算思維能力。本研究通過將結對編程與Scratch課程結合,以培養學生計算思維和激發學生學習動機為核心設計課堂教學活動,為中小學信息技術教師開展編程教學活動提供了新思路。
參考文獻:
[1]教育部辦公廳.2019年教育信息化和網絡安全工作要點[EB/OL].( 2019-03-01) [2020-02-20]. http://www. moe. gov. cn/src-site/A16/s3 342/201903/t20190312_3 73147 .html.
[2] Laurie Williams, Robert R.Kessler and Ward Cunningham.Strengthening the case for pair programming[J]. IEEE Soft-ware, 2000,17(4):9-25.
[3]傅騫,解博超,鄭婭峰.基于圖形化工具的編程教學促進初中生計算思維發展的實證研究[J].電化教育研究,2019(4):122-128.
[4] Kent Beck, Cynthia Andres.Extreme Programming Explained:Embrace Change, Second Edition[Ml.Addison-Wesley Profes-sional,2004.
[5) Alistair Cockburn.Laurie Williams.The costs and benefits ofpair progTamming[M]. Addison-Wesley Longman PublishingCo., Inc.,2001.
[通聯編輯:王力]
作者簡介:黃瓊梅(1995-),女,海南儋州人,碩士,主要研究為中小學信息技術教學。