【摘要】對小學信息技術編程教學而言,近幾年關于要改革的呼聲很高,在“教什么”“怎么教”等方面理論思辨也較多,但缺乏充分的實踐論證。本文探討了利用“主題式編程教學”的方式促進小學生計算思維提升的可行性,這并非推翻原有編程知識體系,而是變革知識和方法在教學中呈現的方式,促進學生認知和問題解決能力的提升,從而達到提升學生計算思維的目的。
【關鍵詞】主題式編程? 計算思維? 實踐研究? 小學生
【課題項目】本文系福建省教育科學“十三五”規劃2020年度立項課題“基于計算思維培養的小學編程校本課程建設研究”(課題編號:FJJKXB20-534)的研究成果。
【中圖分類號】G623.58 ? 【文獻標識碼】A 【文章編號】2095-3089(2022)03-0058-03
對于小學信息技術課程而言,“計算思維”是信息技術四大學科核心素養中最能體現“計算機科學思維過程”的一種素養。資料顯示,國內對計算思維的研究起步較晚,在小學階段主要以信息技術“編程課或編程社團”的途徑來培養。不少專家、教師已經探究出信息技術課程培養學生計算思維的教學模式及方法,然而遺憾的是,許多編程課程仍將教學重心聚焦于編程技能本身,這從某種程度上縮小了計算思維的研究廣度;不少教師把課堂上學生能力的培養簡化為“步驟學習”和“技術操練”,不能給予學生發展思維的空間,長此以往,導致學生缺乏靈活的問題求解思維。筆者經過實踐探究發現,將編程以“主題式教學”的方式引入小學課堂,對提升小學生計算思維、豐富小學信息技術課程體系是一種有價值的探究嘗試。并在教學實踐中摸索出主題式編程教學的五個步驟,即:確定主題—分析問題—設計方案—編程實踐—評價反思。
一、確定主題:聚焦學科育人目標,問題引領有的放矢
美國卡內基·梅隆大學計算機科學系主任周以真教授指出:“計算思維是以一種計算機或人或機器能夠有效地執行的方式來表征問題、表達解決方案的一種思維過程。”2017版《普通高中信息技術課程標準》中也提到:計算思維是個體在運用計算機科學領域的思想方法,在形成問題解決方案的過程中產生的一系列思維活動。
本文所關注的“主題式編程教學”指的是創設基于學生認知領域的真實情境,以“計算機編程教學”為載體,建立與教學主題相關的各教學要素之間的聯系,發揮各教學要素最大效能,以編程作品為最終呈現的教學模式。那么,主題式教學如何對學生計算思維的提高產生影響?筆者認為,實施主題式教學首先應該聚焦學科育人目標。而學科育人目標的落地,需要具體的教學內容作為載體。目前市面上能找到的編程教材仍然沿襲了軟件教學的思維習慣,基本上是按照“知識點”的方式來呈現,操作性的傾向比較明顯,未能很好地體現培養計算思維的目標。因此,基于計算思維教育的信息技術課堂教學,就要求教師梳理出適合本校校情的具體教學內容,并將其作為學生學習的內在線索,引導學生在完成教學任務的過程中反復親歷思維的全過程,主題式編程教學能較好地實現這一目標。
基于計算思維的教學原則,需要兼顧教學方法和教學內容,教學過程中的問題設計尤其重要。以筆者教學實踐中“計算機編程畫分形圖”這個主題為例展開分析,可以看出,分形圖看上去是不規則圖形,但本質是以“某一種基本形狀”通過邊長、直徑、大小、位置等改變而形成的一種有規律的復雜圖形,其最大特點是“復雜但有規律”。因此,要首先讓學生基于情境提出問題,并明確問題的對象——分形圖。這個主題的研究可以分為這樣幾個課時展開:《編程貓畫多邊形》《圍繞中心點盛開的花》《編程貓的花花世界》《千變萬化的分形圖》《“潮”服紋樣我設計》。通過圍繞同個主題開展編程教學,改變了目前某些編程教材模塊零散的教學方式,讓學生在主題學習中既能掌握基本編程技巧,又能對這個研究主題有更深度的學習和感知。
二、分析問題:提升任務分解能力,突破困難循序漸進
在信息技術編程教學中,教師通常過于強調程序代碼的編寫和編程效果的實現,從而忽略了問題解決中蘊含的計算思維過程與方法的指導,而這恰恰是計算思維培養的關鍵所在。計算思維本質上是一個解決問題的過程,這個過程中需要利用計算機來設計解決方案,這個過程在拖動第一個指令塊的時候就已經開始了。筆者在教育教學實踐中發現,要想將編程教學從“操作層面”提升至“思維和理解層面”,學生“任務分解能力”的培養不容忽視。“任務分解”本質上是一種化繁為簡的能力,其基本思路是:用簡單方法梳理出復雜問題內部的邏輯主線,把“解決復雜問題”轉化為“解決規模小的相似問題”作為突破口,利用解決小問題,逐步達到解決復雜問題的目的。
以“計算機編程實現角色移動”這個主題為例,編程角色的移動可以分為相對移動、絕對移動、跟隨鼠標移動、光標控制鍵控制移動、循環移動、在區域面積內隨機移動等多種情況,對學生來說是比較復雜的情況。編程初學者的學習需要一個循序漸進的過程,教師可以利用“分解任務”的思路為其打開解決問題的關鍵。這個角色的移動有沒有條件?這個角色的移動是否跟其他角色產生聯系?是無限運動還是可停止的運動?如果可停止,移動停止的條件是什么?……在這些問題的引導下,學生逐步深入思考,逐步理解角色移動的各種可能,這樣分析問題的過程充分培養和展現了學生的思維過程。這個主題的研究可以分為這樣幾個課時展開:《下雨了》一課,實現“雨滴角色”在區域面積內隨機出現又從天而降的效果;《垃圾分類我能行》一課,實現光標控制“垃圾角色”實現垃圾分類的效果;《清理海洋垃圾》一課,實現“海洋垃圾角色”在區域范圍內隨機移動的效果;《太空垃圾清理衛星》一課,實現“太空垃圾”在軌道內循環移動的效果。通過圍繞“角色移動”這個知識點在各個編程內容之間建立聯系,各教學要素之間相互支持、共同協作,并滲透開展生態環保教育。對學生而言,他們在形成問題解決方案的過程中像科學家一樣思考,在解決問題過程中結合信息技術開展綜合性的實踐活動,從而實現提升計算思維的最終目標。
三、設計方案:鍛造創新創造能力,循循善誘解決問題
通過提出問題、分析問題、設計方案的過程,每個學生都有機會成為發現者、創造者。筆者嘗試實施的“主題式編程教學”則有助于學生高階創新能力的提高,為學生“在較為復雜的情境中提升計算思維”提供了有利條件。可見,計算思維并不是少數“聰明孩子”才有的思維。現在常用的圖形化編程軟件采用直接拼搭的方式,直觀地構建出程序的各種界面和邏輯,過去那種談“編程色變”的時代已經過去,計算思維的培養也已面向全體學生,不再是那些能靜下心學傳統編程的孩子的特權。這就體現在計算思維的培養中很重要的一個環節——方案設計。
經過實踐探究,“忽視方案設計合理性和可行性”以及“總是想當然著急解決問題”的學生,往往事倍功半,花了大量時間著手編寫程序,到頭來一遍又一遍推翻重來,沒有針對性又花費了大量的時間。筆者在二次創作課時中以“提供腳手架、創意支持”的形式幫助學生優化自己所設計的問題解決方案,助力學生創造性思維的培養。在前一節課學生創作的基礎上,適時拔高與引導,借鑒頭腦風暴、小組研討、思維導圖等合作學習方式,發展學生發散性思維,這對學生而言是一個綜合運用與知識深度加工的階段。這樣兩類進階課程循環往復,學生既筑牢了基礎知識,又發展了計算思維。
四、編程實踐:涵養計算思維觀念,學科滲透由此及彼
經歷了前面幾個環節后,學生開始進入完成編程作品的核心環節——編程實踐。在編程教學中,教學目標片面化、任務之間缺乏關聯性、教育評價一帶而過、小組合作淺嘗輒止等問題容易造成學生看似掌握了編程基本操作,實則缺乏探究發現過程的現象。長期缺乏思維指導的學習經歷,將使學生的思維局限于課堂所學知識范圍內,很難做到靈活運用、舉一反三,這不利于信息技術學科核心素養強調的計算思維的培養。在編程教學中滲透計算機科學相關知識,學生比較容易理解計算機有序執行(即自動化)的實施過程,同時也能從程序的編制、調試、運行過程感受從感性到理性、從具體到抽象,最后又從理性回到感性,從抽象回到具體進行檢驗的過程,并最終達到運用編程解決問題的目的。強調“面向全班”的主題式編程教學要比強調“面向社團學生”的教學更注重“整合”,整合內容與形式,整合分散的知識點,以求在分層教學中讓不同程度的學生的計算思維均能得以提升。
在實踐中筆者發現,要想幫助學生形成計算思維觀念,就得關注學生“將思考與計劃付諸實踐”的過程,得有意識地引導學生在一組組代碼塊(順序、循環、事件、并行、條件、運算符和數據)的幫助下,通過編寫程序進行思考和學習,并在這個過程中學會如何解決問題。因為程序設計過程有傳統的模式和限定的知識點,教師容易教,學生容易模仿。和“程序設計”相比,“程序調試”出現的問題是生成性、因生而異的,“程序調試”也比“程序設計”需要更多的思維能力。計算思維在程序調試過程中通常有很好的體現。除此之外,教師還能利用編程評價,通過“表達、聯系、質疑”三個層面來審視學生計算思維觀念的養成情況。其中,“表達”指將解決問題的過程形成計劃,并用代碼明確地逐步呈現出來的能力;而“質疑”則更多地體現在“試驗與調試”階段,一個程序的完成需要經歷反復“編程—調試—再編程—再調試”的過程。一個優秀的程序編寫者通常會花費更多時間來“調試”,而不是“編寫”,這是教師需要幫助學生在計算實踐過程形成的意識和能力。
五、評價反思:形成計算思維習慣,遷移應用“節外生枝”
編程作品的完成,并不意味著階段學習的結束。教師通過直觀性教學原則的貫徹和前面幾個教學環節的落實,讓學生認識到編程作品背后的計算思維思想和方法,了解編程學習的發展和應用對人類日常生活和科學技術的深刻影響。如果學生還能進一步從感性認識上升到理性認識,在日后的學習中能合理、合法地運用編程技能,這就達到了思維層次躍升的教學目標。而這一步目標的實現,離不開編程實踐后對教學過程的評價和反思。重視評價反思的教師,將從課堂教學中收獲“節外生枝”的喜悅。
在教學實踐中,學生計算思維發展程度的評價是研究的難點。學生的計算思維能力存在不同程度的不平等,在同一個層面上分析和評價學生計算思維的變化,其結果將產生一定程度的誤差。筆者曾經嘗試“實驗前測”和“后測作品”的方式對學生進行教學評價。在開展前測量表時,利用信息技術教室“極域教室多媒體軟件”向同個班級學生發布問卷,并收集自動生成的統計結果,初步了解該班級學生計算思維初始情況。經過測試可以發現,樣本班學生原有計算思維水平基本一致。以學期或學年為單位,學生經過主題式編程教學的學習,具備了一定能力的計算思維能力后,再通過“后測作品”的方式展開測試。經過實踐和觀察,大部分學生一開始試圖用已有知識去解釋和編寫后測作品,結果不少學生抱怨“老師沒教過”或“從來沒學過”,而不習慣從現有題目中發現規律。經過對學生完成過程和最終作品的查閱和分析可以發現,實施主題式編程教學班級的學生更主動開展整體策劃,思考問題、解決問題的能力更強,基本完成問題解決的學生比例較高。然而,更成熟的教學模式和評價體系的建立還需要通過大量實踐和長期探索來實現,這對一線信息技術教師而言是一項長久而艱巨的任務。
主題式編程教學緊扣計算思維培養的教學要求:以主題式教學為任務,以問題解決為過程,從知識的本質理解技術原理,教會學生合理使用技術、用概念圖、流程圖等工具把思維過程可視化,并能遷移應用計算思維解決實際問題,幫助學生形成像計算機科學家那樣的思維方式。我們的學生未來將“征戰”廣闊的世界舞臺,他們更應該熱心于計算思維的學習和應用。路漫漫其修遠兮,吾將上下而求索。
參考文獻:
[1]張加莎,劉菁.中小學信息技術課程中計算思維研究現狀分析[J].中國信息技術教育,2017(12):43-45.
[2]董慧珍.計算思維對小學信息技術課的影響與啟示[J].科教導刊,2018(9):122-124.
[3]梁永輝.Scratch程序設計教學中培養小學生計算思維的研究[J].教育信息技術,2018(12):83-86.
[4]陳紫凌.問題解決與Scratch主題探究研究綜述[J].教育信息技術,2014(11):71-74.
作者簡介:
陳燕彬(1988年8月-),女,福建廈門人,廈門市集美區園博學校一級教師,學士學位,研究方向:小學信息技術教育教學。