張靜潔 裘國永
摘 要 隨著人工智能的日益普及,學習編程的重要性逐漸顯露。初中編程教學長期以來使用Visual Basic教學,對于這種文本編程方式,學生在學習過程中容易覺得枯燥乏味,因為對編程的學習只學習語法而不理解編程的邏輯結構。加之Visual Basic這種文本編程方式在編程的過程中程序易出錯,容易挫傷中學生的學習積極性。而圖形化編程使用圖形界面,沒有難以理解的代碼,取而代之的是圖形模塊的簡單拼接,這就大大降低了編程過程中代碼出錯的可能性。另外圖形化編程簡單易學,適合編程基礎弱的初中學生,他們可以很容易喜歡上編程。
關鍵詞 圖形化編程 程序設計 游戲化教學
中圖分類號:G424 文獻標識碼:A DOI:10.16400/j.cnki.kjdkx.2018.03.050
Graphical Programming Used in the Teaching of Junior High School Program Design
ZHANG Jingjie, QIU Guoyong
(College of Computer Science, Shaanxi Normal University Xi'an Shaanxi 710119)
Abstract With the increasing popularity of artificial intelligence, the importance of learning programming has gradually emerged. Programming teaching in junior middle school has been using Visual Basic for a long time. For this way of text programming, students may feel bored in the learning process, because programming learning only learns grammar, but does not understand the logic structure of programming. In addition, the text programming method of Visual Basic is easy to make mistakes in the process of programming, and it is easy to contuse the learning enthusiasm of middle school students. Graphical programming, using graphical interfaces, has no hard to understand code, instead of simple splicing of graphics modules, which greatly reduces the possibility of code errors in programming. In addition, graphical programming is simple and easy to learn. It is suitable for junior middle school students with weak programming base. They can easily enjoy programming.
Keywords graphic programming; programming design; game teaching
fr
3 圖形化編程在初中程序設計課程中的實現(xiàn)
初中學生掌握的程序設計基礎比較薄弱,程序設計的思想以及語言對于初中學生來說很抽象,并且缺乏編實踐工具對初中學生來說難以在短時間內掌握,加上代碼難以理解,學習起來枯燥乏味,長此以往容易打擊學生學習編程的信心。[6]另一方面,初中學生對新鮮事物存在一定的好奇心,對未接觸過的軟件有很大的興趣。大部分學生對編寫程序,設計游戲有濃厚的興趣,因此圖形化編程方式更容易被學生接受,也更容易在初中程序設計課堂上開展。
前期的課程中學生已經對圖形化編程平臺Code.org有了初步的了解,這個課時主要是學習循環(huán)結構的應用,利用重復模塊畫出不同的圖案,前期學生已經對基本模塊例如向前移動模塊、向左轉向右轉模塊、設置顏色模塊的使用以及參數(shù)的設定的有了基本的掌握,為下一步循環(huán)結構的學習打下來良好的基礎?,F(xiàn)以循環(huán)結構的學習為例,對圖形化編程應用于程序設計課程的實現(xiàn)做簡單的敘述。
3.1 任務驅動、創(chuàng)設情境
演示作品,激發(fā)學生的興趣;首先展示已完成的“小藝術家游戲”作品,激發(fā)學生興趣。進而提問學生想不想自己利用編程畫出一幅自己的作品。進入本節(jié)課的學習。
3.2 引導學生,獲取新知
首先引導學生先畫出簡單的圖形:畫一個三角形。引導學生畫一個三角形的步驟:首先確定三角形的邊長,如單位為100。畫長度為100的線段——轉120啊ざ任?00的線段——轉120啊ざ任?00的線段——轉120?。?/p>
教師提示:如何用程序語句表示出上述畫一個三角形的步驟?畫線段即向前移動,可以用向前移動模塊來表示,轉120翱梢雜孟蠐一螄蜃笞?槔幢硎盡A磽馓崾狙由舷嚶Φ牟問D敲椿桓鋈切蔚牟街榪梢員硎疚蚯耙貧?00像素——向右轉120啊蚯耙貧?00像素——向右轉120啊蚯耙貧?00像素——向右轉120???
3.3 教師引導、學生實踐探索
教師提問:大家練習之后發(fā)現(xiàn)這個程序簡單來說是向前移動100像素和向右轉120傲礁瞿?櫓馗詞褂昧?次,共使用了6個模塊。如果需要畫一個重復100次、1000次的圖怎么做呢?有沒有簡單的方法?這就是這節(jié)課要學習的程序三大基本模塊之一的循環(huán)模塊。
3.4 學習新知:循環(huán)模塊
當需要重復執(zhí)行某個模塊或某些模塊若干次時,可以使用循環(huán)模塊即重復次模塊來簡化模塊數(shù)。如圖2、圖3所示。
3.5 總結使用重復模塊畫一個三角形的步驟
(1)添加 重復模塊,并填寫循環(huán)次數(shù)3次。
(2)在循環(huán)模塊內添加向前移動模塊,并填寫參數(shù)100。
(3)在循環(huán)模塊內添加向右轉模塊并填寫旋轉度數(shù)120啊?
(4)設置顏色模塊,可以選擇具體的顏色,也可以設置隨機顏色,注意設置顏色模塊放置的位置不同,畫出來的圖案顏色也不同,請學生分別操作不同的情況。
3.6 循環(huán)的嵌套
教師提出問題,引導學生小組合作討論如何畫一朵簡易的花,即由10個三角形組成的簡易花,展示給學生,學生自主操作小組內討論,提示可以使用這節(jié)課學過的循環(huán)模塊。
學生操作練習使用兩個循環(huán)模塊來畫目標圖形,發(fā)現(xiàn)并沒有畫出教師展示的圖案。教師答疑:注意,在使用兩個循環(huán)模塊畫圖時程序跳出內循環(huán)之后畫第二個圖形之前要使小畫家旋轉一定的度數(shù),否則后面的圖形都覆蓋在第一個圖形的軌跡上,看起來就像是畫了一個圖形。
最后學生通過學習以及實踐畫出來使用兩個循環(huán)模塊畫出的圖形如圖4。
4 教學反思
本節(jié)課的內容是圖形化編程的循環(huán)控制內容,與單一的使用向前移動模塊、向右轉模塊相比難度有提升,在教學過程中采用情境導入,任務驅動法導入,激發(fā)學生學習的好奇心和興趣,首先指引學生練習使用單一的移動和旋轉模塊繪制三角形,繼而在問題的驅動下引出循環(huán)模塊的作用以及循環(huán)模塊相較于多次使用向前移動、旋轉模塊的優(yōu)點。通過小藝術家的游戲,提升學生思維能力,例如畫不同的圖形轉向的度數(shù)不同,當使用兩個循環(huán)時畫第二個圖形之前也要先思考應該添加向左(右)轉模塊或者向前移動模塊才能畫出不一樣的圖形,否則重復循環(huán)模塊畫的幾個圖形會重疊在一起。另外,模塊放在循環(huán)結構內和循環(huán)結構外畫出來的結果也不一樣,因此要引導學生多思考多練習,通過由簡單圖形通過改變參數(shù)可以轉為復雜的圖形,從三角形的畫法到正方形的畫法,到圓的畫法,從一個圖形的畫法到重復多次的畫法,引導學生開拓思維,完成自己想象的各種圖案。
5 結束語
研究表明,將圖形化編程平臺應用于程序設計課堂教學,大部分學生能夠熟練運用各種模塊編寫互動游戲、圖畫、動畫等作品,很大程度上激發(fā)了學生對程序設計的學習興趣,提升了學生的邏輯思維能力和語言學習能力;培養(yǎng)了學生對生活的觀察和理解能力,同時學會與人溝通、合作學習,増強了學生學習編程的信心,結合教學實踐,筆者總結了圖形化編程的教學設計中應注重的兩個方面:
(1)注重任務的趣味性。一個能引起學生興趣的情境是初中編程教學中任務設計的基本前提。學生對于學習的興趣通常來自生活實踐;因此教師在設置教學情境時要注意貼合學生的生活實際,學生才能產生共鳴,以使得教學任務順利開展下去。另外在學習過程中教師要多設問,引發(fā)學生思考。例如一個需要重復多次使用的幾個模塊,教師提出怎樣才能使程序盡可能簡潔,會讓學生產生探究的濃厚興趣,從而引出“循環(huán)結構”的教學內容。在設計任務時,應當恰當?shù)睦煤眠@些 “興趣點”,讓學生在快樂的學習氛圍中主動參與學習活動。
(2)復雜的任務要細化。學習的過程是一個從無到有逐步積累的過程。在實際教學時一次性讓學生完成一個相對復雜的任務是不現(xiàn)實的。因此,教師在設計任務時要針對學生的實際能力,將一個復雜的任務細化為若干個小任務,先完成小任務,再完成大任務。這樣通過知識的層層遞進可以使學生更容易理解教學內容,降低學習難度,有利于促進程序設計課堂取得更好的效果。
參考文獻
[1] 教育部.中小學信息技術課程指導綱要(試行)[EB/OL].http://www.edu.cn/
20020327/3023657.shtml[2015-08-10].
[2] 周麗.基于圖形化編程的高中算法教學研究[D].上海師范大學,2008.
[3] 劉芳芳.圖形化編程工具輔助程序設計學習[J].中國教育技術裝備,2009(30):126-128.
[4] 路敏.游戲化教學在初中信息技術課堂中的應用研究[D].南京師范大學,2011.
[5] 馬宗輝.解析基礎編程工具在初中信息技術教學中的應用[J].中國教育技術裝備,2017(7):14-15.
[6] 高淑印.基礎教育算法與程序設計模塊內容標準解讀[J].中國電化教育,2012(10):33-36.