

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