摘" 要" 新課標把計算思維納入信息技術課程的核心素養之中,并提倡項目式教學。本研究分析了項目式教學促進計算思維發展的可能性,在此基礎上構建了面向計算思維培養的項目式教學流程,以“while循環的應用實例——設計疫情下的‘自動售貨機’”為例,設計了項目式編程教學案例,旨在培養學生的計算思維態度和計算思維技能。
關鍵詞" 計算思維;項目式教學;信息技術
中圖分類號:G633.67" " 文獻標識碼:B
文章編號:1671-489X(2024)03-0048-04
0" 引言
隨著人工智能時代的來臨,計算思維逐漸成為學生個體核心能力的體現[1]。作為最具學科特色的計算思維在《普通高中信息技術課程標準(2017年版)》中被提出。可見,培養具備計算思維能力的學生是適應智能化時代發展的必然需求。目前我國有關計算思維的研究主要集中在高等教育階段,基礎教育階段的研究較為缺乏。
計算思維曾被稱為“算法思想”,能夠讓學生在算法實踐中鍛煉計算思維。隨著新課改的實施,Python因其具備簡單易學、免費、開源等特點,逐漸走入中學編程課堂中。編程教學注重培養學生的計算思維,單純依靠傳統的講授法教學模式難以達成教學目標,但是在一線教學中,許多教師由于編程教學經驗缺乏,在教授編程知識時,仍然采用講授演示法,過于關注編程語言本身的規則,未能采用新的教學模式將知識進行整合,同時缺乏對學生編程作品的評價,導致學生掌握的編程知識較為零散,且難以遷移運用。
在該背景下,作為一名高中信息技術教師,如何改善編程教學現狀,如何將計算思維的培養滲透到日常的編程教學中,是值得深入思考的問題。
1" 計算思維與項目式教學的融合
1.1" 計算思維
周以真教授認為計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動[2]。計算思維作為信息技術學科核心素養之一,是指學生創造性地利用計算機解決問題的能力,學生采用計算機科學的思維方式分析問題,對問題的解決過程進行抽象概括并形成方案,利用編程工具解決問題并能夠評估方案,最后將問題解決策略進行遷移運用。陳興治等[3]將計算思維劃分為計算思維態度和計算思維技能兩個維度,計算思維態度包括情感態度、思維品質和合作學習三個要素,計算思維技能包括分解、抽象、算法、評估和概括五個要素。
1.2" 項目式教學
新課標指出項目式教學是指學生在教師引導下發現問題,以解決問題為導向進行方案設計、新知學習、實踐探索,具有創新特質的學習活動。項目式教學一般包括七大過程,即設計項目、分組分工、制定計劃、探究協作、制作作品、匯報演示和總結評價[4]。
1.3" 項目式教學促進計算思維發展的可能性
編程教學重在培養學生的計算思維,使學生具備將生活算法轉化為計算機算法,將現實問題轉化為計算機問題的能力。傳統的以教師講解為主的灌輸式教學方式已經不能滿足當前編程教學的需求,學生難以將知識遷移運用。新課標提倡使用項目式教學,以學生為主體,將知識學習、技能提升與思維發展融入具體的活動中,在活動探究中發展學科核心素養。目前,眾多研究者在探索計算思維培養的有效途徑中采用項目式教學。如丁世強等[5]通過研究發現,項目式教學模式能夠有效提升學生的計算思維能力。可見,以學生為主體,注重實踐性的項目式教學,更有利于培養學生問題解決能力,提升學生計算思維。
2" 面向計算思維培養的高中Python項目式
教學案例
本研究以“while循環的應用實例——設計疫情下的‘自動售貨機’”一課為例進行了項目式教學設計,在此之前學生已經學習while循環的基礎知識,本節課是讓學生在具體問題中,理解break和continue語句的功能,結合while循環結構,編寫較為復雜的程序解決問題,進一步掌握while循環的使用。本項目由四個子項目構成,即任務一“分析自動售貨機的工作流程”、任務二“補充完成流程圖”、任務三“完善自動售貨機代碼”、任務四“編寫計算BMI值的小程序”,四項任務之間層層遞進,推動學生計算思維的發展,具體教學流程如圖1所示。
2.1" 創設情境,引出項目
傅騫[6]認為項目式教學中,項目是具有情境的。創設真實的教學情境能夠調動學生的學習興趣和學習動機,使學生專心地投入問題解決上。
【教師活動】1)播放顧客在自動售貨機購買商品的視頻,同時讓學生思考,自動售貨機給我們的生活提供了哪些便利?2)導入情境。疫情防控期間,如果讓你設計一款自動售貨機,你想用它售賣什么物品?3)引出主題。今天讓我們一起來探究自動售貨機的工作原理,設計一款自動售貨機吧。
【學生活動】1)觀看視頻并思考自動售貨機對我們生活提供的幫助。2)扮演情境中的角色,思考在疫情下,我會設計一臺怎樣的售貨機。
【設計意圖】雖然自動售貨機在生活中隨處可見,可是很少有學生會深入思考其背后的工作原理。教師以疫情環境為背景,讓學生以主人翁的角度去思考自己會設計一臺怎樣的售貨機服務于身邊人,調動學生使用Python創作自動售貨機程序的積極性,從而更好地參與到課堂中來。
2.2" 分析問題,探究新知
當項目主題確定后,教師要擔任提問者的角色,幫助學生將復雜的項目問題進行分解,設置具有啟發性的子問題,引導學生思考,組織學生進行小組合作,運用已有經驗和新知識解決問題。
【教師活動】1)設置啟發性問題。問題1:自動售貨機正常工作一般包括幾個過程?問題2:在編程中,為了方便顧客選擇商品,我們應該對商品進行什么操作?問題3:顧客選擇商品后,如何根據顧客選擇的商品確定單價?可以使用程序中什么結構進行判斷?問題4:如果顧客要繼續購買商品,怎么辦?應該使用程序中哪種結構實現?如果顧客不繼續購買商品,怎么辦?2)小結。從初始化、輸入、循環終止條件和輸出四個方面明確自動售貨機程序的工作流程。
【學生活動】1)依據已有經驗,思考教師提出的問題并回答。2)根據教師講解,厘清程序中自動售貨機的工作流程。
【教師活動】1)布置任務一,提供資源,要求學生自主探究循環控制語句的使用。2)小組依據學習任務單,完成任務一中的兩個活動,“活動1確定自動售貨機出售的貨物”見表1和“活動2分析自動售貨機工作流程”見表2,要求活動2從兩種方案中任選其一,方案一“while+條件”、方案二“while True+break”,用自然語言梳理在自動售貨機購買商品的流程。3)請小組展示并點評,提煉知識點,指出兩種方案不同之處。
【學生活動】1)根據學習資源,理解break和continue語句。2)依據學習任務單,小組討論確定五款售賣的商品及其單價,分析顧客通過自動售貨機購買商品的流程。3)小組展示任務完成情況。
設計意圖:通過分解問題,引導學生思考編程中自動售貨機的工作流程,明確自然語言與編程語言的對應關系,學生初步判斷該程序的編寫需要對商品進行編碼,還要使用while循環和多分支結構。學生通過自主探究掌握break和continue語句的使用,然后以合作學習的方式完成任務一,確定了要售賣的商品并使用自然語言厘清自動售貨機的工作流程,培養學生的合作學習能力和問題分解能力。
2.3" 設計算法,制定方案
經過分析問題環節后,學生基本理解了自動售貨機程序的編寫思路。接下來教師要擔任引導者的角色,引導學生運用流程圖概括問題解決流程,抽象出問題本質,歸納出問題的解決方案。教師在該過程中起觀察和指導作用,為學生提供學習支持。
【教師活動】1)布置任務二,讓學生依據選擇的方案,獨立將對應的自動售貨機流程圖補充完整,然后組內交流。2)請學生展示流程圖,教師點評。
【學生活動】1)完成流程圖并與組員相互交流。2)展示作品。
【設計意圖】通過獨立探究和小組合作,教師引導學生正確建立流程圖,初步形成問題解決方案,培養學生的抽象思維以及合作學習能力。教師點評小組方案,指出解決問題的算法并不唯一,讓學生敢于發散思維,鼓勵學生優化算法解決問題。
2.4" 編程實踐,解決問題
在該環節,學生要驗證小組設計的方案,借助python語言將其轉換成計算機可以理解的方式,并調試運行直至問題解決。教師在該階段主要擔任觀察者的角色,發現個性問題,要啟發學生思考,鼓勵學生自主解決問題,發現共性問題,可進行集中講解,鼓勵學生最終完成作品的創作。
【教師活動】1)布置任務。讓學生根據流程圖將對應代碼補充完整并調試運行,制作自動售貨機的Python程序。2)觀察、指導學生完成程序編寫。
【學生活動】1)完善半成品代碼,如圖2、圖3,并調試運行。2)尋求教師或者組員的幫助。
【設計意圖】為了降低學習難度,教師采用半成品策略,學生可以讀注釋語句將程序補充完整并調試運行直至成功,學生也可以在此基礎上進行更優化的創作。通過實踐操作,幫助學生內化編程知識,培養學生算法思維能力和評估能力。
2.5" 展示交流,優化算法
此階段教師要為學生提供分享交流的機會,讓小組之間互相學習,體會不同的問題解決思路,開拓思維。本研究參考楊帆[7]的學生課堂計算思維評價,設計了計算思維評價表,見表3。教師要擔任評估者的角色,點評小組作品,同時引導學生進行組間評價,注重學生的過程性成長。
【教師活動】1)請小組派代表展示作品,分享編寫自動售貨機程序過程中遇到的困難以及如何解決該困難。2)教師點評小組作品,組織學生進行評價。3)教師針對共性問題進行集中講解,總結該項目中的知識點,讓學生嘗試換另外一種方案解決該問題。
【學生活動】1)學生展示自動售貨機編程作品,并分享制作過程中的困難點和體會。2)根據評價表對小組進行評價。3)學習他人優秀之處,對自己編程作品進行優化。
【設計意圖】展示與評價是一個重要的教學環節。通過表述作品的設計思路,能夠提高學生的概括能力。通過評價,讓學生了解他人的思路,學習他人的優點,反思自己,從而使自己的作品更加完善。在不斷優化程序過程中,深化對while循環和循環控制語句的理解,培養學生評估思維能力。
2.6" 遷移運用,項目總結
在項目遷移環節,教師設計新任務,促進學生將解決問題的方法遷移到新的情境中。有效的總結能夠起到事半功倍的效果,最后教師歸納本項目中的知識點,引導學生進行項目學習反思。
【教師活動】1)在疫情防控期間,大家居家學習的同時也不要忘了關注自己和家人的身體健康。請你設計一個體重指數計算程序,要求該程序能夠實現對多人進行體重指數的等級判斷。2)發布在線問卷,讓學生進行自評,自評表參考表3。3)梳理知識點,進行項目總結。
【學生活動】1)參考學習資料理解體重指數的概念,將代碼補充完整并成功運行。2)根據自己實際情況,對本節課的學習進行自我評價。3)認真聽講,反思學習過程,完善知識結構。
【設計意圖】教師設計新任務,學生需要對之前問題解決的過程進行回憶并反思,在此基礎上通過編寫體重指數程序,進一步深化對while循環的理解,進而快速編寫出程序,提升概括思維,培養學生遷移能力。
3" 結束語
本研究將項目式教學引入編程教學中,以培養學生計算思維為目標,構建了基于計算思維培養的項目式教學流程。將編程知識點融入項目的各個活動當中,打破了以往教師傳授為主的教學思路,學生依托學習任務單和問題引導,通過自主探究和小組合作能夠更深刻理解while循環、break等語句的內涵,體會用計算機解決問題的過程。實踐發現,采用項目式教學更能夠調動起學生對編程語言的學習興趣,學生在編程中表現出豐富的創造力,有助于提升學生的計算思維。計算思維的培養是一個長期的過程,作為一線教師,應當在實踐中多積累項目式教學的實踐經驗,提升項目式教學能力,真正讓課堂教學走向學習的本質。
4" 參考文獻
[1] 尹以晴,李寧宇,柳晨晨,等.人工智能時代計算思維培養的七種教學策略[J].中小學數字化教學,2021(4):23-27.
[2] 李廉.計算思維:概念與挑戰[J].中國大學教學,2012(1):7-12.
[3] 陳興冶,馬穎瑩.本土化計算思維評價指標體系的構建與探索:基于1410名高中生的樣本分析與驗證[J].遠程教育雜志,2020,38(5):70-80.
[4] 嚴寒冰.信息化教學評價:量規實用工具[M].北京:教育科學出版社,2003:39.
[5] 丁世強,王平升,趙可云,等.面向計算思維能力發展的項目式教學研究[J].現代教育技術,2020,30(9):49-55.
[6] 傅騫,王鈺茹.面向計算思維培養的編程教學研究:以高中生Python編程教學為例[J].創新人才教育,2019(3):47-54.
[7] 楊帆.計算思維視角下的初中信息技術Python編程教學設計與實踐研究[D].山東:曲阜師范大學,2021.