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

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

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

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

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

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

1緒論

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

2Python語言程序設(shè)計教學(xué)中存在的問題

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

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

2.2實驗課教學(xué)中存在的問題

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

3解決方案

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

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

3.2實驗課教學(xué)解決方案

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

4結(jié)語

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

參考文獻:

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

[2]嵩天,彭遠紅,宋文婷.理解和運用計算生態(tài)推動Python語言教學(xué)改革[J].計算機教育,2017(08):6.

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

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

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

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

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