摘 要:在翻轉課堂模式下為充分發(fā)揮學生學習“Python”語言的主動性,文章結合學生對圖形、動畫、游戲的興趣,利用Turtle庫,設計實現(xiàn)了一系列教學資源,用于學生線上學習,為學生的主動學習、自主學習探索一條合適的道路。
關鍵詞:“Python”教學;圖形動畫案例;Turtle庫
0 ? 引言
“Python”語言是一種解釋型高級語言,具備可移植、跨平臺、面向對象等特點,運用場景也越來越廣泛[1]。目前,隨著翻轉課堂教學模式的推廣,線上線下混合教學模式被充分應用[2]。為適應翻轉課堂教學模式,需要建設相應的教學資源,為學生的線上學習提供幫助。如果只是采用傳統(tǒng)的程序語言教學方式,既無法充分發(fā)揮“Python”語言的特性,也無法激發(fā)學生學習的興趣。圖形動畫形式的案例生動有趣,容易讓學生產(chǎn)生共鳴,很多程序語言教學已經(jīng)引入圖形動畫案例[3-5],用于C語言的案例教學,也有教師運用將圖形動畫案例應用于“Java”課程的教學過程中。文章充分利用“Python”中Turtle庫強大的圖形功能,設計一系列教學資源,激發(fā)學生主動學習興趣,發(fā)揮學生創(chuàng)意,培養(yǎng)綜合開發(fā)能力,其中包括一個基于Turtle庫的圖形動畫綜合案例作為教學的主線資源,內容涵蓋“Python”基礎知識。之后提供一組從簡單到復雜、從基本圖形到組合圖形、從靜態(tài)圖形到圖形動畫的案例庫用于輔助教學。為方便初學者學習Turtle庫圖形基本操作,還設計實現(xiàn)了一個所見即所得的軟件平臺,學生實時繪制圖形,相應“Python”代碼自動生成。3個教學資源配合使用,有助于學生快速入門、學習相關內容,并激發(fā)創(chuàng)意,設計出具有個人特色的綜合程序。
1 基于Turtle庫的圖形動畫案例
圖形動畫案例是基于Turtle庫繪制傳統(tǒng)中國結,在畫布上形成四個不同尺寸、不同坐標的中國結,并以一定速度一定方向進行運動,運動到一定位置后停止下來,頂部中心顯示紅色文字幸福中國結。
案例涵蓋“Python”的課程內容,如常用類庫Turtle的應用,函數(shù)調用、函數(shù)定義、條件語句、循環(huán)語句、數(shù)據(jù)類型與變量、運算符與表達式、列表與字典及鍵盤事件處理等內容。案例被分解成若干個部分,每部分涉及一到兩個知識點,按照開發(fā)順序安排學習內容。構建學習網(wǎng)站,將拆分的知識點與案例分步開發(fā)形成各個微課程,包括微課講解知識點及分案例視頻、知識點內容PPT和案例代碼。
根據(jù)案例開發(fā)順序,第一部分先介紹基本數(shù)據(jù)類型、運算符與表達式,為后續(xù)中國結的開發(fā)準備基礎知識。第二部分展開函數(shù)的學習,將單個中國結的繪制分解成5部分,分別定義為一個函數(shù),并使用一個主函數(shù)調用這5個部分完成一個整體中國結的繪制。函數(shù)體部分應用Turtle庫函數(shù)進行線條、圓環(huán)等的繪制,學習用基本圖形組成復雜圖形。第三部分展開控制結構的學習。在選擇結構和循環(huán)結構中對每部分內容進行拓展,對中國結結心的拓展是應用循環(huán)結構繪制交叉的兩個方向各11條紅線。對邊緣及底部穗的拓展主要應用循環(huán)結構進行多個圓環(huán)及多條垂直紅色直線的繪制。第四部分是列表等數(shù)據(jù)結構的學習。單個中國結繪制后,可以應用列表存儲4個中國結的大小與位置并利用選擇結構控制中國結的停止位置。在過程中教會學生進行問題分解、模塊化程序設計、程序擴展的方法,讓學生參與到精益求精,不斷打磨作品的過程中。
2 基于Turtle庫的圖形動畫案例庫軟件平臺
案例庫軟件平臺充分利用“Python”具備的豐富的開源庫,實現(xiàn)一系列圖形動畫案例,由簡單到復雜,將各種知識點貫穿其中,既可作為線上教學資源,又可以作為課堂教學案例使用。案例的多樣可以幫助學生看到各種形式程序的運行效果與實現(xiàn)方法,激發(fā)學生的開發(fā)創(chuàng)意,開發(fā)出具備個人特色的綜合案例程序。設計并實現(xiàn)若干基于Turtle庫圖形動畫小游戲案例庫,并利用tkinter庫中的菜單對所有案例加以整合,形成一個相對完整的案例庫軟件平臺。
在菜單中,點擊每個菜單項即啟動一個圖形動畫案例。提供的主要案例有:Turtle繪圖坐標示意圖、角度示意圖,通過這兩個圖可以了解繪圖坐標系相應知識,為后續(xù)學習Turtle庫函數(shù)中的角度、坐標參數(shù)奠定基礎。基本圖形案(如畫圓、畫線、畫圓柱)可以幫助學生直接了解基本圖形繪制函數(shù)的具體使用方法以及簡單組合方法。繪制三角形的案例可讓學生了解如何用循環(huán)語句結合繪圖函數(shù)繪制組合圖形。蘇州地鐵示意圖可讓學生理解如何用基本圖形函數(shù)繪制一個實用的圖形并學習文字在圖形界面的輸出方法。彩色烏龜、國旗圖形可以學習到運用基本圖形函數(shù)、循環(huán)結構等繪制生活中的實際圖案,并為后續(xù)的動畫設計奠定圖形基礎。幸福中國結為學生提供一個涵蓋所有知識點的圖形動畫程序,為學生設計自己的動畫游戲程序奠定了一個基礎。彈球游戲改版程序2中使用了一個室內場景,放置高腳椅、中國結及玫瑰花圖案,一個彈球在場景中來回運動。這個案例讓學生感受如何綜合運用單個圖形繪制復雜場景、并結合動畫游戲代碼完成綜合程序。使用這樣一個案例庫,可以讓學生借鑒到如何利用基本圖形進行復雜創(chuàng)意,從簡單到復雜、從單個圖形到綜合運用,有助于激發(fā)學生創(chuàng)意,并互相啟發(fā),不斷提升設計開發(fā)能力。學生可以一邊觀察程序的運行效果,一邊查看程序代碼,不斷對比感受,掌握程序的學習。
3 Turtle庫函數(shù)幫助軟件
Turtle庫目前的學習資料多數(shù)是以網(wǎng)站形式提供文字方法說明以及案例示例,為方便初學者以所見即所得方式直觀方便學習Turtle庫函數(shù)及相關“Python”基礎知識,設計實現(xiàn)一個幫助軟件。使用Java的圖形界面開發(fā)技術,參考Windows畫筆程序的繪圖界面,結合turtle庫中的相關繪圖函數(shù)而設計。界面上模擬畫筆程序,提供基本圖形工具欄按鈕,如畫直線、畫圓、畫矩形、畫三角形、菱形、多邊形等。Turtle庫用戶使用軟件時,先點選要繪制的圖形、線條粗細、顏色,再將鼠標在繪制窗口拖動繪制出相應的圖形。當鼠標松開時,軟件右側窗口中自動生成相關的“Python”代碼。通過這樣的過程,學生可以學習到應用Turtle庫繪制圖形時應該先引入Turtle庫,并了解到應用哪個函數(shù)設置筆的粗細、哪個函數(shù)設置畫筆的顏色,如何提起筆,用什么函數(shù)將鼠標定位到相應坐標,如何放下筆,用什么函數(shù)繪制基本圖形。在不同的位置繪制相同的圖形就能學習到坐標參數(shù)如何使用,點選不同的顏色可以學習到畫筆顏色設置的函數(shù)參數(shù)變化。點選相同圖形繪制不同大小的圖案,即可學習到如何繪制不同尺寸的圖形。繪制圖形后,還可以選擇工具欄中的填充按鈕及填充色,到指定圖形處點擊鼠標,在左側即可看到填充后的圖形效果,右邊代碼同時發(fā)生變化,即可了解到如何用程序實現(xiàn)填充顏色圖形的繪制。通過這個軟件可以充分學習到Turtle庫函數(shù)的基本方法,實際參數(shù)使用以及相應“Python”代碼。用所見即所得的方式繪圖并學習代碼,可讓學生根據(jù)自己需要一邊繪制一邊學習,激發(fā)學生學習的興趣。
4 結語
文章探索建設“Python”課程翻轉課堂教學資源的方法及實踐。將一個綜合圖形動畫案例應用于“Python”的教學過程中。借助Turtle庫研究將“Python”語言的主要知識點加以分解貫穿到案例的實現(xiàn)過程中,并實現(xiàn)一個Turtle動畫案例庫軟件平臺,涵蓋從簡單到復雜的多個動畫游戲案例,為學生提供多種案例輔助,助力學生逐漸學習開發(fā)大型程序的能力。同時,為初學者提供一個Turtle庫函數(shù)及完整“Python”圖形程序開發(fā)學習幫助的軟件平臺,以所見即所得方式展現(xiàn)。當在界面上使用鼠標自主繪圖后,程序會自動生成相應的Turtle庫函數(shù)調用及“Python”代碼,幫助學生快直觀快速地學習相關內容。在教學過程中運用這些教學資源激發(fā)了學生的學習興趣,取得了良好的學習效果。后續(xù)可以持續(xù)建設課程網(wǎng)站,接納學生新開發(fā)案例,不斷充實案例庫,同時也為學生提供展示自己作品的平臺,激發(fā)學生原創(chuàng)開發(fā)的動力。
[參考文獻]
[1]秦科,劉貴松.面向“Python”應用的大學教學改革初探[J].計算機教育,2017(9):21-25.
[2]尚鮮連,曾海,宋雅娟,等.基于移動學習的線上線下混合式教學模式研究與實踐[J].教育教學論壇,2020(41):250-252.
[3]張煜昕.基于EasyX圖形庫的多線程繪圖應用[J].電腦知識與技術,2018(30):226-228.
[4]宋雅娟,邊晶.基于EasyX動畫案例開發(fā)導向的C語言程序設計課程教學方法研究[J].長春大學學報,2018(6):117-121,125.
[5]殷志堅,段曉磊.基于EasyX的俄羅斯方塊游戲的設計和分析[J].科技傳播,2015(21):145,165.
(編輯 姚 鑫)
Exploration on the construction of “Python” course teaching resources
under the flipped classroom mode
Song Yajuan
(School of? Computer Engineering , Suzhou Vocational University , Suzhou 215104, China)
Abstract:In the flipped classroom mode, in order to give full play to students’ initiative in learning “Python”, combined with students’ interest in graphics, animation and games, a series of teaching resources are designed and implemented by using the Turtle library for online learning.It is to explore a suitable way for active learning and autonomous learning.
Key words:“Python” teaching; graphic animation case; turtle library,
基金項目:江蘇省教育科學“十三五”規(guī)劃2020年度課題;項目名稱:“AI+教育”背景下智慧學習支持服務研究;項目編號:C-c/2020/03/19。蘇州市職業(yè)大學2020年校級重點教改項目;項目名稱:翻轉課堂模式下基于計算機游戲案例的“Python”語言教學改革與實踐;項目編號:SZDJG-20004。
作者簡介:宋雅娟(1974— ),女,吉林柳河人,副教授,博士;研究方向:計算機程序設計課程的教學及計算機軟件理論研究。