◎鄧學明 (東莞市電子科技學校,廣東 東莞 523710)
1.人工智能教育的重要性
時代的快速發展、經濟的迅猛提升、科技的不斷進步造就了當下的互聯網+時代,其中,不得不提的就是人工智能與大數據,這兩者的相互影響正逐步滲透到各行各業當中.可預知,未來世界格局如何發展和變化必然與人工智能息息相關.基于此,我國在2017 年7 月就提出了全民人工智能教育,在《國務院關于印發新一代人工智能發展規劃的通知(國發2017[35 號])》中提出在中小學階段設置人工智能相關課程[1].這表明,人工智能教育早已經在國家層面提出了明確的規劃和要求,在中小學階段滲透人工智能教育為人工智能人才的培養做好鋪墊,人工智能的相關人才直接關系到國家的未來發展.因此,我們必須承認的是實施人工智能教育已經成為教育當中的一個趨勢.
2.中職數學課開展算法教學的第二課堂的可行性
隨著大數據時代的發展,中職學生從素質到特點都發生了變化.他們對于時下的各種人工智能產品非常感興趣,比如機器人、智能手機、無人機、無人駕駛等諸多智能產物.以我校為例,無人機專業的學生對無人機非常感興趣;電子商務專業的學生在互聯網+的背景下進行電子商務創業,很有想法;計算機專業的學生對網絡數據結構方面有很好的興趣和認識;體育運動專業的學生在健美操、足球、籃球方面取得非常突出的成績;藝術專業的同學在3D 動畫設計方面很有特色.所有這些實際上都和大數據、互聯網和智能化不可脫節.隨著我校三二分段的專業設置,每年都吸引著一批比較優秀的學生入讀,在這批學生中有相當一部分學生數學成績非常好,數學思維也很活躍,他們對于數學非常感興趣.因此,在中職數學課中,結合我校特色,我校開展算法教學的第二課堂,吸引對于人工智能、計算機編程及數學思維有興趣的同學參與,以此探索人工智能教育在中職學校如何開展是可行的.
筆者以我校為例,開設第二課堂的算法教學,探析中職學校如何借助數學課開展人工智能教育.
1.介紹算法的含義與實例
中職學生對于算法的概念多數停留在如何進行加減乘除乘方等運算層面,因此在開展算法教學的第二課堂,有必要向中職學生介紹算法的概念.
為了讓同學們對算法概念有一個初步正確的理解,教師可以讓同學們從狹義和廣義兩個層面進行認識.廣義上的算法范圍廣泛,比如同學們練習廣播操的分解步驟是一個算法,機器的使用說明書是一個算法,具體到數學上來,求解方程的根是一個算法,求兩個數的最大公因數也是一個算法.狹義的算法概念的表述更為嚴格,不同的學者對于算法的概念理解略有不同,但是本質上基本類似,亦即算法是為解決某一問題的程序或者步驟,必須具有以下幾個特點:確定性、有窮性、可行性、有序性和通用性[2].算法的表達形式通常有三種,分別為自然語言、程序框圖以及代碼或者程序[3].
2.介紹人工智能與算法的關系
人工智能的本質究竟是什么,學習算法又是為了什么,回答了這兩個問題,對于中職生來說很有必要,不僅可以讓他們明確人工智能是什么,也可以提升他們學習算法、了解人工智能的興趣.為此,在算法教學的第二課堂,教師有必要向學生回答上述兩個問題.
人工智能得以實現,必須借助的工具就是計算機;而計算機之所以能夠以其強大的運算功能來解決問題,離開不了的是算法及其指導下的操作程序.可以說,人工智能的發展本質上離開不了算法的發展.因此在培養學生人工智能素養時,必須重視算法教學的開展,為學生理解人工智能乃至未來從事人工智能相關行業的工作打下一個良好的基礎.
3.中職學校如何開設模塊化的算法教學
根據中職學生的數學思維水平及其學習特點,筆者認為在開展算法教學這一第二課堂時,對于算法教學的內容必須遵循從具體到抽象,從簡單到復雜,必須符合中職學生的認知水平,從而實現中職學校的人工智能教育的普及和發展.為此,筆者認為可以把算法教學進行模塊化,然后以模塊的形式進行教學,并進一步闡述如何實現人工智能在算法教學中的滲透.
教學模塊一:實際生活的算法實例教學.這一模塊的主要目的就是讓學生直觀認識算法,并進行算法自然語言的訓練,達到初步學習算法的目的.例如,家里燒開水的步驟可以敘述為:
第一步:用燒水壺裝好水;
第二步:把裝好水的燒水壺放好并插電;
第三步:燒水壺跳閘后取水.
通過這樣的訓練,讓學生掌握把一個問題的解決方法進行拆分,寫出若干個可以操作的簡單步驟,達到通過生活實例去感知算法的初步目的.在這樣的教學中,學生容易體會算法的基本特點.
教學模塊二:智力游戲的比拼教學.這一模塊的教學目的是拓展學生的思維領域,激發學生的潛在天賦.例如:有一個獵人帶著一條獵狗、一只兔子和一筐蔬菜來到大河邊,而河邊只有一艘很小的船,獵人每次只能帶狗、兔子和蔬菜中的一個過河,為了保證兔子不被狗吃掉,菜不被兔子吃掉,那么獵人應該如何過河? 回答這一問題,可采用如下的算法步驟:
第一步:獵人把兔子運到河對岸;
第二步:獵人獨自返回;
第三步:獵人把狗運到河對岸;
第四步:獵人放下狗,把兔子帶回;
第五步:獵人放下兔子,把菜運送到河對岸;
第六步:獵人放下菜,獨自返回;
第七步:獵人帶著兔子過河.
這樣的智力游戲,讓學生主動思考,積極參與到如何解決問題中來,可以很大程度上調動學生學習的興趣,為算法教學進一步打下堅實的基礎.
教學模塊三:簡易的純數學算法實例教學.這一模塊的教學目的是讓學生通過解決數學問題,能夠對算法在數學中的體現有更為深刻的認識.例如,寫出求解方程2x-1 =0的算法步驟,它可以表述如下:
第一步:兩邊同時加1 化簡方程為2x=1;
第二步:兩邊同時除以系數2;
第三步:算出方程的解x 的值.
如常見的判斷一元二次方程ax2+bx+c =0(a≠0)是否有根的算法用自然語言可表述如下:
第一步:輸入系數a,b,c;
第二步:計算Δ=b2-4ac 的值;
第三步:判斷Δ 與0 的關系,如果Δ≥0,則輸出“方程有實數根”,如果Δ<0,則輸出“方程無實數根”.
通過將解決數學問題的方法細化為多個步驟,讓學生體會算法的可操作性、順序性、有效性,提升算法教學的專業化程度.
教學模塊四:我國古代數學問題中的算法教學.在這一模塊,由教師展示我國古代數學著作中的經典問題,例如《九章算術》中記載的“今有人共買雞,人出九,盈十一;人出六,不足十六,問人數和雞價幾何?”《孫子算經》中的“韓信點兵”問題等.然后教師幫助學生理解這些數學問題,并轉化成現代語言,引導學生進行思考,如何求解.通過對這些著名問題的求解訓練,一方面弘揚我國的數學文化,一方面也讓同學們提升興趣,怎么用現在所學去解決古代的數學問題.可以為算法教學起到良好的潤滑作用.
教學模塊五:算法初步即程序框圖的教學.通過把自然算法語言轉化成程序框圖的學習,使得人工智能教育得到進一步升華.如前面提出的判斷一元二次方程ax2+bx+c =0(a≠0)是否有根的算法用程序框圖可表示如下:

通過程序框圖的教學,為數學算法轉化為計算機程序語言打下基礎,也是人工智能得以實現的一個關鍵環節,因此筆者認為本模塊的教學相當重要.在這一模塊的教學中,讓學生學會制作程序框圖,內容較為困難,因此需要進行深層次的挖掘和研究,以便更加適合中職學生學習.
教學模塊六:計算機語言的程序設計教學.這一模塊的教學目的是讓學生學會把數學算法轉化成計算機程序,實現人工智能的轉化.如前面提出的判斷一元二次方程ax2+bx+c=0(a≠0)是否有根的算法用計算機語言可表示如下:
計算機語言(basic 語言):
INPUT“a,b,c;”Δ=b2-4ac
IFΔ≥0 THEN
PRINT“有實根”
ELSE PRINT“無實根”
END IF
END
這一模塊的教學對于中職數學教師提出了較高的要求,它首先要求教師對于計算機語言掌握得很好,然后對于算法和計算機語言之間的相互轉化要了然于胸,唯有如此才能在教學中深入淺出讓學生明白如何書寫計算機程序語言.筆者認為,這一模塊的教學可以嘗試用數學教師和計算機教師結合的雙師合作教學,這樣的新型合作教方式,可以揚長避短,一方面,克服數學教師在計算機語言中存在的困難,另一方面,讓學生體會數學和計算機結合的人工智能的實現方式,從而提高教學效果.
筆者通過對學生的問卷調查和我校計算機以及數學教師的訪談,提出通過以上六個模塊的算法教學,開展我校基于算法模塊教學的第二課堂,達到培養中職學生人工智能素養的目的.對于各個模塊的內容設置多數同學表示非常感興趣,多數教師也認為可以實現.不同于普通高中開展算法教學的目的更多是應付高考,中職學校完全可以按照學生興趣加大課時,充分利用三年時間中的第二課堂,逐步推進人工智能教育的開展.因此,筆者認為利用這種方式進行人工智能教育的滲透,在中職學校是可行的,也期待相關課題得到進一步完善和研究.