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