吳勇
隨著科技的進步和信息技術(shù)的發(fā)展,大數(shù)據(jù)、人工智能(AR)和虛擬現(xiàn)實(VR)的理論和技術(shù)日益成熟,應(yīng)用領(lǐng)域不斷擴大,逐漸滲透到人類社會的各個領(lǐng)域,使用計算機解決問題并幫助我們更高效的工作、更舒適的生活成為現(xiàn)代社會人類必備的一項技能。國務(wù)院在2017年7月印發(fā)的《新一代人工智能發(fā)展規(guī)劃》中明確指出“人工智能成為國際競爭的新焦點,應(yīng)逐步開展全民智能教育項目,在中小學(xué)階段設(shè)置人工智能相關(guān)課程、逐步推廣編程教育?!苯逃坑?018年4月發(fā)布的《教育信息化2.0行動計劃》也把提升教師和學(xué)生的信息素養(yǎng)作為重要目標(biāo)。通過開展編程教育提升學(xué)生的計算思維、創(chuàng)新思維,已經(jīng)上升到國家戰(zhàn)略的層面。
一、國內(nèi)外編程教育現(xiàn)狀
目前,在美國、英國、日本等發(fā)達國家都已經(jīng)將程序設(shè)計課程納入到中小學(xué)的教學(xué)范圍。美國前總統(tǒng)奧巴馬斥巨資推動編程教育,并發(fā)起“編程一小時”運動,旨在讓全美小學(xué)生開始學(xué)習(xí)編程,更早地開發(fā)計算思維。美國北喬治亞大學(xué)計算機科學(xué)系終身教授Bryson Payne博士在他的《Teach your kids to code》一書中指出:“計算機編程是每個孩子都應(yīng)該學(xué)習(xí)的一項重要技能,理解如何編寫代碼,可以將計算機的能力控制在你的指尖?!?/p>
近幾年,國內(nèi)關(guān)于程序設(shè)計對學(xué)生計算思維、創(chuàng)新思維培養(yǎng)的研究也愈加豐富,大部分中學(xué)的信息技術(shù)課程中都有程序設(shè)計的教學(xué)模塊。山東省最新出版的小學(xué)信息技術(shù)教材,在六年級課本中加入了Python語言相關(guān)內(nèi)容,程序設(shè)計開始向小學(xué)高年級進軍。人工智能和機器學(xué)習(xí)領(lǐng)域國際上最權(quán)威的學(xué)者之一吳恩達提出:“寫代碼就跟識字一樣,將來人機交流越來越重要,人人都該學(xué)會編程,應(yīng)用計算思維?!?/p>
二、計算思維概述
計算思維的概念是隨著計算機科學(xué)發(fā)展到一定水平而變得清晰起來的,具有顯著的時代特征,它區(qū)別于以數(shù)學(xué)為代表的邏輯思維和以物理為代表的實證思維,主要體現(xiàn)了一種抽象交互關(guān)系和形式化執(zhí)行的思維模式。2006年,時任美國卡內(nèi)基梅隆大學(xué)計算機系主任的周以真教授提出了計算思維(Computational Thinking)的概念,他把計算思維概括為:運用計算機科學(xué)的基礎(chǔ)概念進行問題求解、系統(tǒng)設(shè)計以及人類行為理解等涵蓋計算機科學(xué)之廣度的一系列思維活動。計算思維以設(shè)計和構(gòu)造為特征,本質(zhì)是抽象和自動化。
簡單地說,計算思維可以理解為利用計算機求解問題的思維方式。例如:計算1到100的自然數(shù)的和,如果運用邏輯思維的方式求解,可以利用等差數(shù)列求和公式求得結(jié)果。如果運用計算思維求解,則可以把問題抽象為1到100的自然數(shù)的累加,通過設(shè)計程序的循環(huán)結(jié)構(gòu)和求和語句可以自動化地執(zhí)行累加過程,很容易地就求得了結(jié)果。在程序設(shè)計的范疇,計算思維主要反映在理解問題的計算特性,并將計算特性抽象為計算問題,進而通過程序設(shè)計語言實現(xiàn)問題的自動求解等方面。
三、Python語言與初中生編程教育
大數(shù)據(jù)和人工智能時代的來臨使程序設(shè)計和計算思維成為21世紀(jì)最具競爭力的技能之一。初中階段對學(xué)生進行編程啟蒙并通過程序設(shè)計教學(xué)訓(xùn)練學(xué)生的計算思維,既符合學(xué)生的身心發(fā)展規(guī)律,又符合時代的發(fā)展需求。提及程序設(shè)計就必然與目前應(yīng)用越來越廣泛的Python語言聯(lián)系在一起。Python是一種解釋型、面向?qū)ο蟆討B(tài)數(shù)據(jù)類型的高級程序設(shè)計語言。
Python語法簡潔清晰、通俗易懂、簡單易學(xué),有助于激發(fā)學(xué)生對計算機編程的興趣,非常適合對初中生進行程序設(shè)計和計算思維的啟蒙教育,在國外甚至有《Baby Python:Basic Code for Programming》這類的幼兒Python編程教程。為了提高學(xué)生的信息素養(yǎng)進而提高其未來社會競爭力,我們有必要在初中階段通過Python程序設(shè)計課程對學(xué)生的計算思維進行培育,通過Python程序設(shè)計教學(xué)培養(yǎng)學(xué)生計算思維和創(chuàng)新思維的能力,以提高學(xué)生主動運用計算思維分析問題、解決問題的信息素養(yǎng),為學(xué)生進一步接受更高層次的專業(yè)學(xué)習(xí)筑牢計算思維和創(chuàng)新思維的根基,從而為培養(yǎng)符合時代發(fā)展需要的復(fù)合型人工智能人才打下良好的基礎(chǔ)。
四、實施策略初探
按照信息技術(shù)課程標(biāo)準(zhǔn)的要求和新課程改革的需要,充分利用初中信息技術(shù)課程中程序設(shè)計教學(xué)模塊,在初中三個年級分別開展有針對性的Python程序設(shè)計教學(xué),使學(xué)生掌握Python開發(fā)環(huán)境搭建,理解Python程序設(shè)計語法結(jié)構(gòu)、數(shù)據(jù)類型,熟練使用運算符與表達式、內(nèi)置函數(shù)和常用標(biāo)準(zhǔn)庫,初步了解面向?qū)ο蟮某绦蛟O(shè)計、常用算法、大數(shù)據(jù)處理和簡單的游戲開發(fā)等內(nèi)容。根據(jù)不同年級的學(xué)生學(xué)情創(chuàng)設(shè)情景、預(yù)設(shè)問題,讓學(xué)生用編程設(shè)計解決方案,并跟蹤學(xué)生學(xué)習(xí)效果,通過課后反思、師生評價、對比分析驗證Python程序設(shè)計對初中生計算思維培育的實際作用。具體實施過程中主要采取以下策略:
1.研究國內(nèi)外有關(guān)程序設(shè)計啟蒙和計算思維培育的相關(guān)理論和實踐經(jīng)驗。收集整理國內(nèi)外有關(guān)Python程序設(shè)計啟蒙和學(xué)生計算思維培育的熱點案例和成功經(jīng)驗。
2.研究《新一代人工智能發(fā)展規(guī)劃》和《教育信息化2.0行動計劃》中對學(xué)生智能教育、信息素養(yǎng)教育的要求,研究學(xué)生學(xué)情,制定合理的初中生計算思維培育目標(biāo)。
3.根據(jù)初中信息技術(shù)課程標(biāo)準(zhǔn)分別對初中三個年級制定有針對性的Python編程教學(xué)目標(biāo),并參與Python程序設(shè)計集體備課,與信息技術(shù)學(xué)科教師共同開展Python編程教學(xué)設(shè)計。
4.持續(xù)跟蹤Python程序設(shè)計課堂教學(xué),根據(jù)教學(xué)效果和反饋進一步修改完善教學(xué)設(shè)計,調(diào)查學(xué)生的學(xué)習(xí)效果和認知程度,了解學(xué)生的學(xué)習(xí)進展,探索發(fā)現(xiàn)初中生計算思維的認知規(guī)律。
5.結(jié)合生活中的實際問題,預(yù)設(shè)情景,考查學(xué)生運用計算思維發(fā)現(xiàn)問題、分析問題、解決問題的能力,檢驗學(xué)生通過使用Python語言編程解決實際問題的能力,驗證程序設(shè)計教學(xué)對其計算思維培育的效果。
五、Python程序設(shè)計教學(xué)實踐
初中階段的Python程序設(shè)計教學(xué)主要從學(xué)生喜聞樂見的生活中的實際問題著手,以任務(wù)為驅(qū)動,以成就激勵為手段,逐步培養(yǎng)學(xué)生對編程的興趣,感受程序設(shè)計的魅力和價值。以下截取一個教學(xué)片段來體現(xiàn)通過Python程序設(shè)計教學(xué)訓(xùn)練學(xué)生計算思維的方式和方法。文中代碼片段均是Python語言,未考慮縮進、層級關(guān)系和程序完整性。
教師給出一個問題:請使用Python程序計算整數(shù)N到整數(shù)N+100之間(不含N+100)所有奇數(shù)的和,整數(shù)N由用戶輸入。
問題給出后,先請學(xué)生歸納并抽象問題的計算特性。學(xué)生歸納的計算特性主要有:獲取用戶輸入的N值;判斷N到N+100之間所有整數(shù)的奇偶性;將所有奇數(shù)累加;將累加值輸出。然后請學(xué)生根據(jù)問題的計算特性抽象出計算問題,并進行編程求解。學(xué)生給出的程序設(shè)計思路為:設(shè)置和的初始值為零:s=0;遍歷循環(huán)N到N+100的每一個值:for i in range(N,N+100);判斷是否為奇數(shù):if i%2==1;累加奇數(shù)的值:s+=i。顯然,學(xué)生設(shè)計的程序可以準(zhǔn)確的求得問題的解。此時,教師會詢問學(xué)生程序有沒有優(yōu)化的可能?從計算特性上考慮是否每次循環(huán)都有判斷奇偶性的必要?這時,有的學(xué)生會恍然大悟:只要判斷出N到N+100之間的第一個奇數(shù),后一個奇數(shù)與前一個奇數(shù)是加2的關(guān)系,這樣就不用每次遍歷都判斷奇偶性了。于是,教師和學(xué)生一起將計算問題優(yōu)化為:先判斷N的奇偶性,如果N為偶數(shù)則將遍歷的起始值設(shè)為N+1:if N%2==0:N+=1;遍歷時將步長設(shè)為2,這樣就保證每一個遍歷的值都為奇數(shù),然后將遍歷的值累加即可求得問題的解:for i in range(N,N+100,2):s+=i。這次程序優(yōu)化讓學(xué)生們興奮異常,大家都感受到了用雙手指揮計算機進行完美求解的成就感和喜悅感。
這個問題的求解過程充分體現(xiàn)了計算思維的抽象和自動化本質(zhì),鍛煉了學(xué)生運用計算思維分析問題、解決問題并優(yōu)化問題解決方案的能力。
人工智能和大數(shù)據(jù)的廣泛應(yīng)用使我們的生活變得越來越便捷,效率越來越高,人機交流的能力也變得越來越重要,計算思維將成為可以預(yù)見的未來最深層次人機交流的基礎(chǔ)思維能力。我們應(yīng)該抓住初中階段這一計算思維培育的黃金期,通過科學(xué)合理的程序設(shè)計教學(xué),鍛煉學(xué)生的計算思維能力,提升學(xué)生的信息素養(yǎng),探索培養(yǎng)新時代“互聯(lián)網(wǎng)+”環(huán)境下國家急需人才的新途徑。
(責(zé)任編輯 ?徐德明)