黃威榮 曾云雪 王軍 李順美
摘? 要 隨著信息技術(shù)的迅速發(fā)展,人與機器之間的交互由不可能變?yōu)榭赡?,并在社會發(fā)展中變得越來越重要。編程是人工智能發(fā)展的基礎(chǔ),已成為人類與未來技術(shù)之間的橋梁?;诰幊趟季S的培養(yǎng),設(shè)計Python海龜繪圖、Python游戲開發(fā)、Python網(wǎng)絡(luò)爬蟲、Python人工智能編程四個層次的編程課程。
關(guān)鍵詞 編程思維;Python課程;人工智能;核心素養(yǎng);STEM
中圖分類號:G711? ? 文獻標識碼:B
文章編號:1671-489X(2019)07-0077-03
1 編程思維與Python課程
編程思維? 計算機的運行受程序控制,編程最根本的目的是給計算機下達即將做什么的指令,即把問題的思路、方法和手段,編寫成電子計算機可以理解的指令、語言并輸入進計算機,讓計算機根據(jù)指令一步一步去完成特定的工作任務。
從兒童成長的規(guī)律看,讓學生參加一系列有趣的編程活動,可以培養(yǎng)他們的觀察能力、想象能力、創(chuàng)造能力、邏輯思維能力和空間想象能力等多種能力。因此,讓學生學習編程不是為了將他們培養(yǎng)成為軟件工程師,而是為了在學習活動中訓練他們的編程思維。編程思維是一種思維過程,即發(fā)現(xiàn)問題—理解問題—解決問題;它分成四個步驟,即分解—模式識別—抽象—算法:
1)分解是將一個復雜的大問題拆解成多個簡單的流程或步驟,這些流程或步驟更便于執(zhí)行和更容易理解;
2)模式識別是找到類似的模式,有效地解決并分割問題;
3)抽象關(guān)注最重要的信息,忽略無用的細節(jié);
4)算法旨在逐步解決問題并解決整個問題。
這種編程思維結(jié)合了數(shù)學、邏輯和算法,教會學生以新的方式思考世界,讓學生能夠更清晰、更全面地思考和解決問題。
Python課程? 編程思維是小學生學習編程應該具備的核心技能。如今,編程思維能力已成為學生從小應具備的能力之一,它的必要性與閱讀、寫作、算術(shù)相同,成為學生日后在激烈的社會競爭中脫穎而出的重要才能。也就是說,希望找到一種能夠輕松有效地表達算法的語言,并且能夠輕松地入門,于是Python成為首選。
2018年8月,IEEE發(fā)布第五屆頂級編程語言交互排行榜,其中Python位居第一。2017年底,教育部考試中心發(fā)布通知,自2018年3月起在計算機二級考試中加入“Python語言程序設(shè)計”科目。不僅如此,浙江省用Python取代VB作為編程教學內(nèi)容,并列入高考信息技術(shù)科目的內(nèi)容范疇;北京市和山東省也將Python編程基礎(chǔ)納入信息技術(shù)課程和高考內(nèi)容體系中[1]。
隨著人工智能時代的來臨,Python編程語言憑借自身優(yōu)勢已成為人工智能編程的主流編程語言之一,是當代人了解并掌握人工智能的基礎(chǔ)知識。Python是一門適合所有人學習的編程入門級語言,也是非常實用有效的學習工具。通過簡單的Python代碼,可以根據(jù)需要繪制各種可視化線條、形狀和圖案,制作各式各樣的風靡小游戲,簡單有趣;掌握Web網(wǎng)站開發(fā),爬取學習資料、科技文獻、網(wǎng)絡(luò)信息等。因此,Python語言被廣泛用于后端開發(fā)、爬蟲、大數(shù)據(jù)處理、數(shù)據(jù)分析、云計算、人工智能等,功能強大、專業(yè),簡單易學,非常適合小學生作為學習計算機程序代碼編寫的入門語言。
通過開設(shè)Python課程,可以讓小學生快速了解大數(shù)據(jù)、人工智能等尖端技術(shù)的發(fā)展趨勢,逐步了解其基本內(nèi)容,成為一項可學習、可應用和可普及的基礎(chǔ)技術(shù),為今后在這些領(lǐng)域深入學習和研究打下必要的基礎(chǔ)。
2 Python課程對小學生編程思維能力培養(yǎng)的積極影響
Python語言是一門非常親民的編程語言,普通人不但容易理解Python語言,同時能輕易編寫。任何人都可以擴展它,無論之前有沒有接觸過編程的人,都可以輕松入門,編寫出易讀、易維護的程序代碼。正因為如此,在學生6~12歲階段開設(shè)Python課程是非??尚械?。開設(shè)一門Python語言,對小學生的編程思維培養(yǎng)具有非常積極的影響和重要意義。
培養(yǎng)邏輯思維能力,構(gòu)建能力體系? 邏輯思維能力對人的發(fā)展無比重要,能讓人迅速找到問題所在。通過學習Python編程語言的過程,搭建一個個復雜項目,潛移默化地培養(yǎng)小學生的邏輯思維能力以及思考的全局觀。當編寫的程序越來越復雜時,他們會變得越來越耐心專注,也在查找和解決bug的過程中變得更加細心堅韌,并在此過程中梳理思路,建立知識體系,有效提高邏輯推理能力和思維能力。
激發(fā)抗挫潛能,形成良好性情? 編程教育既是培養(yǎng)小學生思維能力的過程,也是讓小學生樹立良好性情的過程。有良好性情的學生,無論在生活還是學習中都更容易成功。如果學生在編程中時遇到挫折和障礙,能夠?qū)W會用發(fā)散的思維方式來思考問題、解決問題,并在反復調(diào)試、不斷改良、功能迭代中打磨出一個成功的程序,就能理解成功不是一蹴而就的,同時明白編程是一個反反復復調(diào)試的過程。因此,可以通過編程教育來培養(yǎng)小學生良好的學習習慣,并在教育活動中培養(yǎng)他們的耐性、定力、熱情以及堅持不懈的精神。
掌握編程技能,自信面對未來? 未來是人工智能的時代,對職業(yè)人才的要求越來越高,掌握緊跟時代步伐的新興技術(shù),是當前對信息領(lǐng)域人才的基本要求。掌握作為AI語言的Python無疑將成為信息領(lǐng)域人才必備的核心技能之一,掌握Python的從業(yè)者才可能在未來的職業(yè)發(fā)展中擁有主動權(quán)。因此,讓小學生學習編程,提升編程能力,面對未來的競爭和挑戰(zhàn)將會更加從容和自信。
3 面向創(chuàng)客教育的小學Python課程體系設(shè)計
根據(jù)小學生的認知規(guī)律、身心狀況及能力水平,針對編程教育的特點與小學生編程思維能力培養(yǎng)的過程,將小學Python課程分為Python海龜繪圖、Python游戲開發(fā)、Python網(wǎng)絡(luò)爬蟲、Python人工智能四個階段,課程內(nèi)容構(gòu)成如圖1所示。
Python海龜繪圖階段主要學習程序的順序、分支、循環(huán)三大結(jié)構(gòu),初步掌握Python基本語法,包括變量、字符串、列表、字典等,以及學習函數(shù)、類和對象、繼承與多態(tài)等知識點。通過調(diào)用Python語言中的turtle海龜庫,學生能夠繪制出各種有趣的形狀、圖案,將Python語言知識點通俗化、可視化,幫助學生在課堂教學中玩中學、學中玩,潛移默化地提升學生基礎(chǔ)的編程能力。在學習中初步鍛煉學生編程、邏輯及空間思維能力,運用編程思想來理解世界,感受代碼編程的樂趣。
Python游戲開發(fā)階段將使用更專業(yè)的編輯工具PyCharm
編寫代碼,通過學習Pygame框架,制作簡單的2D小游戲。學生通過完整的項目設(shè)計和實踐,能發(fā)揮自己獨特的想象力和別具一格的創(chuàng)造力,獨立設(shè)計充滿個性的2D小游戲,從而大幅提升邏輯思維能力、獨立設(shè)計程序的能力及表達和溝通等各方面的綜合能力、綜合素質(zhì)。
Python網(wǎng)絡(luò)爬蟲階段將學習網(wǎng)絡(luò)傳輸?shù)闹R、網(wǎng)頁的基本結(jié)構(gòu)和常用爬蟲技術(shù),從網(wǎng)絡(luò)上爬取所需要的數(shù)據(jù),進行可視化展示并制作個性化的應用程序,進一步形成利用信息技術(shù)服務生活的意識。使用Python處理和分析數(shù)據(jù),從數(shù)據(jù)中挖掘價值,建立對數(shù)據(jù)分析和挖掘技術(shù)體系的認知,體驗科研過程,逐漸形成利用編程解決實際問題的意識。
Python人工智能階段通過訓練一些簡單的人工智能分類模型,培養(yǎng)學生對算法的興趣,并利用所學知識搭建自己的人工智能應用系統(tǒng),充分整合學生的綜合能力,以滿足人工智能開發(fā)的基礎(chǔ)要求。Python人工智能階段將學習numpy和pandas數(shù)據(jù)處理,利用sklearn、OpenCV、keras等常用的人工智能庫,通過訓練一些簡單的人工智能分類模型,培養(yǎng)學生對算法的興趣,了解人工智能的應用場景和前沿技術(shù)方法,通過算法完成一些簡單的人工智能分類模型,并利用所學知識設(shè)計簡單的人工智能應用程序,培養(yǎng)利用編程去改變生活的思想。
4 促使編程思維形成的Python課程教學方法與評價
Python課程教學方法
1)以“可視化編程”降低語言類編程學習門檻。圖畫形狀的使用可以讓人們的現(xiàn)實生活更具多樣性。在信息技術(shù)教學活動中,正確地使用圖形可視化能幫助師生解決一系列計算問題,并在解決問題的過程中提高學生處理問題、應對問題的能力。與傳統(tǒng)代碼編程教學的輸入設(shè)計相比,通過可視化輸出的Python教學活動具有更好的理解性和直觀性,在日常教學活動中也起到激發(fā)學生的學習興趣、提高教學效率的積極作用。比如Python里面的turtle模塊,可視化編程可以提供即時反饋,這樣的程序編寫大大降低了6~12歲計算機編程學習者的學習難度,使他們的知識獲得、技能習得的過程變得更加順暢??梢暬幊炭梢猿掷m(xù)激發(fā)學生的興趣,為后面的學習提供動力基礎(chǔ),實現(xiàn)從具象到抽象思維的自然過渡,降低學習語言編程的門檻。
2)以“游戲教學”提高學生的編程興趣。Python編程教學可以借助游戲開發(fā)進行。教師通過學生感興趣的游戲入手,讓學生借助Pygame模塊,個人單獨或集體共同開發(fā)2D游戲,激發(fā)學生學習信息技術(shù)的興趣。通過大量有趣的關(guān)卡,讓學生在課程入門階段對語言的應用有一個比較直觀的認識。豐富而有趣的游戲教學,能夠牢牢抓住每一位學生的課堂注意力,讓學生在課堂實踐中獲得更大的成就感。與此同時,游戲是鼓勵溝通、發(fā)現(xiàn)和反復試錯的媒介,可以激發(fā)學生的編程興趣,使比較枯燥的代碼編程學習變得豐富有趣。
3)以“項目活動”提升學生的綜合實踐能力。項目活動中要充分展現(xiàn)學生的主體性,教師應當為學生提供發(fā)展、創(chuàng)造的舞臺。學生在項目活動中不僅可以借助Python語言,創(chuàng)造性地表達自己的觀點,還可以通過合作解決學習中遇到的技術(shù)難題。學習Python就是掌握一門全新語言。在學習該語言的過程中,搭建一個個復雜的項目,學生的邏輯思維能力以及辯證思維能力將得到系統(tǒng)的訓練。編寫的程序越來越復雜,學生變得越來越耐心專注,也在查找和解決bug的過程中變得更加細心堅韌。通過拓展任務進行探究式學習,培養(yǎng)科學探究能力;通過自主創(chuàng)作體會創(chuàng)作的樂趣,培養(yǎng)自主思考能力、創(chuàng)造思維;通過與人分享、溝通,培養(yǎng)合作精神。
4)以“學科融合”增強學生的核心素養(yǎng)。Python的教學可以充分與多學科進行融合,例如:與藝術(shù)創(chuàng)作結(jié)合,學生可以編寫程序繪制創(chuàng)意藝術(shù)作品,意識到編程不僅僅是機械無聊的數(shù)字和抽象的模型,而是通過邏輯控制,實現(xiàn)無限的創(chuàng)造力;與語文學科結(jié)合,學生在中文文本分析統(tǒng)計詞頻中,通過編程實現(xiàn)文本分析,從文本信息中提取有用的知識;與數(shù)學學科融合,學生通過編程驗證數(shù)學問題,如求最大公約數(shù),判斷是否為閏年,概率和統(tǒng)計模擬等典型有趣的數(shù)學問題,理解數(shù)學概念;科學中有模擬自由落體等有趣的科學實驗,與科學學科融合,學生可以通過編程模擬實現(xiàn),通過編程學習科學。
編程可以作為多學科融合教學的承載工具,并與各門學科實現(xiàn)深度融合,這對于STEM教育理念在實際教學過程中的應用起到充分的促進作用。
Python課程評價? 課程評價是Python課程體系設(shè)計的一個重要組成部分,應該以培養(yǎng)學生編程思維能力為基礎(chǔ),教師可以使用多種評價方法在教學中發(fā)揮有效作用。評價的內(nèi)容應從最基礎(chǔ)的開始,關(guān)注學生掌握基礎(chǔ)的理論知識和技能,通過采取合適的教學方式和手段,到關(guān)注學生編程思維的培養(yǎng),以及提高解決實際問題的能力和團隊合作的能力等。
小學Python課程應以實踐為導向,并且需要摒棄單一的、固定的評價方法,使用多種評估方法,如書面評價、學習評價和口頭評價等。書面評價是教師對學生參加課程的次數(shù)、參加課程時間的評價;學習評價是對學生的學習態(tài)度、狀態(tài)以及作品的評價;口頭評價則由教師評價、學生互評共同組成,是對學生課堂回答、課堂作業(yè)和課堂活動的評價。此外,教師在具體課程實施中需要根據(jù)Python課程不同階段的課程內(nèi)容特點,選取合適的評價方法,可以單獨使用一種評估方法,或者使用多種評估方法的組合來更好地評價Python課程。
5 結(jié)語
通過開展Python課程學習,學生的編程思維能力、解決問題能力和創(chuàng)新能力能得到有效培養(yǎng),廣大中小學教師在開展編程教育教學過程中探索到新途徑。在理論方面,目前我國還沒有相應的Python課程教學大綱,因此缺乏課程大綱的參照,在課程設(shè)計方面可能有一定的局限性;在實踐方面,由于小學Python課程處于初始階段,沒有統(tǒng)一的教學模式,雖然有較好的課堂實施效果,但仍缺乏系統(tǒng)的理論知識,仍需在課程實踐中不斷完善,在日常教學中不斷改進;在實施過程中,缺乏具有指導性操作的教材,雖然對小學Python課程進行了設(shè)計,如何根據(jù)體系開發(fā)出適合小學生學習Python編程的教材,是需要盡快解決的問題。作為開展Python課程的總結(jié),希望對小學開設(shè)Python課程提供一定的參考,具體如何設(shè)計并開發(fā)出完整的小學Python課程資源,衷心希望更多教師的加入和不懈努力,逐步得以達成?!?/p>
參考文獻
[1]呂瀧.高職院校開設(shè)《python語言程序設(shè)計》課程的探索與研究[J].電腦迷,2018(4):179.