廣東省深圳市羅湖區(qū)教育科學(xué)研究院 宗 艷
Python 由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會(huì)的吉多·范羅蘇姆于1990 年初設(shè)計(jì)。吉多最初的設(shè)計(jì)理念是想設(shè)計(jì)出一款既簡單又功能強(qiáng)大的語言,還能簡單有效地面向?qū)ο缶幊?。事?shí)證明,Python 確實(shí)如此。Python 是解釋型語言,兼容性好,能在多個(gè)平臺(tái)使用,而且簡單易學(xué)。近年來,隨著版本的不斷更新和語言新功能的添加,Python 逐漸被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。
從權(quán)威的Tiobe2022 年發(fā)布的最新編程排行榜可以看到,Python 在2021 年、2022 年連續(xù)兩年名列編程排行榜第一名,位列其后的是C、Java、C++等。Python 已是目前最熱門的編程語言。
Python 現(xiàn)在如此受歡迎,但是過去多年卻并非如此。通過7 種受歡迎的編程語言近25 年的排行數(shù)據(jù)統(tǒng)計(jì),我們可以看到各大編程語言的起伏路徑。編程語言歷年排行統(tǒng)計(jì)如圖1 所示。
圖1
從圖1 可以看到,在1997 年時(shí)Python 排名是第28位。那么,25 年時(shí)間躍升至排行榜第一位,原因是什么?為何會(huì)有如此大的反差呢?
通過對(duì)Python 的學(xué)習(xí)和使用,我們可以概括出兩個(gè)原因。其一,Python 為追求簡單易用,隱藏了機(jī)器實(shí)現(xiàn)的細(xì)節(jié),這使Python 對(duì)電腦配置有很高的要求,這與當(dāng)時(shí)的主流觀點(diǎn)相違背。在資源有限的情況下,當(dāng)時(shí)的程序員更加關(guān)注計(jì)算機(jī)資源利用的最大化,而不是語言是否易入門、易閱讀,因此最初 Python 只是一種小眾編程語言。其二,當(dāng)今AI 技術(shù)及其應(yīng)用備受關(guān)注,迎來一波熱潮,Python 的模塊化使得AI 的開發(fā)變得容易。2011 年后人工智能進(jìn)入蓬勃發(fā)展期,先進(jìn)的機(jī)器學(xué)習(xí)技術(shù)逐漸成熟并應(yīng)用于社會(huì)生活,Python 在人工智能領(lǐng)域大展拳腳。2021 年SlashData 發(fā)布的調(diào)查顯示,有70% 的機(jī)器學(xué)習(xí)開發(fā)者會(huì)使用Python。在人工智能領(lǐng)域,開發(fā)者更需要集中精力在程序邏輯而不是語言實(shí)現(xiàn),Python 的簡單哲學(xué)、豐富的三方庫和框架、不依賴平臺(tái)的特性及龐大的社區(qū)人群構(gòu)建了一個(gè)最適宜的高效開發(fā)環(huán)境,Python得以廣泛應(yīng)用。另外,創(chuàng)客文化的盛行也為Python 的流行推波助瀾。
軟件需要靠硬件來實(shí)現(xiàn)其功能。隨著Python 的日漸普及,除了面向電腦的Python 語言以外,針對(duì)單片機(jī)開發(fā)板的Micropython 語言版本也被開發(fā)出來。Micropython 與Python 的語法基本一致,而對(duì)應(yīng)這兩種語言的開發(fā)板也相繼出現(xiàn)。
目前支持Micropython 的開發(fā)板主要有以下幾種:
1.Pyboard
Pyboard 由官方開發(fā),是支持完整 MicroPython 軟件功能的官方微控制器開發(fā)板。它通過USB 連接到電腦,內(nèi)置一個(gè)USB 閃存來保存 Python 程序,接通電源即可運(yùn)行。Pyboard 與 Windows、Mac 和 Linux 兼容,但國內(nèi)比較少見,使用的人較少。
2.Tpyboard
Tpyboard 是國內(nèi)開發(fā)的一款支持Micropython 的開發(fā)板,以遵照MIT 許可為基礎(chǔ)。它基于單片機(jī),通過USB 接口進(jìn)行數(shù)據(jù)傳輸。該開發(fā)板內(nèi)置4 個(gè)LED 燈、一個(gè)加速傳感器,可在3V~10V 之間的電壓正常工作,有豐富的支持文檔和開發(fā)環(huán)境,應(yīng)用比較廣泛。
3.掌控板
這是另一款國內(nèi)開發(fā)的支持Micropython 的開發(fā)板,板上集成了Wi-Fi 模塊、顯示器、環(huán)境光感應(yīng)器、音量感應(yīng)器、喇叭等,不需外接多個(gè)器件就可以完成許多實(shí)驗(yàn)。掌控板在物聯(lián)網(wǎng)應(yīng)用上比較有優(yōu)勢(shì)。
直接支持Python 的開發(fā)板主要有:
1.樹莓派
樹莓派(Raspberry Pi), 是為學(xué)習(xí)計(jì)算機(jī)編程教育而設(shè)計(jì)。樹莓派是只有信用卡大小的微型電腦,其系統(tǒng)基于Linux。樹莓派接口豐富,特別適合用來開發(fā)與人工智能相關(guān)的產(chǎn)品。
2.Jetson Nano
Jetson Nano 是英偉達(dá)公司研制的一款性能強(qiáng)大、體積小巧的智能芯片,其配備了四核處理芯片,能夠運(yùn)行多種算法和AI 框架,支持多個(gè)神經(jīng)網(wǎng)絡(luò)并行實(shí)現(xiàn)圖像分類、人臉識(shí)別、語音處理、目標(biāo)檢測(cè)及物體識(shí)別追蹤等,適用于開發(fā)小結(jié)構(gòu)、低成本、低能耗的設(shè)備。
Python 語言目前在我國中小學(xué)人工智能教育中的運(yùn)用已呈燎原之勢(shì)。
“基于Jetson Nano 的智能結(jié)算系統(tǒng)”由深圳市一所中學(xué)的學(xué)生設(shè)計(jì)制作完成,作品基于Python 語言,是一款可用于食堂、超市等大型人流場(chǎng)所的智能結(jié)算設(shè)備。該項(xiàng)目在2019 年獲得廣東省青少年科技創(chuàng)新大賽二等獎(jiǎng),是一項(xiàng)非常優(yōu)秀的科技創(chuàng)新成果。
該項(xiàng)目在參加省賽之前需要經(jīng)過深圳市青少年科技創(chuàng)新大賽的選拔。參加市賽時(shí)作品用的是Arduino C 語言。在市賽階段,作者就發(fā)現(xiàn)機(jī)器視覺識(shí)別率低,識(shí)別速度太慢且容易出錯(cuò),導(dǎo)致結(jié)算效率低;所用硬件因?yàn)槭艿剿懔Φ南拗疲直媛室驳?。因此在確定被推薦將參加省賽時(shí),作者對(duì)硬件和軟件都進(jìn)行了升級(jí)——硬件平臺(tái)更換成Jetson Nano ,軟件更換成Python。這樣,Python的優(yōu)越性就充分展示出來了:
(1)使用Python 加Jetson Nano 的組合后,運(yùn)用了YOLOv4 的算法,支持的硬件更強(qiáng)大,識(shí)別率由原來的75%提升到95%左右,而且識(shí)別速度得到提高,分辨的效率提高了3 倍。
(2)算力提升以后,系統(tǒng)的訓(xùn)練時(shí)間大幅度縮減。以前訓(xùn)練認(rèn)識(shí)一個(gè)物體可能要1 分鐘,新設(shè)備大概只要20 秒,極大地節(jié)約了時(shí)間成本。
(3)Python 支持更高分辨率的攝像頭。原先的Arduino 只支持320×240 分辨率的設(shè)備,現(xiàn)在可以支持1280×960 的設(shè)備,這樣可采集的信息更多,對(duì)物品識(shí)別的正確率也得到提高。
使用 Python 完成項(xiàng)目功能后,項(xiàng)目的識(shí)別率、結(jié)算速度得到極大的提升,能夠順利、高效地完成智能結(jié)算工作。作品在參加省賽的現(xiàn)場(chǎng)展示中,表現(xiàn)優(yōu)異。
經(jīng)過多次的項(xiàng)目方案分析及試驗(yàn),“基于Jetson Nano 的智能結(jié)算系統(tǒng)”項(xiàng)目最終確定由放置物品、對(duì)比數(shù)據(jù)庫、結(jié)算物品價(jià)格、識(shí)別人臉、對(duì)比數(shù)據(jù)庫、扣費(fèi)并播報(bào)、完成結(jié)算七個(gè)技術(shù)流程實(shí)現(xiàn)智能結(jié)算功能。其中,在放置物品、識(shí)別人臉兩個(gè)程序判斷中,如果得到否定的指令(no),工作流程將轉(zhuǎn)到深度學(xué)習(xí)、錄入數(shù)據(jù)庫階段,然后再轉(zhuǎn)為下一流程。“基于Jetson Nano 的智能結(jié)算系統(tǒng)”工作流程圖如圖2 所示。
圖2
1.項(xiàng)目的應(yīng)用
作為人口大國的中國,在超市、食堂排長隊(duì)結(jié)算的現(xiàn)象十分常見。排長隊(duì)等候消耗了購買者以及工作人員的大量時(shí)間,其中消耗時(shí)間最多的就是結(jié)算環(huán)節(jié)。因此,迫切需要一個(gè)有效的設(shè)備改進(jìn)結(jié)算慢的問題。作者在日常生活中通過汽車使用ETC 通道的案例得到靈感:ETC 通道相比普通人工收費(fèi)通道結(jié)算速度更快、通行效率更高。因此,學(xué)生產(chǎn)生了通過智能結(jié)算方式改善超市、食堂等結(jié)算慢這一情況的想法。
“基于Jetson Nano 的智能結(jié)算系統(tǒng)”項(xiàng)目運(yùn)用了多項(xiàng)先進(jìn)技術(shù),例如計(jì)算機(jī)圖像識(shí)別、人臉識(shí)別、物聯(lián)網(wǎng)通信技術(shù)。硬件使用了Arduino 和Jetson Nano,傳送帶部分使用了光電傳感器,控制傳送帶的運(yùn)送與停止,同時(shí)避免過多用電。
“基于Jetson Nano 的智能結(jié)算系統(tǒng)”適合應(yīng)用于超市、食堂等人流量較大的商戶結(jié)算。機(jī)器在工作之前先對(duì)商品外觀形態(tài)進(jìn)行深度學(xué)習(xí),在工作時(shí)對(duì)傳送帶上需要結(jié)算的流動(dòng)商品逐一進(jìn)行識(shí)別、計(jì)價(jià),并且進(jìn)行語音播報(bào),最后通過人臉識(shí)別(或者其他付款方式)進(jìn)行結(jié)算。
2.項(xiàng)目的優(yōu)勢(shì)
“基于Jetson Nano 的智能結(jié)算系統(tǒng)”對(duì)比現(xiàn)有的各類結(jié)算方式,具有明顯的優(yōu)勢(shì)。
與傳統(tǒng)的人工結(jié)算相比,“基于Jetson Nano 的智能結(jié)算系統(tǒng)”的優(yōu)點(diǎn)有:
(1)結(jié)算速度快,不需要等待人工計(jì)算結(jié)果;
(2)結(jié)算結(jié)果準(zhǔn)確,不會(huì)出現(xiàn)錯(cuò)誤,極大地保障了購買者和商家的利益;
(3)支付方式多樣,支持人臉識(shí)別。
與現(xiàn)在已有的智能結(jié)算設(shè)備相比,“基于Jetson Nano 的智能結(jié)算系統(tǒng)”的優(yōu)點(diǎn):不需要尋找條形碼,由系統(tǒng)通過計(jì)算機(jī)圖像識(shí)別技術(shù)識(shí)別商品,方便視力不佳人士。
3.項(xiàng)目的展望
對(duì)于“基于Jetson Nano 的智能結(jié)算系統(tǒng)”,作者未來將繼續(xù)開展研究,提高機(jī)器的識(shí)別準(zhǔn)確率,持續(xù)完善設(shè)備,不斷優(yōu)化,迭代升級(jí)。
“基于Jetson Nano 的智能結(jié)算系統(tǒng)”目前已經(jīng)申請(qǐng)了專利,作者和輔導(dǎo)老師希望在對(duì)項(xiàng)目進(jìn)一步改進(jìn)完善后,能夠推向市場(chǎng),以探索基礎(chǔ)教育階段的“創(chuàng)新創(chuàng)業(yè)”教育實(shí)質(zhì),真正實(shí)現(xiàn)雙創(chuàng)精神。
Python 語言與人工智能(AI)緊密聯(lián)系。AI 技術(shù)已經(jīng)滲透到生活的方方面面,從智能手機(jī)的語音助手到網(wǎng)上購物時(shí)的商品推薦,無一不用到人工智能技術(shù)。而Python 也已經(jīng)逐步在網(wǎng)絡(luò)爬蟲、數(shù)據(jù)分析、機(jī)器學(xué)習(xí)、金融、測(cè)試等多個(gè)領(lǐng)域扎根壯大。
新課標(biāo)全面貫徹黨的教育方針,落實(shí)立德樹人的教育根本任務(wù),注重素質(zhì)教育。信息科技新課標(biāo)明確了需要培養(yǎng)的核心素養(yǎng)包括信息意識(shí)、計(jì)算思維、數(shù)字化學(xué)習(xí)與創(chuàng)新、信息社會(huì)責(zé)任四個(gè)方面,期望通過信息科技課程學(xué)習(xí)讓學(xué)生形成正確的價(jià)值觀、必備品格及關(guān)鍵能力。
(1)Python 學(xué)習(xí)能夠培養(yǎng)學(xué)生的信息意識(shí)。學(xué)生通過Python 學(xué)習(xí),能具有一定的信息感知力,熟悉信息傳遞的內(nèi)在邏輯;能根據(jù)目標(biāo)導(dǎo)向找尋有效的數(shù)字平臺(tái)與資源解決問題,并崇尚科學(xué)精神、原創(chuàng)精神。同時(shí),能培養(yǎng)學(xué)生掌握核心技術(shù)的意識(shí),以及依法合理應(yīng)用信息的意識(shí)。
(2)Python 學(xué)習(xí)有助于學(xué)生計(jì)算思維的養(yǎng)成。在學(xué)習(xí)Python 的過程中,學(xué)生能夠熟悉計(jì)算機(jī)科學(xué)領(lǐng)域的抽象、分解、算法設(shè)計(jì)等思維活動(dòng),在面對(duì)具體問題時(shí),可以進(jìn)行抽象、分解、建模并通過算法解決問題,同時(shí)培養(yǎng)反思、優(yōu)化能力。
(3)Python 學(xué)習(xí)提升學(xué)生數(shù)字化學(xué)習(xí)與創(chuàng)新能力。學(xué)生通過Python 學(xué)習(xí)學(xué)會(huì)選用合適的數(shù)字設(shè)備、平臺(tái)及資源,學(xué)會(huì)探究性學(xué)習(xí);養(yǎng)成利用信息科技進(jìn)行學(xué)習(xí)與生活的習(xí)慣,能夠創(chuàng)造性地解決問題。
(4)Python 學(xué)習(xí)能增強(qiáng)學(xué)生信息社會(huì)責(zé)任感。通過Python 學(xué)習(xí),學(xué)生能理解信息科技給學(xué)習(xí)、生活帶來的各種影響,學(xué)會(huì)負(fù)責(zé)任地共享信息和資源;領(lǐng)悟網(wǎng)絡(luò)空間是人類活動(dòng)空間的有機(jī)組成部分,網(wǎng)絡(luò)空間活動(dòng)必須遵守一定的秩序,繼而形成良好的信息道德品質(zhì),增強(qiáng)信息社會(huì)責(zé)任感。
新課標(biāo)背景下Python 的學(xué)習(xí)活動(dòng)以素養(yǎng)提升為目標(biāo),以真實(shí)情境為基礎(chǔ),實(shí)現(xiàn)心智學(xué)習(xí)和實(shí)踐的協(xié)同發(fā)展。為了體現(xiàn)新課標(biāo)要求,項(xiàng)目式學(xué)習(xí)是Python 學(xué)習(xí)活動(dòng)的最適切形式。項(xiàng)目式學(xué)習(xí)是一種任務(wù)驅(qū)動(dòng)的特定教學(xué)模式,它注重的不僅僅是項(xiàng)目的最終結(jié)果,也包括學(xué)生通過學(xué)習(xí)活動(dòng)獲取知識(shí)及技能的方法。
新課標(biāo)背景下Python 項(xiàng)目式學(xué)習(xí)模式構(gòu)建包括以下幾個(gè)方面:
1. Python 課程目標(biāo)構(gòu)建
在Python 項(xiàng)目式學(xué)習(xí)模式構(gòu)建中,首先就是要對(duì)課程目標(biāo)進(jìn)行構(gòu)建。明確了課程目標(biāo)的要求,才能在教育工作中科學(xué)地實(shí)施對(duì)策,將新課程標(biāo)準(zhǔn)落實(shí)。
2. Python 課程體系構(gòu)建
在Python 項(xiàng)目式學(xué)習(xí)模式構(gòu)建中,為了保證教學(xué)目標(biāo)的順利實(shí)現(xiàn),應(yīng)該進(jìn)行有效的課程體系構(gòu)建。及時(shí)有效地構(gòu)建Python 項(xiàng)目式學(xué)習(xí)課程體系,才能保障教育工作朝著預(yù)期目標(biāo)發(fā)展。
3. Python 課程評(píng)價(jià)體系構(gòu)建
在Python 項(xiàng)目式學(xué)習(xí)模式構(gòu)建中,應(yīng)對(duì)課程評(píng)價(jià)體系進(jìn)行科學(xué)有效的構(gòu)建,使教學(xué)評(píng)價(jià)可以根據(jù)教學(xué)目標(biāo)要求及時(shí)進(jìn)行教學(xué)反饋,切實(shí)地為教育工作服務(wù)。