段晨
【摘 要】本文介紹如何在高中設計并實踐關于“小程序+AI”的原創校本課程的過程。引入當今流行的小程序開發,并基于游戲思維設計課程。用小程序作為載體來學習Web前后端開發知識,并與人工智能技術結合,鼓勵學生開發應用程序解決生活中遇到的實際問題,加強學生信息技術的學科核心素養,培養創新精神。
【關鍵詞】游戲思維;小程序;人工智能;課程開發
【中圖分類號】G434 【文獻標識碼】A
【論文編號】1671-7384(2021)010-066-03
2017年7月,國務院印發的《新一代人工智能發展規劃》提出要在中小學階段設置人工智能相關課程。因此,如何設計人工智能課程、以何種開發技術作為載體、如何提升學生的核心素養等課題都亟待探索和實踐。而同樣是2017年,騰訊推出了微信小程序,拉開了小程序這種混合開發模式在國內的技術風潮。經過幾年的發展成熟,小程序已經成為國內各大互聯網企業炙手可熱的開發模式。
當前人工智能和編程教育往往基于Python語言開展教學,但Python作為腳本語言并不像網頁那樣可以便捷地繪制界面(并不直觀)。同時現在許多人工智能課程偏重概念和理論介紹但忽略有實用價值的人工智能應用實踐。本文以學校校本課程“小程序+AI從青銅到黃金”為例,分析如何將時興的小程序開發和人工智能教育主題相結合,在高中開設一門校本課程。通過學習這門課程讓高中生不僅能夠掌握學科核心素養,更為他們今后職業規劃提供參考、創新創業提供幫助。
用游戲思維來設計原創課程
2019年1月,我們開始構思這門課程時,遇到的難題就是如何系統化講解小程序開發的知識結構。對于中學生來說,在信息技術課程標準中對Web標準的介紹只是泛泛而談,淺嘗輒止。因此學習小程序的門檻就轉換成了先要循序漸進地學會Web標準開發技術。如何才能讓整個學習過程變得引人入勝而不枯燥呢?
在缺乏適合中學生學習小程序的教學用例的前提下,我們構思用游戲思維來開發原創課程。首先想到的就是知名手游“王者榮耀”,該游戲開發商借用了心理學家斯金納的強化學習理論,讓玩家通過不斷地勝利積累榮譽。這個構成正反饋的獎勵機制就是王者里的段位概念,在游戲中玩家通過從“青銅”打到“王者”升級段位的過程來獲得成就感。
他山之石可以攻玉,我們比照游戲里的段位設定,按照難易程度和知識脈絡,將一個個知識點以任務形式布置在對應的段位上。我們將整個小程序開發學習流程解構為三大段位(青銅、白銀、黃金),分別對應了Web基礎知識、小程序基礎組件入門、“小程序+人工智能”應用內容。作為一個高中小程序入門課程,教學目標是激發興趣和鼓勵創新,所以未涉及如云開發、數據庫等進階內容。
具體到每個段位我們又設置細分小等級,正好匹配到每課時,讓每次教學活動都像游戲升級裝備那樣有趣。而每課時的詳細設計,則采用了PBL(項目式學習方法)模式,每次課指定一個具體項目需求,提供原創的在線學習文檔。學生在教師引導下自主完成。如講到Web開發技術,課程布置一個設計三國人物介紹主頁的任務;講到小程序的滑塊和按鈕組件,課程布置了一個設計隨機抽號的小程序任務。
完整的課程結構設計有青銅篇: 第1課時什么是小程序?小程序架構介紹;第2課時Web起源;第3課時三國人物網頁—— Web開發標準(青銅I);第4課時動態交互網頁—— 結合Javascript(青銅II)。白銀篇:第5課時微信小程序開發流程和環境介紹;第6課時生命計算器—— 介紹基本UI組件和數據綁定等邏輯代碼要點(白銀I);第7課時抽號神器—— 隨機函數和滑塊(白銀II);第8課時歷史上的今天—— 選擇器和API(白銀III);第9課時定制地圖—— 地圖和畫布組件(白銀IV)。黃金篇:第10課時基于百度AI的圖像識別小程序應用(黃金I);第11課時基于騰訊AI的風格遷移漫畫的小程序應用或應用自主訓練的AI模型;第12-15課時自選主題以二人小組模式完成一個項目作品(黃金II)。
課例展示:基于百度AI的圖像識別小程序的教學設計與實踐
1.學生學情分析
通過之前九課時基礎內容的鋪墊,學生已經具備了一定的小程序開發能力,能夠繪制前端界面并編寫代碼邏輯。但是中學生畢竟沒有接受過系統化的編程學習,很難獨立開發出具有實際價值的應用。幸運的是,我們處在互聯網技術突飛猛進的時代。如今開發者可以借助互聯網推出的人工智能API(應用程序接口),不用自己花錢租用配置高性能GPU(顯卡)的服務器去訓練AI模型。學生開發的小程序聯網就能調用AI接口輕松實現AI賦能,完成一個比較完整有使用價值的小程序開發。
2.關鍵教學難點解析
如何調用API接口。以百度AI平臺為例,想要獲得圖像識別的功能,就需要在平臺上注冊獲取專屬的ID和Key,然后基于平臺的API接口通過憑證,再配合安裝百度AI的SDK(開發工具包)提供的圖像識別相關函數方法。向平臺發出API請求,平臺以JSON形式返回識別數據作為效果。API、SDK和JSON三者關系可以比喻為車鑰匙、方向盤和汽車。
3.教學內容分析
我們選擇圖像識別作為具體的人工智能教學用例切入,因為圖像識別是人工智能中極具代表性的典型應用,現有機房教學條件下的學生一體機就足夠使用。而百度恰恰提供可以免費使用的圖像識別API,教師在百度AI的官網注冊賬號申請一個圖像識別功能Key,學生需要通過教師給的開發文檔進行程序構建。學生需要完成三個關鍵環節:(1)獲取百度AI的憑證函數(用教師注冊的Key);(2)選擇圖片并按base64編碼圖片數據上傳給百度AI進行圖像判斷;(3)處理百度AI返回的JSON數據結果,用字典方式根據鍵值提取識別內容。具體的實現方法,可以參考教師編寫的技術文檔(https://gitee.com/ClassStudio/miniprogram20211/tree/master/黃金篇I-AI猜圖游戲)。
4.教學活動設計
(1)引入任務。教師首先向學生展示一款基于Python開發的識別動植物的小游戲—— AI識種游戲。學生可以用他們收集的校園內的植物圖片進行測試提交圖片后程序會給出三個可能品種。學生根據自己的判斷進行選擇,游戲給出判斷結果。在游戲過程中,教師引出主題:能不能用小程序設計AI識種游戲,實現圖像識別和物種判斷。讓學生思考如何用小程序來實現類似功能,需要哪些技術和知識儲備。教師通過隨機抽號點名和小組討論方式來提高學生的參與度。
(2)介紹新知。讓學生用人類識別動植物的過程理解AI圖像識別。強調圖像識別是對識別物體種類判斷的推測,圖像識別的結果是可能性,不是百分百準確的。教師演示用百度AI的接口調用過程,通過圖像識別返回的多個可能結果,來向學生解釋圖像識別的原理。
(3)動手實踐。界面設計方面,引導學生自己繪制界面元素(包括按鈕、視圖、布局等)。代碼實現方面,給出小程序中調用百度AI的說明文檔,讓學生自學實現調用過程。基礎層次,由學生跟隨教師演示完成基本的植物圖像識別效果,實現植物圖片物種識別,給出三種可能性。而探究層次,將三種可能性變成按鈕選項,探究使用混淆算法完成選項混排。本環節的實踐過程中,學生通過查閱官方開發文檔和教師給出的演示視頻,提高了數字化學習能力。同時,學生能從提出問題、分析問題、編程實踐的過程培養計算思維素養。
總結與反思
課程的完成項目作品階段,我們設計學生自主分組和選題,強調組織能力和有效的分工協作。如一位學生界面畫得漂亮,就可以負責美工部分;另一位學生擅長邏輯思維則負責代碼編程。經過3~4次課時的準備,最后一次課由每組學生上來演示,鍛煉學生的口頭表達能力。最終每組學生都參與網絡票選打分,選出本學期的最佳小程序應用。課程評價中平時作業和期末小組選題項目作品各占50%。
本課程的亮點在于借助小程序帶來的便捷性和實用性,所有的小程序代碼都保存在云端。由于小程序自身的特點(無須安裝,掃碼即開)非常適合展示和推廣,每位選修過這門課程的學生,都可以隨時隨地掃碼查看到他們之前提交過的作業,讓學生有成就感。每次提交的小程序作業,經過教師內容審核把關后,集中匯總到教師注冊的賬號內提交代碼,再由微信官方審核,通過才能進行發布。最終兩年來累計提交了120多個學生作品(https://gitee.com/ClassStudio/miniprogram20211)。
小程序和人工智能教育的結合,將小程序作為前端,提供直觀的界面,而人工智能作為后端,提供算力和數據,實現AI賦能來解決實際問題。這門原創校本課程,讓學生能掌握小程序的開發方式,鼓勵他們開發應用以解決生活中遇到的實際問題,加強學生學科核心素養,培養創新精神。未來,學生參加中學階段的研究性學習、翱翔計劃、創客活動,乃至大學畢業設計都可以活用小程序技術。
正所謂教學相長,這門課程也讓教師的學科專業能力得到了極大提升。教師對信息技術和人工智能教育有了更深入的體會,也更了解學生的學習需求。未來我們將拓展小程序的教學應用場景,將這門小程序課程與生物、數學、語文、地理等學科結合,發揮其更大的價值。
注:本文系北京市區級課題“探索自研小程序促進中學學科教學”階段性成果
參考文獻
王勛.“微信小程序開發”課程構建與教學實踐[J]. 計算機時代,2018(3).
周文潔. 微信小程序開發零基礎入門[M]. 北京:清華大學出版社,2019.
韓思瑤.《人工智能初步》模塊的項目式教學實踐——以“AI助力垃圾分類”單元為例[J]. 中小學信息技術教育,2021(1) .