公務(wù)員期刊網(wǎng) 論文中心 正文

Python語(yǔ)言程序設(shè)計(jì)課程教學(xué)方法

前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了Python語(yǔ)言程序設(shè)計(jì)課程教學(xué)方法范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。

Python語(yǔ)言程序設(shè)計(jì)課程教學(xué)方法

摘要:當(dāng)下人工智能領(lǐng)域的發(fā)展突飛猛進(jìn),python語(yǔ)言程序設(shè)計(jì)課程在高校開(kāi)設(shè)已成為普遍現(xiàn)象,針對(duì)目前Python語(yǔ)言程序理論和實(shí)驗(yàn)課教育教學(xué)過(guò)程中,學(xué)生動(dòng)手能力不強(qiáng),學(xué)習(xí)動(dòng)力弱、解決問(wèn)題能力不足等問(wèn)題,提出了一種有效的教育教學(xué)方法,使學(xué)生在學(xué)習(xí)的過(guò)程中,更加得心應(yīng)手,學(xué)習(xí)效果更加顯著。

關(guān)鍵詞:python語(yǔ)言程序設(shè)計(jì);人工智能;教學(xué)方法

1緒論

隨著時(shí)代的迅速發(fā)展、科技的不斷進(jìn)步,人工智能領(lǐng)域逐漸步入人們的日常生活中。隨之進(jìn)入人們視野中的一個(gè)詞“Python”也在流行。Python語(yǔ)言由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會(huì)的GuidovanRossum于1990年初設(shè)計(jì)的,它是一種解釋型腳本語(yǔ)言,應(yīng)用極為廣泛[1]。2016年,教育部高等學(xué)校大學(xué)計(jì)算機(jī)課程教學(xué)指導(dǎo)委員會(huì)了《大學(xué)計(jì)算機(jī)基礎(chǔ)課程教學(xué)基本要求》,首次將Python語(yǔ)言作為程序設(shè)計(jì)入門(mén)課程的教學(xué)語(yǔ)言[2]。2018年3月起,教育部將Python語(yǔ)言列入全計(jì)算機(jī)等級(jí)考試科目中,在計(jì)算機(jī)二級(jí)考試中也加入了“Python語(yǔ)言程序設(shè)計(jì)”[3]。同時(shí),從2021年2月份的TIOBE語(yǔ)言排榜中可以看出,Python語(yǔ)言僅次于C語(yǔ)言和Java語(yǔ)言排在第三的位置,表示Python語(yǔ)言最近這幾年的發(fā)展也是非??捎^的。近幾年,在本科教育教學(xué)過(guò)程中,大多數(shù)中職及高等院校將Python程序設(shè)計(jì)這門(mén)課程納入計(jì)算機(jī)專業(yè)的必修課程中。也有一些院校將Python程序程序設(shè)計(jì)這門(mén)課程作為公共基礎(chǔ)課,在校內(nèi)開(kāi)展教學(xué)。Python語(yǔ)言有如此大的發(fā)展,離不開(kāi)Python語(yǔ)言本身的優(yōu)勢(shì),以及它優(yōu)越的性能。Python程序設(shè)計(jì)語(yǔ)言是一種面向?qū)ο?、有很?qiáng)擴(kuò)展性的解釋型語(yǔ)言[4],Python語(yǔ)言簡(jiǎn)單易學(xué),同時(shí)它是免費(fèi)開(kāi)源的,它的每一個(gè)模塊和庫(kù)都是開(kāi)源的,并且代碼都可以在網(wǎng)上找到[5]。它有很強(qiáng)的可移植性,Python程序編寫(xiě)完成后,無(wú)須修改就可以在Windows、Linux等操作系統(tǒng)中執(zhí)行,另外,它也有非常豐富的第三方庫(kù),如用于數(shù)據(jù)分析的NumPy、pandas和matplotlib庫(kù)等。除了Python語(yǔ)言本身特點(diǎn)的優(yōu)勢(shì)外,它還有眾多的應(yīng)用領(lǐng)域。比如用于圖形圖像處理、自然語(yǔ)言處理、web程序開(kāi)發(fā)、科學(xué)計(jì)算和數(shù)據(jù)分析等。

2Python語(yǔ)言程序設(shè)計(jì)教學(xué)中存在的問(wèn)題

2.1理論課教學(xué)中存在的問(wèn)題

傳統(tǒng)的程序設(shè)計(jì)課程大多在理論課教室上課,實(shí)驗(yàn)課在機(jī)房上課,這種上課模式在學(xué)生在學(xué)習(xí)的過(guò)程中,相對(duì)來(lái)說(shuō)較為枯燥。因?yàn)樵诰幊陶Z(yǔ)言類課堂上,學(xué)生只在聽(tīng)而得不到實(shí)踐,偶爾老師會(huì)在講臺(tái)上對(duì)程序進(jìn)行演示、分析。以本校為例,學(xué)生也只是在看著老師在講臺(tái)上進(jìn)行演示,加之上課之前所有的程序都在課前準(zhǔn)備好的,一般都不會(huì)造成運(yùn)行錯(cuò)誤等問(wèn)題。即使哪一部分代碼出錯(cuò),造成運(yùn)行失敗,老師一般會(huì)做出更改,以讓學(xué)生看到正確的程序。對(duì)學(xué)生而言,學(xué)生看到的只是Python語(yǔ)言程序和程序的運(yùn)行結(jié)果,對(duì)部分基礎(chǔ)較好的同學(xué)而言,這種學(xué)習(xí)方式是可以肯定的,但對(duì)于基礎(chǔ)較弱的同學(xué)而言,這種授課方式可能一時(shí)間接受度還比較低。加之計(jì)算機(jī)語(yǔ)言類的課程有些同學(xué)入門(mén)比較困難。在此之前做過(guò)一次調(diào)查問(wèn)卷,共發(fā)下問(wèn)卷108份,收回問(wèn)卷94份。當(dāng)問(wèn)及關(guān)于學(xué)生學(xué)習(xí)動(dòng)力弱的原因時(shí),有62.77%的同學(xué)認(rèn)為思路少,無(wú)從下手;22.34%的同學(xué)認(rèn)為難度較大,同時(shí)另外分別有7.45%的同學(xué)不感興趣和屢試屢錯(cuò),沒(méi)有成就感,如圖1所示。在課程教學(xué)過(guò)程中,學(xué)生大多數(shù)都依賴于上課所用教材,對(duì)于課后理論內(nèi)容的學(xué)習(xí)素材,經(jīng)過(guò)問(wèn)卷調(diào)查顯示,有54.26%的同學(xué)選擇網(wǎng)絡(luò)資源,課后還用理論教材學(xué)習(xí)的同學(xué)占40.43%,另外分別有2%的同學(xué)沒(méi)有課后學(xué)習(xí)素材或購(gòu)買(mǎi)、借用輔導(dǎo)資料,此外還有1.06%的同學(xué)選擇其他,如圖2所示,通過(guò)這個(gè)選項(xiàng),可以看出,學(xué)生在學(xué)習(xí)的過(guò)程中,將近有一半的同學(xué)課后還是依賴于課本內(nèi)容的學(xué)習(xí),缺乏課外自主探究學(xué)習(xí)。此外,調(diào)查問(wèn)卷還顯示,當(dāng)問(wèn)及學(xué)生的學(xué)習(xí)態(tài)度屬于哪一種時(shí),有47.87%的同學(xué)態(tài)度屬于一般,分別有14.89%和6.38%的同學(xué)屬于不太積極和無(wú)學(xué)習(xí)意愿,另外有25.53%的同學(xué)比較積極,僅有5.32%的同學(xué)選擇十分積極,如圖3所示。相比較而言,學(xué)習(xí)對(duì)于課程內(nèi)容學(xué)習(xí)態(tài)度也是影響學(xué)習(xí)效果的一個(gè)方面因素。

2.2實(shí)驗(yàn)課教學(xué)中存在的問(wèn)題

專業(yè)實(shí)驗(yàn)課的教學(xué)大多是在專業(yè)實(shí)驗(yàn)室完成,教學(xué)模式多為以學(xué)生練習(xí)為主,指導(dǎo)教師講解為輔的方式,可以概括成“思考—操作—(老師)講解”這種方式,以本校為例,普遍的現(xiàn)象是實(shí)驗(yàn)課在上課之前把每節(jié)實(shí)驗(yàn)課所講的部分,實(shí)驗(yàn)指導(dǎo)書(shū)發(fā)給大家,學(xué)生在看到實(shí)驗(yàn)指導(dǎo)書(shū)后,對(duì)本節(jié)實(shí)驗(yàn)課要操作的實(shí)驗(yàn)內(nèi)容進(jìn)行思考,以找解決的方式方法,完成實(shí)驗(yàn)內(nèi)容,然后實(shí)驗(yàn)課指導(dǎo)教師把實(shí)驗(yàn)內(nèi)容做一個(gè)完整的講解,同學(xué)們?cè)诼?tīng)完指導(dǎo)老師講解之后完成本節(jié)課的實(shí)驗(yàn)內(nèi)容。然而,這種做法也有一定的局限性,對(duì)于基礎(chǔ)較好的同學(xué)而言,無(wú)疑是一種好的教學(xué)模式,但對(duì)于基礎(chǔ)較弱的同學(xué)而言,和正常課堂教學(xué)模式幾乎沒(méi)有差別,還會(huì)有些問(wèn)題模糊,不清楚如何做,還會(huì)像往常一樣,跟著老師的步驟操作,有些甚至直接把老師講過(guò)的代碼直接復(fù)制粘貼到實(shí)驗(yàn)報(bào)告當(dāng)中,達(dá)不到實(shí)驗(yàn)課教學(xué)應(yīng)有的教學(xué)效果。和2.1中提到的調(diào)查問(wèn)卷相同,當(dāng)問(wèn)及學(xué)生在上機(jī)實(shí)驗(yàn)時(shí)(多選),希望上機(jī)指導(dǎo)教師應(yīng)用做些什么時(shí),有61.7%的學(xué)生希望老師對(duì)每道題詳細(xì)講解,帶領(lǐng)大家一步一步完成項(xiàng)目,有47.87%選擇只講每道題的思路和難點(diǎn),主要讓學(xué)生自己自我實(shí)踐,有48.94%選擇把題目思路形成文字發(fā)給大家,學(xué)生查閱資料獨(dú)立完成實(shí)驗(yàn),老師解惑答疑;有35.11%的同學(xué)選擇對(duì)題目分小組進(jìn)行討論,然后進(jìn)行實(shí)驗(yàn),最好是老師講解點(diǎn)評(píng)。如圖4所示。從調(diào)查結(jié)果看,大部分同學(xué)希望老師能對(duì)每道題做詳細(xì)講解。

3解決方案

3.1理論課教學(xué)解決方案

針對(duì)以上存在的問(wèn)題,理論課教學(xué)遇到的問(wèn)題可以通過(guò)以下方法進(jìn)行解決。(1)課前。首先課前把要講授的內(nèi)容大綱在課前給同學(xué)們整理好發(fā)下去,讓大家自主看一下上課所要講授的內(nèi)容,在內(nèi)容上有個(gè)整體的概念。這樣在學(xué)習(xí)起來(lái)會(huì)更加有側(cè)重點(diǎn),同時(shí),學(xué)生在學(xué)習(xí)之前也可以把不清楚的問(wèn)題先記下來(lái),等到上課的時(shí)候把大家提交上來(lái)的問(wèn)題起探討學(xué)習(xí),同時(shí)布置相關(guān)的練習(xí)來(lái)滿足學(xué)生的學(xué)習(xí)需要。(2)課中。課中講解的時(shí)候,采用內(nèi)容類似比較的方式進(jìn)行講解,如在講解Python中關(guān)于序列數(shù)據(jù)類型中的元組和列表部分內(nèi)容時(shí),首先在介紹完元組的定義及特點(diǎn)之后可以再列舉列表的定義及特點(diǎn),并分別舉例子進(jìn)行說(shuō)明比較。然后再介紹元組和列表的相同點(diǎn)和不同點(diǎn)。例如,以江紅等編著的教材《Python程序設(shè)計(jì)與算法基礎(chǔ)教程》第二版[6]第五章序列數(shù)據(jù)類型為基礎(chǔ),講解元組和列表。首先,把本節(jié)課要講的章節(jié)大綱提前發(fā)給大家,讓同學(xué)們有足夠的時(shí)間來(lái)預(yù)習(xí)本節(jié)課所學(xué)的內(nèi)容,在上課時(shí),首先,給出兩個(gè)例子,(1,2,3)和[1,2,3],讓同學(xué)們回答一下兩者的區(qū)別,分別從表面和具體的內(nèi)容上做出解釋。然后給出書(shū)面上元組的定義,它是一組有序序列,包含零個(gè)或多個(gè)對(duì)象引用[6]。它是不可變的對(duì)象,它的基本形式為x1,[x2,…,xn]或者(x1,[x2,…,xn]),其中x1,x2,…,xn為任意對(duì)象。接著,介紹列表的定義,它是一組有序序列的數(shù)據(jù)結(jié)構(gòu),同時(shí)列表是可變的,可以刪除、修改、添加、查看列表中的元素,它的基本形式為[x1,[,x2,…,xn]]。對(duì)比上面兩個(gè)例子可知,其中(1,2,3)所表示的是元組,而[1,2,3]表示的是列表。由于它們分別是不可變對(duì)象和可變對(duì)象,因此對(duì)它們分別進(jìn)行添加修改或刪除操作,來(lái)進(jìn)行驗(yàn)證。再探討元組和列表的共性,都可以進(jìn)行索引訪問(wèn)、切片等操作,并用實(shí)例進(jìn)行演示。然后對(duì)列表的特性作細(xì)致的講解,如列表解析表達(dá)式及列表包含的方法,列表解析表達(dá)式需將基礎(chǔ)的語(yǔ)法結(jié)構(gòu),實(shí)踐操作做講解,再舉例說(shuō)明列表解析表達(dá)式的用法,最后給同學(xué)們出一個(gè)練習(xí)題以鞏固加強(qiáng)所學(xué)內(nèi)容即可。列表包含的方法如append()方法、extend()方法、clear()方法、remove()方法、pop()方法、insert()方法等,再分別對(duì)append()和extend()及pop()、remove()做比較而得出各方法的用法,如pop()方法和remove()方法都是列表中用于移除元素的方法,pop()中如果含有索引下標(biāo)數(shù)字,它的作用是用于刪除并返回該元素所處在位置的下標(biāo),如果pop()中省略索引下標(biāo),默認(rèn)是刪除最后一個(gè)對(duì)象,而remove(x)方法則是移除列表中第一次出現(xiàn)的x,若對(duì)象不存在,則會(huì)導(dǎo)致出錯(cuò)ValueError。同時(shí),以append()和extend()方法做對(duì)比舉例,如表1所示。最后再對(duì)元組列表的知識(shí)點(diǎn)進(jìn)行總結(jié)。如表2所示:(3)課后。課后除布置相關(guān)的課后作業(yè)外,分小組讓同學(xué)們完成相應(yīng)的程序小游戲,如數(shù)字猜猜猜游戲、計(jì)算器小游戲、五子棋、人物拼圖等游戲讓同學(xué)們練習(xí)以增強(qiáng)同學(xué)們的實(shí)戰(zhàn)操作能力。把教材中出現(xiàn)的常見(jiàn)錯(cuò)誤示例報(bào)錯(cuò)整理成結(jié)構(gòu)合理的文檔發(fā)給同學(xué)們,以便同學(xué)們學(xué)習(xí)。給同學(xué)們找一些好的學(xué)習(xí)資源讓同學(xué)們自主探究學(xué)習(xí),如中國(guó)大學(xué)MOOC學(xué)習(xí)平臺(tái)、超星學(xué)習(xí)通平臺(tái)、慕課平臺(tái)等,網(wǎng)上免費(fèi)的學(xué)習(xí)資源還是相對(duì)來(lái)說(shuō)也比較充足的,基本上都能找到與所學(xué)內(nèi)容相關(guān)的知識(shí)點(diǎn)。此外,筆者也在超星學(xué)習(xí)通平臺(tái)上傳了Python程序設(shè)計(jì)課程的視頻資源和學(xué)習(xí)資料,以供同學(xué)們學(xué)習(xí)。(4)課外。課外在學(xué)習(xí)的基礎(chǔ)上,要通過(guò)一定的實(shí)際操作演練才能把學(xué)到的知識(shí)加以運(yùn)用,以體現(xiàn)學(xué)習(xí)知識(shí)的價(jià)值。另外,經(jīng)常組織同學(xué)們參加比賽,如“互聯(lián)網(wǎng)+”大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽、中國(guó)大學(xué)生計(jì)算機(jī)設(shè)計(jì)大賽、全國(guó)大學(xué)生統(tǒng)計(jì)建模大賽、全國(guó)大學(xué)生電子商務(wù)三創(chuàng)挑戰(zhàn)賽、全國(guó)大學(xué)生電子設(shè)計(jì)大賽等一系列競(jìng)賽以提高學(xué)生的知識(shí)運(yùn)用及專業(yè)技能。

3.2實(shí)驗(yàn)課教學(xué)解決方案

實(shí)驗(yàn)課上機(jī)也是教育教學(xué)中一個(gè)重要的環(huán)節(jié),它是理論課上教師對(duì)教材知識(shí)點(diǎn)的講解的實(shí)踐,有個(gè)理論指導(dǎo),實(shí)驗(yàn)才能順利進(jìn)行,因此,實(shí)驗(yàn)課在教學(xué)中不僅僅是教同學(xué)們解題的思路和讓同學(xué)們上交實(shí)驗(yàn)報(bào)告冊(cè),更重要的是讓同學(xué)們掌握良好的學(xué)習(xí)方法。針對(duì)實(shí)驗(yàn)課中存在的問(wèn)題,提出“預(yù)(復(fù))習(xí)—思考—操作—(教師)講解思路—再思考—再聽(tīng)講—反思”的解決方法,得到了較好的教學(xué)效果。預(yù)(復(fù))習(xí)就是在實(shí)驗(yàn)課前把要講的實(shí)驗(yàn)指導(dǎo)書(shū)提前發(fā)給同學(xué)們讓他們知道本節(jié)實(shí)驗(yàn)課要做哪些內(nèi)容,以及做到對(duì)某些知識(shí)的鞏固;思考也就是說(shuō)在知道做某一部分實(shí)驗(yàn)內(nèi)容之后思考一下,這部分實(shí)驗(yàn)內(nèi)容和書(shū)上的哪些知識(shí)點(diǎn)相關(guān)聯(lián),以及如何運(yùn)用教材上的知識(shí)解決實(shí)驗(yàn)指導(dǎo)書(shū)實(shí)驗(yàn)內(nèi)容;下一步操作是經(jīng)過(guò)思考之后把想法轉(zhuǎn)變成實(shí)際的一種做法,當(dāng)對(duì)實(shí)驗(yàn)內(nèi)容有個(gè)想法之后,便會(huì)實(shí)際操作來(lái)解決問(wèn)題,在進(jìn)行代碼編寫(xiě)、查看教材中的內(nèi)容沒(méi)有得不到解時(shí),換一種思路,試試能否行得通;然后是教師講解解題思路,針對(duì)每節(jié)課的實(shí)驗(yàn)指導(dǎo)書(shū),對(duì)實(shí)驗(yàn)內(nèi)容的實(shí)驗(yàn)思路做講解,此時(shí)不編寫(xiě)實(shí)驗(yàn)代碼,只提供解題思路。如果在上一步有疑惑的同學(xué)就會(huì)按照新的思路來(lái)解決問(wèn)題,進(jìn)一步鞏固了知識(shí)點(diǎn),開(kāi)闊了同學(xué)們的視野,當(dāng)聽(tīng)過(guò)老師講解的解題思路后,學(xué)生再做進(jìn)一步的思考;然后學(xué)生再思考、考慮老師的解題思路和自己做的時(shí)候解題思路的差異,對(duì)比差異,了解不足,以完善實(shí)驗(yàn)內(nèi)容;接著是再聽(tīng)講,在這一步,老師對(duì)實(shí)驗(yàn)內(nèi)容做細(xì)致的講解,對(duì)每一個(gè)實(shí)驗(yàn)內(nèi)容都做精講,同時(shí)把實(shí)驗(yàn)代碼的實(shí)現(xiàn)思路也給同學(xué)們講解清楚,當(dāng)同學(xué)們有疑問(wèn)時(shí),可以隨時(shí)進(jìn)行提問(wèn),并給同學(xué)們認(rèn)真解答所遇到的疑惑;最后就是反思,也就是同學(xué)們對(duì)未做出來(lái)實(shí)驗(yàn)內(nèi)容、老師講解后做出來(lái)的以及老師未講就做出實(shí)驗(yàn)內(nèi)容的反思,問(wèn)題已經(jīng)解決的同學(xué)可以反思一下有沒(méi)有其他解決問(wèn)題的方法,其他同學(xué)考慮為什么當(dāng)時(shí)沒(méi)有這么想,或者按照老師的思路去想未做出實(shí)驗(yàn)內(nèi)容的原因,之后完成實(shí)驗(yàn)報(bào)告。筆者使用這種實(shí)驗(yàn)課的教學(xué)模式經(jīng)試用也取得了一定成效。

4結(jié)語(yǔ)

Python語(yǔ)言程序設(shè)計(jì)教學(xué)方法的最終目的就是讓同學(xué)們?cè)趯W(xué)校能夠?qū)W得知識(shí)的同時(shí),感受到程序設(shè)計(jì)語(yǔ)言的魅力,并在以后的應(yīng)用過(guò)程中,能夠靈活運(yùn)用。因此,本文所探究的Python程序設(shè)計(jì)教學(xué)方法在理論課教學(xué)和實(shí)驗(yàn)課教學(xué)過(guò)程中都有涉及,在一定程度上為Python語(yǔ)言程序設(shè)計(jì)課程教學(xué)起到了積極的作用,使學(xué)生的學(xué)習(xí)效果更加顯著。

參考文獻(xiàn):

[1]范海燕.信息技術(shù)在Python教學(xué)應(yīng)用中的思考———以Python環(huán)境搭建為例[J].湖北農(nóng)機(jī)化,2020(01):93.

[2]嵩天,彭遠(yuǎn)紅,宋文婷.理解和運(yùn)用計(jì)算生態(tài)推動(dòng)Python語(yǔ)言教學(xué)改革[J].計(jì)算機(jī)教育,2017(08):6.

[3]許洪云,陳朝焰.新工科背景下Python教學(xué)探討與實(shí)踐[J].計(jì)算機(jī)時(shí)代,2021(02):96-98.

[4]王亞萍.《Python程序設(shè)計(jì)》課程思政改革的幾點(diǎn)思考[J].智庫(kù)時(shí)代,2020(10):146-147.

[5]曹潔,張王衛(wèi),等.Python程序設(shè)計(jì)與應(yīng)用[M].北京:人民郵電出版社,2020.

[6]江紅,余青松.Python程序設(shè)計(jì)與算法基礎(chǔ)教程(第2版)[M].北京:清華大學(xué)出版社,2019.

作者:段亞西 徐成振 魏凌華 高艷玲 單位:淮北師范大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院