吳帆 江蘇省南京市雨花臺區實驗小學善水灣分校
計算思維是提升學生核心素養的一種重要途徑,怎樣才能夠既發展學生的知識技能,又將這種思維的方式傳遞給學生?這就需要尋找計算思維的培養點。筆者認為可以將抽象的計算思維的概念融合到運用xDing編程軟件設計趣味游戲的過程中,將任務分解、算法多樣化、程序化等計算思維的思想滲入到教學的各個環節中,采用適當的反饋方式,推動教學進程的發展,促成學生計算思維的形成與呈現。
“同學們,‘幸運大抽獎’在生活中隨處可見,今天吳老師把這個游戲帶到了課堂上,有哪位同學想來嘗試一下?獎品真實有效,百分百中獎!”筆者的話音剛落,孩子們一陣歡呼,紛紛舉起了小手。兩位學生被隨機選中,從“幸運大轉盤”開始轉動到停止,全班學生都全神貫注,想看看究竟能獲得什么獎品。兩輪游戲結束,“幸運同學”如愿以償地拿到了小獎品,其他學生的臉上寫滿了“羨慕”……筆者順勢說道:“其實這樣的小游戲,我們自己也可以設計!本節課我們就來學習xDing游戲設計之《幸運大轉盤》!”
案例分析:本節課伊始,沒有直入主題,而是讓學生親身體驗,充當“幸運同學”感受游戲的樂趣。學生的學習興趣和積極性被極大地調動起來,這便是一堂課精彩的開始。正是因為“幸運大抽獎”游戲本身的吸引力,所有的學生都能細致入微地去觀察,去感知,知曉游戲的界面,明確游戲的規則。當然,如果條件允許,可以讓全體學生都有“玩一玩”的體驗,為后面的需求分析和游戲設計奠定良好的基礎。
“現在,我們已經確定了本節課游戲設計的主題,接下來應該做什么呢?”筆者提問。學生們陷入了沉思,一位學生主動舉手:“我覺得就是開始制作了!”我問他:“那你想好怎么做了嗎?”他回答:“大概吧!”我對學生們說:“既然要化身為游戲設計師,在設計之前就應該理清思路,所以我們需要先學會先分析!”筆者向學生明確了接下來的需求分析任務,并通過PPT課件給出了一張分析表,要求學生思考游戲中需要的對象,并分析對象的行為動作。學生一邊回憶之前觀察的“幸運大轉盤”抽獎游戲的界面和效果,一邊分析討論,很快有了結果。筆者繼續提問:“這里的對象,對應在xDing軟件中需要添加的……?”“角色!”學生們齊聲答道。“接下來,就請大家動手實踐,為游戲添加角色。”我說,在學生演示角色添加和修改大小的方法后,筆者繼續引導其思考:“接下來是搭建腳本,根據剛才的動作分析,你能找到對應的腳本控件嗎?”教室里一片寂靜,我知道不少學生心里在打鼓,于是話題一轉:“沒關系,我們再來把角色的動作細化梳理一下。”于是,筆者和學生一起分析,完成了游戲設計的流程圖。
案例分析:學習編程的突破點在于學會分析、理清思路。在上述的案例片段中,沒有讓學生在體驗游戲后直接進入制作環節,而是讓學生對游戲中的對象和動作進行分析。這樣的分析學生能接受也是需要的,無論是表格的形式還是流程圖的形式,都能幫助學生梳理設計的思路,知道問題解決的初步流程。這看似占用了一些課堂時間,但在此基礎上再進行腳本搭建能達到事半功倍的效果。
在xDing游戲設計的學習中,教學目標的定位不是讓學生掌握更多的指令,能制作難度多大的游戲作品,而是讓學生在參與游戲創作的過程中培養分析問題和解決問題的能力。因此在游戲設計時,對難度偏高的項目要“瘦身”,要“分解”,對于學生可能遇到的困難,教師要為學生提供相應的輔助方法,初步培養學生的算法意識。
根據流程圖的思路分析,筆者繼續引導學生進行腳本搭建。先請學生思考并探究任務一:如何讓指針圍繞轉盤中心旋轉?本以為讓指針旋轉基本難不倒學生們,誰知不少學生的指針并沒有圍繞轉盤的中心點旋轉。于是,筆者請已經完成任務的學生講解解決問題的原理——設置角色的造型中心。接著,筆者布置了第二個任務:如何讓指針停下來?不少學生都順利完成了此任務。然后,筆者提出第三個任務:如何讓指針識別獎品?經過自主探究后,大部分學生都知道了通過“如果…那么”“碰到…”等控件來實現“指針識別獎品”的功能。于是,筆者讓先完成的學生操作演示,同時讓學生閱讀腳本,理解腳本的含義,知道腳本搭建的過程。之后,筆者又提醒學生仔細觀察,轉盤游戲真的是靠運氣嗎?學生經過觀察,明白了旋轉指針的次數是固定的,完全有規律可循。這個問題又該如何解決?不少學生都發現了通過設置隨機數讓指針隨機旋轉的方法。“還有其他方法嗎?”筆者追問道。“還可以通過按下空格鍵暫停的方式,讓指針隨機停止。”有學生舉手說道。在一片討論聲中,問題迎刃而解。在接下來的時間里,筆者讓學生繼續頭腦風暴,在現有作品的基礎上添加創意,升級作品。
案例分析:雖然事先采取自頂向下逐步細化設計各模塊功能,但在實際編程過程中仍會出現一些新問題,問題會在編程的整個過程中多次發生,直到問題被解決。計算思維處理問題的一種策略就是將龐雜的任務分解為更小的、易于管理的部分。本節課設計的游戲并不復雜,但對于學生來說,用腳本控件來實現游戲功能還是個籠統、模糊的概念,他們不知如何入手。所以筆者將問題細化為:①如何讓指針旋轉?②如何圍繞中心點旋轉?③指針如何停止?④指針如何識別獎品?⑤指針如何隨機旋轉?⑥如何創意升級你的作品?這樣的任務分解能夠減小任務難度,也能使學生明確任務,從而引導學生有的放矢,有效開展自主探究,讓學生在發現問題、分解問題的過程中逐步形成解決問題方案。在此過程中,學生既學會了游戲設計的整體解決方案,又應用所學概念、知識解決了特定情境的問題,計算思維的培養真實可見。
當然,計算思維不僅體現在編程作品的設計和制作中,還體現在學生敘述問題的言語、生生互動時的思維碰撞、學生介紹作品時的經驗與總結、學生對游戲設計的創意升級等方面。計算思維是潛移默化地滲透在任務完成的整個過程中的,每位學生吸收的程度都不一樣,所以需要豐富多樣的實踐活動,來逐步提升他們的計算思維能力。隨著計算思維能力的提升,學生腦海中印下的不僅是知識和技能,更是一種思維重構的思想,這對他們未來的學習和生活都會有深遠的影響。
學生計算思維的培養是一個漫長的過程,教師只有在教學設計時融入計算思維,不斷地改善自己的教學策略,在關注學生信息技術知識與技能學習的同時,明確信息技術思想方法的本質特征,讓學生在自主、協作、交流、分享的過程中促進計算思維的發展,才能讓“計算思維”在信息技術教學中落地生根。