瞿榮
摘要:《普通高中信息技術課程標準(2017年版)》設定了新內(nèi)容,提出了新要求,面向計算思維的高中Python編程教學成為高中信息技術教學的主要陣地。作者提出,高中Python編程教學要著力培養(yǎng)學生的計算思維,Python編程項目式學習設計要基于單元進行學習內(nèi)容分析和目標設計,要源于生活進行主題選擇,要讓學生經(jīng)歷問題解決的過程。
關鍵詞:計算思維;項目式學習;Python
中圖分類號:G434? 文獻標識碼:A? 論文編號:1674-2117(2022)14-0041-03
《普通高中信息技術課程標準(2017版)》頒布以后,高中信息技術教學從以往偏重信息技術操作技能訓練走向了注重學生學科核心素養(yǎng)培養(yǎng)。在高中信息技術學科核心素養(yǎng)中,計算思維是其中的關鍵能力,因此,高中信息技術教材普遍使用Python編程語言作為學生計算思維培養(yǎng)的支撐工具。但在日常的Python編程教學中仍然存在著諸多問題,如指向計算思維發(fā)展不夠、偏向傳統(tǒng)講授式教學等,這些問題都嚴重制約著高中Python編程教學價值和信息技術學科育人價值的體現(xiàn)。
經(jīng)過實踐,筆者發(fā)現(xiàn)讓學生使用“算法+編程”來解決問題,進而培養(yǎng)計算思維是一個很好的方法。因此,面向計算思維的高中Python編程項目式學習設計至關重要,而如何在Python編程教學中滲透計算思維的培養(yǎng),則對教師提出了更高的要求。
下面,筆者以滬科版《必修1 數(shù)據(jù)與計算》第三單元“算法和程序設計”中的“項目七用計算機計算圓周率——設計簡單數(shù)值數(shù)據(jù)算法”為例,從創(chuàng)設情境、新知學習、歸納梳理、拓展提升、遷移應用五方面分析指向?qū)W生計算思維培養(yǎng)的方法,闡述高中Python編程項目式學習的設計策略,以期為信息技術教師提供一定的參考和借鑒。
基于單元:依托教材的項目式學習內(nèi)容分析與目標設計
任何教學策略的制訂都要基于學習內(nèi)容分析和學情分析,但很多高中信息技術教師常常直接進行項目式學習設計,缺乏對學習內(nèi)容分析的堅實基礎,這樣自然會導致教學目標與教學策略設計的不足。因此,教師必須先對學生所要掌握的Python編程知識與能力的系統(tǒng)進行梳理,揭示出單元學習內(nèi)容中各組成部分之間的內(nèi)在聯(lián)系,之后才能確定先學什么、后學什么、怎么學習等問題,從而實現(xiàn)Python編程項目式學習的最優(yōu)化設計。
面向項目式學習的學習內(nèi)容分析,筆者更傾向于選擇基于單元進行學習內(nèi)容分析。在日常的Python編程教學中,教師可以按照單元進行教學。單元實質(zhì)上反映了教材編寫者或教師對一門學科結(jié)構(gòu)的總的看法,以及以此為基礎對教學結(jié)構(gòu)所做的分解和邏輯安排。高中Python編程項目式學習設計也要體現(xiàn)Python編程知識的整體性,注重突出Python編程的核心內(nèi)容和內(nèi)容之間的相互關聯(lián),從而實現(xiàn)學生Python編程學習的整體性。
例如,滬科版高中信息技術教材就強化了項目式學習,聚焦于大概念,以大概念發(fā)展為主線,把“數(shù)據(jù)”“算法”“信息系統(tǒng)”“信息社會”貫通整個教材。其中,《必修1 數(shù)據(jù)與計算》中的第三單元“算法和程序設計”總共由八個微項目組成,該單元全面系統(tǒng)地借助項目設計與實施讓學生經(jīng)歷從“認知Python程序設計”到“掌握算法原理”,再到“使用Python編程解決問題”的全過程。高中生對Python編程有畏懼感,對Python編程的價值并無充分認識。因此,在全面梳理分析“算法和程序設計”內(nèi)容后,筆者確立了本單元教學目標,如下圖所示。
源于生活:項目式學習的主題選擇
計算思維對高中生來說是一種問題解決能力,是一種能夠使用計算機科學知識進行問題求解的能力,這種能力不可能要求學生一蹴而就,也不是單純依靠教師的理論講授就可以讓學生掌握的。因此,在面向計算思維的高中Python編程教學中,教師要考慮計算思維學習的進階性、情境性等特點,依托學生日常生活學習中所遇到的問題,借助信息技術創(chuàng)設虛擬的問題環(huán)境,并把知識情境化、任務具體化、操作可行化、評價可視化。
例如,學校每年按照《國家學生體質(zhì)健康標準》對學生進行體質(zhì)測試時都會產(chǎn)生大量的數(shù)據(jù),如果利用其設計利用Python進行體質(zhì)數(shù)據(jù)統(tǒng)計分析的項目式活動,其真實性和相關性能讓學生真切地感受到Python編程學有所用。因此,筆者設計了“統(tǒng)計體質(zhì)測試數(shù)據(jù)”項目。在本項目中,總共有2張數(shù)據(jù)表,一張是全部學生的測試數(shù)據(jù)all.xls(大概有近5000條記錄),另一張是部分學生的測試數(shù)據(jù)bufen.xls(大概有500多條記錄)。筆者給學生布置了任務:如何用部分學生的數(shù)據(jù)覆蓋掉全部學生中的部分學生的數(shù)據(jù)?首先,引導學生分析該問題,如果直接復制粘貼到all.xls,就會產(chǎn)生500多條姓名和學籍號相同的記錄。而如果用手工操作從bufen.xls復制粘貼到all.xls,覆蓋掉相同的姓名和學籍號的同學的測試數(shù)據(jù),這種做法又存在著浪費時間、容易出錯等問題。那么,應如何快速、準確地處理這些數(shù)據(jù)呢?這時,教師可引導學生通過探索學會使用Python處理Excel表格的能力,即首先學習如何讀取Excel表格信息,然后學習如何把數(shù)據(jù)寫入Excel表格,最后學習如何利用好雙層循環(huán)替換處理Excel表格數(shù)據(jù)?!敖y(tǒng)計體質(zhì)測試數(shù)據(jù)”項目取材于學生身邊的問題,而且是真實面對的編程問題,學生自然會比較感興趣。學生們通過這個項目式學習懂得了算法與程序設計的真實生活價值,知道了編程可以很方便地解決真實生活和學習中遇到的問題。
經(jīng)歷過程:項目式學習強化問題解決
計算思維教育是要使學生能夠運用合理算法,形成解決問題的方案,并遷移到與之相關的其他問題解決中。項目式學習只是承載計算思維發(fā)展的一種途徑,并不是目的,目的是要讓學生像在真實世界中解決問題一樣,經(jīng)歷分析問題、分解問題、模式識別、解決方案確定和實施反思的完整過程。因此,高中Python編程項目式學習要讓學生成為課堂的主導者,讓其以小組為單位動手實踐,經(jīng)過反復的設計方案、論證方案、優(yōu)化方案得出項目的可行開發(fā)方案,養(yǎng)成通過“動手做”解決問題的習慣。
例如,根據(jù)Python編程教學需要,筆者設計了一個“石頭、剪刀、布”游戲。在游戲設計過程中,要想讓學生經(jīng)歷思維過程,就要為學生的自主、合作、探究學習提供支持。一個真實的編程問題,一般都比較綜合、復雜,因此必須進行分解,讓學生能夠根據(jù)已有的知識和經(jīng)驗,通過學習越過最近發(fā)展區(qū),找到解決問題的方法,最后完成項目,這個過程就是對學生計算思維的培養(yǎng)和發(fā)展。在該項目中,筆者以興趣激發(fā)為出發(fā)點,以計算思維培養(yǎng)為落腳點,遵循“游戲體驗—需求分析、明確問題—分析問題、設計算法—編寫程序、算法實現(xiàn)—運行程序、優(yōu)化算法”這一思路,將程序設計的基礎知識、算法的思想以及編程的技能融入到問題解決的過程中。學生經(jīng)歷了“創(chuàng)設情境,提出問題—描述解決問題的關鍵步驟;用可視化方法,如流程圖、思維導圖等表示—根據(jù)流程圖編寫程序—調(diào)試修改—遷移和應用”這六個步驟。同時,為了幫助學生進行探究性學習,筆者還提供了游戲半成品程序、學案、Python基本語法幫助文件等學習支架。在完成游戲的過程中,學生掌握了計算機解決問題的一般過程,了解了分情況討論的分支思想,從基本輸入輸出到分支程序,從單分支到多分支,習得了程序設計的基礎知識和分支程序控制結(jié)構(gòu)。
結(jié)束語
項目式學習設計要真正實現(xiàn)“教-評-學”的一致性,還應將形成性評價融入到項目式學習活動中,這樣不僅能燃起學生的學習欲望,更能培養(yǎng)關鍵能力,健全必備品格,讓其學會傾聽、自信表達、快樂成長。經(jīng)過教學實踐,筆者認為高中Python編程項目遵照“整體分析、分步實現(xiàn)、優(yōu)化提升”的設計思路,遵循了分析問題、設計算法、程序編寫與調(diào)試優(yōu)化這一計算機程序解決問題的一般過程,有效培養(yǎng)了學生的計算思維。
在未來的教育教學中,深刻感悟?qū)W科育人理念,深入解讀學科大概念,應成為信息技術教師自身和團隊不斷努力追求的上位目標,同時,教師還應在目標的指引下引導學生實現(xiàn)對知識的理解與遷移。
參考文獻:
[1]邵紅祥.面向計算思維的高中信息技術項目學習實踐研究[J].中國信息技術教育,2022(10):49-51.
[2]蔣克鳳.以Python語言面向數(shù)學問題培養(yǎng)學生計算思維[J].新教育,2022(13):42-43.
[3]張建鋒.項目化學習在高中Python編程教學中的有效應用[J].江蘇教育研究,2022(13):63-66.
[4]倪迪.指向計算思維培養(yǎng)的任務驅(qū)動式Python編程教學實踐[J].教育傳播與技術,2022(02):33-39.
[5]梁玉芳.項目式學習架起編程教學和計算思維的橋梁[J].中國信息技術教育,2022(05):16-17.