譚杰文
【摘要】發展人工智能是國家對未來發展需要的思考,高中階段引入Python課程是國家未來發展人工智能學習和建立人工智能高地的重要途徑,嘗試用不同的方式在高中信息技術課中引入Python編程課程,總結出一些比較行之有效的教學方法,并形成常規的教學手段,提高高中階段Python編程課程的教學質量,提高高中學生的計算思維和利用程序解決問題能力,是教育現代化中發展人工智能學習一種革新的手段。
一、引言
新課標將計算機編程和算法學習放到了高一必修模塊,這凸顯了目前國家對于計算機編程和算法學習的重視。在2017年國家制定的《新一代人工智能發展規劃》中,要求逐步開展全民智能教育項目,在中小學階段設置人工智能相關課程、逐步推廣編程教育、建設人工智能學科,打造人工智能創新高地?!癙ython”作為當前和人工智能最親近的語言,理所當然成為開設人工智能科目課程的必然選擇。浙江省、北京市、山東省三地已經把”Python“納入中小學信息技術課程和高考內容體系,廣東省最新的信息技術教材《數據與計算》,也涉及大部分的Python知識內容。因此,中學開展“Python”課程學習,刻不容緩。
二、當前高中學生對編程知識認知的現狀分析
目前,從小學階段到高中階段,只有到了初中階段才開始開設有VB編程課內容,而其中內容的覆蓋面也比較少,只涉及到一些基本的語法基礎和理論,高中階段也并沒有開設難度更高、內容更多的編程課程,因此當前的高中學生對于編程知識方面的理解相對是比較陌生的,對于編程解決問題和人工智能等概念也相對籠統。
三、在高中班別中引入“Python”學習的幾種方式嘗試
1.照本宣科,直接講述引入方式:
直接向學生講述“Python”是一種解釋型語言、是一種高級編程語言,介紹這種語言功能強大,免費、開源;類庫極其豐富,不管是傳統的Web開發、軟件開發、數據分析、網絡爬蟲、機器學習等很多方面都能勝任。然后向學生介紹她的搭建環境、所使用的IDE軟件有哪些,如何編寫代碼及運行代碼。通過前面的基本介紹后,按照常規學習編程的方法,開始向學生講授”Python“的變量類型及運算符等知識。
2.提出問題用Python解決問題方式引入:
問題1:想知道自己的體重指數嗎?輸入體重和身高數據,通過計算輸出體重指數值。把輸出的體重指數和BMI表對比,查看不同人群的體重指數屬于“偏低”、“正?!?超重”、“ 肥胖”中的哪一種。
教師在學生面前用Python編寫程序代碼,用Input函數和Float函數完成數據輸入和轉換,然后通過體重指數計算公式計算出當前數據的體重指數數值,用Print函數輸出體重指數結果數值。程序編寫調試完成后,教師先讓幾個學生指定身高和體重數據,在教師電腦上運行程序得到輸出數值,將輸出的數值和BMI表進行比較,得到結果。然后教師把Python程序文件和BMI表文件發到學生電腦上,讓學生自己親身嘗試使用這個程序,讓他們尋找不同人群不同輸入數值會得到什么樣的測試結果。
問題2:猜數字游戲,輸入一個數,判斷輸入數是否和系統隨機生成數相等,如果不相等,輸出此輸入數是大于或者是小于隨機數,繼續重復輸入判斷,如果相等,則輸出祝賀語句和輸入總次數,程序結束。
教師在學生面前編寫程序代碼,利用Python的Random庫的Randint函數生成一個隨機整數,然后用Python while循環語句判斷輸入數和隨機數是否相等,輸出結果。程序編寫測試完成后,教師在電腦上運行程序,讓學生猜數字,直到正確猜到隨機為止;然后教師把程序文件發到學生電腦上,讓學生單獨體驗,最后,讓同學之間相互猜數字,看誰能最快猜到。
3.通過繪制圖形激發興趣引入:
通過Python中的Turtle庫,用這個庫繪制多種不同的圖形,教師向學生展示Python Turtle庫畫圖的能力,具體操作如下:
第一個實踐操作:教師首先打開Python自帶的IDLE,利用import 指令導入turtle庫,讓學生指定圓的半徑, 用circle函數畫圓、加入steps參數畫多邊形。然后讓學生打開Python的IDLE,輸入import turtle 指令后用circle函數畫圓、畫多邊形。
第二個實踐操作:教師在IDLE文件菜單中新建文件,編寫利用turtle庫畫圖代碼,并用input函數通過輸入參數指定圓的半徑和填充顏色,程序調試完成后保存,把程序文件發到學生電腦,讓學生打開并按F5運行,讓他們輸入自己喜歡的顏色和圓的半徑,查看運行效果。
第三個實踐操作:教師利用for循環語句編寫一個畫五角星的程序,并用input函數通過輸入參數指定五角星大小、坐標位置和填充顏色,程序調試完成后保存,把程序文件發到學生電腦,讓學生運行程序,輸入他們自己喜歡的顏色、五角星位置和大小。查看運行效果。
四、通過以上幾種不同方式引入Python課程后的小結
1.用第一種方式引入Python編程課,看到學生對編程語言有點難以理解,對編程學習積極性不大。繼續用這種方式上幾節課后,有些學生學習熱情低落,甚至個別出現厭倦情緒, 學習的效果比較差。
2.第二種方式引入Python編程課,能勾起學生的求知欲;編程只用短短幾行代碼就能解決問題,消除了他們對編程的敬畏感,提起了他們對學習編程的興趣,學習編程的積極性也大大提高,在之后幾節課用同樣的方式上課,他們學習編程的熱情很高,學習效果也不錯。
3.用第三種方式引入Python編程課,學生好奇、好玩的心理讓他們對Python編程產生濃厚的興趣,學習的積極性也很高,之后學習Python編程的課堂氛圍也很好。
五、總結
對于學生來說,學習編程的第一課非常重要,通過幾個班用不同的上課方式發現,只要開始的時候能夠學生的學習積極性調動起來,接下來的課程就會容易很多,學生學習編程的氛圍就會活躍起來,大家可以共同探討編程學習上遇到的問題,互相幫助。如果第一課沒有調動起學生的對編程學習的積極性,那么接下來課程學習中,有些學生會出現一點抗拒的情緒,興趣不高,課堂比較冷清。
最后,我們發現,對于學習Python編程,普通高中的學生只是被動的學習者,他們需要教師通過不的教學方式去激發他們自身對Python編程學習的興趣和積極性,從第一課的引入到后面基礎知識的學習,必須要調動他們對Python編程學習的積極性。另外,教師Python課中,有層次地、適當地向他們灌輸如何利用計算機解決問題的基本思想和方法,并用Python編程語言解決一些相應的實際應用問題,他們對編程語言的理解會更好,他們對問題的解決能力、計算思維、信息素養、編程能力都得到了很大提高。