

摘要:算法是人工智能技術的核心,因為其內容抽象、概念復雜,在中學人工智能課程中實施教學有一定難度。作者結合多份指導文件的相關內容要求,針對算法的特點,提出了三個方面的教學策略——融合場景需求問題引導、清晰目標定位優化方法、資源平臺輔助搭建支架,以期能夠有效提升教學效率,培養學生計算思維。
關鍵詞:中學;人工智能;算法;教學策略
中圖分類號:G434" 文獻標識碼:A" 論文編號:1674-2117(2024)06-0030-04
隨著《新一代人工智能發展規劃》的發布,人工智能課程在基礎教育領域越來越受重視。《普通高中信息技術課程標準(2017年版2020年修訂)》(以下簡稱《高中課標》)設置選修課程“人工智能初步”,內容要求了解人工智能的核心算法,熟悉智能技術應用的基本過程和實現原理。[1]《義務教育信息科技課程標準(2022年版)》(以下簡稱《義教課標》)設置了“人工智能與智慧社會”模塊,要求學生不僅要了解人工智能的三大技術基礎——數據、算法和算力,還應該“初步了解人工智能中的搜索、推理、預測和機器學習等不同實現方式”[2],且首次在初中階段涉及人工智能算法的內容。算法是人工智能應用的基礎和核心,它決定了人工智能系統的性能和表現。算法的學習有助于理解人工智能的基本原理和核心概念,因此,如何提高人工智能算法的教學效率,培養學生的計算思維和解決問題的能力,是開展中學人工智能教育的重要課題。
問題背景
算法是人工智能課程不可或缺的組成部分,在基礎教育領域,除了《高中課標》和《義教課標》外,各級部門或組織也發布了一系列的指導文件,其中有中國教育學會中小學信息技術教育專業委員會的《中小學人工智能課程開發標準》(以下簡稱《開發標準》)、中央電化教育館的《中小學人工智能技術與工程素養框架》(以下簡稱《素養框架》)。各類文件均對人工智能課程培養目標、學習內容、學段要求等進行頂層設計,并且都關注到人工智能的算法,具體的內容與要求如下頁表所示。
四份文件從各自角度針對“算法”加以說明:《高中課標》和《義教課標》是學科綱領性文件,都特別注重算法應用的具體場景,強調通過分析生活中的典型案例,理解其背后的算法原理;《開發標準》明確人工智能技術領域的劃分,指出技術實現的具體算法內容,以及對應的層次關系;《素養框架》按學段目標,提出“算法”在各階段應達到的素養標準。前兩者是具有權威性的課標文件,指導算法模塊的教學實踐,后兩者分別界定算法的具體內容、規范對應的素養目標,側重解決“教什么”和“教到什么程度”的問題,是課標的有益補充,具有重要的參考價值。
問題現象
計算機算法是一組有窮的規則,它規定了解決某一特定類型問題的一系列運算,是對解決問題方案的準確與完整的描述。算法是計算機科學中最基本的核心概念之一,幾乎貫穿于計算機科學的各個領域。在人工智能課程中,學生需要學會如何設計、實現和應用算法,以解決實際問題。但對中學生來說,算法本身難以理解,較為抽象,無法直接觀察算法的實現過程,很多情況下需要借助分析代碼的運行結果來理解其步驟;算法教學實施難度大,大多數沒有相關的知識基礎,教學活動容易變成淺層體驗,或浮于表面;相關配套的教學資源不足,雖然中學人工智能課例日漸豐富,但是涉及具體算法的內容還較少。因此,筆者認為,針對中學階段的人工智能算法教學,應以場景分析為主線進行問題引導,以培養目標為導向優化方法,以資源平臺為輔助搭建支架,來提升教學效率,促進算法內容的有效落地。
解決策略
算法是人工智能技術的核心,只有真正理解其基本原理,才能做好人工智能的普及教育。結合以上指導文件的內容要求,針對人工智能算法的特點,筆者認為可以從“道”“術”“形”三個方面促進教學實施。
1.“算”亦有道:融合場景需求,問題引導
算法是解決問題的步驟和過程,難點在于抽象。現有不少版本的中學人工智能教材,其算法章節往往是大學教材的簡單移植,重心放在算法的程序實現,忽略了實際應用場景的支撐,學習過程略顯枯燥。中學人工智能課程應重視問題的需求分析,融合問題提出的背景,讓算法與應用場景緊密聯系,有助于學生對算法的深入理解和認識。同時,針對中學生的認知能力和學科基礎,在提出問題、分析問題時,將晦澀難懂的算法簡單化、趣味化處理,可以提高學生的學習興趣,促進學生持續探究。
例如,在“智能失物招領處”學習主題中,教師以學生在校園易丟失的物品為切入點,建立智能招領處。學生在完成任務的過程中不斷分析問題,觀察結果,思考機器是如何學會識別物品的、如何有效提供有關物品的數據;在體驗機器學習的一般流程后,學生進一步考慮模型識別效果與哪些因素有關、如何提升模型識別的成功率等。該主題以實際的校園生活需求為導向展開教學,最后教師設計了拓展問題:校園生活中還能做哪些智能化設計?該問題涉及的場景極為豐富,如入校登記、圖書館管理、食堂訂餐、校園角落改造等。
又如,決策樹算法是《高中課標》列出的核心算法之一,主要通過構建一個樹狀結構來對數據進行分類或預測。在教學時,教師可以用熟悉的購物思路類比,如人們在購買喜歡的商品時,總會有多重考慮,如何做出恰當的決策?借此分析決策樹的構成與實現原理。類似的生活場景還有疾病診斷、金融借貸、選課系統等,學生自主選擇感興趣的場景,以項目報告的形式進行問題探究活動。
算法學習是計算思維的具體體現和實際應用,適宜在問題解決過程中設計活動,開展基于問題的教學。聚焦復雜情境中的問題,將算法融入典型案例的分析中,再運用算法來解決問題,在場景應用中感受算法之美,這樣才符合算法之“道”。
2.“算”亦有術:清晰目標定位,優化方法
中小學人工智能課程已逐漸形成體系化,在面向不同階段的學生時,課程定位、教學目標均有所區分,小學、初中和高中三個學段的側重點有所不同:小學重在感悟,初中重在體驗,高中重在創造創新。[4]《素養框架》針對“算法”提出,初中階段能夠闡述某項技術的算法原理,給出流程圖,而高中階段則能夠用不同算法解決同一問題,并且對比分析優劣程度。[5]因此,教學中需根據學情分層適宜開展,依據教學目標選用恰當的方式,算法實踐的常用方法有體驗式學習、圖形化編程、半成品代碼和完整程序等,課堂實施難度依次增加,可綜合考慮靈活選用。其中,體驗式學習側重對算法功能的理解,通常采用“黑箱測試”,根據輸入輸出的數據觀察運行結果,不涉及具體程序的編寫;圖形化編程直觀便捷,避免學習不必要的編程知識,部分算法內容模塊化封裝,較易理解算法的整體框架;半成品代碼注重問題分解,將大問題分為多個小問題,形成相互關聯的功能模塊,一般編寫較少的幾行程序語句即可,有利于理解算法的關鍵步驟;完整程序編寫則需要較好的編程基礎,編寫代碼并調試運行,能夠真正掌握算法的全貌和具體實現。
例如,在學習聚類算法時,在“猜你喜歡”主題時,學生扮演數據分析師的角色,通過平臺用戶的多種數據,分析其行為特點和購物喜好,活動中數據不斷增加,任務層層遞進,最后使用指定的程序,輸入前期的各項數據,觀察程序的運行結果,驗證結論。體驗式學習對學生的編程基礎幾乎沒有要求,重點在于理解算法原理,通過案例分析了解算法的應用,較易實施。但由于沒有學習具體的程序,學生無法模仿和改造,難以遷移應用到其他類似問題中。同樣屬于聚類算法,在“物資配送中心選址”主題學習中,項目提出如何建立衛生防控物資配送中心的問題,采用了Python半成品代碼的形式。項目的主程序分為讀取數據集、實現聚類和可視化繪圖三個模塊,其中“實現聚類”是程序的核心,基于k-means算法又可以分為導入聚類模塊、確定聚類個數、訓練模型和預測結果四個部分如下圖。整個程序有幾個特定位置,通常也是算法的關鍵步驟,由學生進行代碼填空,不需要編寫所有語句。這樣,半成品代碼形式抓住了算法原理的關鍵,有效降低了程序實現的難度,保障了教學的順利實施,在此基礎上學生能夠提出設想,改編設計新的方案來解決同類問題。因此,實踐中不能好高騖遠,要以學段目標定位和學生認知能力為起點,根據學情基礎優化方法,教應有“術”,才能更好地促進算法學習。
3.“算”亦有形:資源平臺輔助,搭建支架
算法的抽象性決定了教學實施難度大,且執行過程難以觀測,而人工智能算法又比編程領域的基礎算法更加復雜,學生往往知其然而不知其所以然。因此,在教學中,教師可使用多種形式讓算法“有跡可循”,充分開發與利用學習資源,搭建學習支架,降低學生的認知負荷。算法常用的描述方式有自然語言、流程圖和偽代碼等,除此以外,還可以使用圖形、動畫、視頻和模擬工具等,豐富算法的視覺化效果,直觀呈現算法的實現過程,使學生的思維活動有具體表象的支持。
例如,在“搜索”的學習中,算法思想是在狀態空間樹中從初始狀態出發,按照條件找到目標解,主要包括深度優先搜索、廣度優先搜索、啟發式搜索等。搜索算法在中學信息學競賽中涉及較多,有經典的全排列、八皇后等問題,代碼簡潔,但過程復雜,教學中應盡可能演示求解的執行過程,如全排列問題,借助算法可視化模擬工具,通過參數設置分步動態演示,將每組數字排列生成的過程依次呈現,使抽象的搜索過程具體化、形象化,增加教學的趣味性和實效性。
與基礎算法相比,人工智能算法往往還需要平臺、算力和數據等的支持。例如,《義教課標》提到的推理和預測,在人工智能領域均依賴于數據模型的訓練,在課堂教學實踐中可適當引進人工智能開放平臺,體驗機器學習領域的建立數據集、定義模型、訓練模型、評估和部署模型等整個流程,認識在數據支持下預測、識別和檢測算法的應用,有助于增強學生的算法實踐能力。另外,學習支架還可以包括適合班級教學的人工智能應用,如機器人、智能音箱等,能更豐富地表達算法的運行結果,增強體驗效果,激發學生探究人工智能學科的興趣。
結語
算法教學不是注重結果的編程測試,而是在“做中學”,縱向上注重知識層次遞進的過程,橫向上關聯具體場景應用的分析。相信隨著人工智能應用領域的不斷擴大,算法將進一步優化,教師也需加強專業知識學習,有效利用和開發課程資源,幫助學生掌握算法原理,培養計算思維。
參考文獻:
[1]中華人民共和國教育部.普通高中信息技術課程標準(2017年版2020年修訂)[S].北京:人民教育出版社,2020.
[2]中華人民共和國教育部.義務教育信息科技課程標準(2022年版)[S].北京:北京師范大學出版社,2022.
[3]中國教育學會.中小學人工智能課程開發標準[EB/OL].[2021-10-20].http://www.cse.edu.cn/.
[4]謝忠新,曹楊璐,李盈.中小學人工智能課程內容設計探究[J].中國電化教育,2019(04):17-22.
[5]中央電化教育館.中小學人工智能技術與工程素養框架[EB/OL].[2021-11-30].https://www.ncet.edu.cn/zhuzhan/tztgao1/20211130/5505.html.