前言:想要寫出一篇引人入勝的文章?我們特意為您整理了Python語言程序設計課程教學方法范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:當下人工智能領域的發(fā)展突飛猛進,python語言程序設計課程在高校開設已成為普遍現(xiàn)象,針對目前Python語言程序理論和實驗課教育教學過程中,學生動手能力不強,學習動力弱、解決問題能力不足等問題,提出了一種有效的教育教學方法,使學生在學習的過程中,更加得心應手,學習效果更加顯著。
關(guān)鍵詞:python語言程序設計;人工智能;教學方法
1緒論
隨著時代的迅速發(fā)展、科技的不斷進步,人工智能領域逐漸步入人們的日常生活中。隨之進入人們視野中的一個詞“Python”也在流行。Python語言由荷蘭數(shù)學和計算機科學研究學會的GuidovanRossum于1990年初設計的,它是一種解釋型腳本語言,應用極為廣泛[1]。2016年,教育部高等學校大學計算機課程教學指導委員會了《大學計算機基礎課程教學基本要求》,首次將Python語言作為程序設計入門課程的教學語言[2]。2018年3月起,教育部將Python語言列入全計算機等級考試科目中,在計算機二級考試中也加入了“Python語言程序設計”[3]。同時,從2021年2月份的TIOBE語言排榜中可以看出,Python語言僅次于C語言和Java語言排在第三的位置,表示Python語言最近這幾年的發(fā)展也是非??捎^的。近幾年,在本科教育教學過程中,大多數(shù)中職及高等院校將Python程序設計這門課程納入計算機專業(yè)的必修課程中。也有一些院校將Python程序程序設計這門課程作為公共基礎課,在校內(nèi)開展教學。Python語言有如此大的發(fā)展,離不開Python語言本身的優(yōu)勢,以及它優(yōu)越的性能。Python程序設計語言是一種面向?qū)ο?、有很強擴展性的解釋型語言[4],Python語言簡單易學,同時它是免費開源的,它的每一個模塊和庫都是開源的,并且代碼都可以在網(wǎng)上找到[5]。它有很強的可移植性,Python程序編寫完成后,無須修改就可以在Windows、Linux等操作系統(tǒng)中執(zhí)行,另外,它也有非常豐富的第三方庫,如用于數(shù)據(jù)分析的NumPy、pandas和matplotlib庫等。除了Python語言本身特點的優(yōu)勢外,它還有眾多的應用領域。比如用于圖形圖像處理、自然語言處理、web程序開發(fā)、科學計算和數(shù)據(jù)分析等。
2Python語言程序設計教學中存在的問題
2.1理論課教學中存在的問題
傳統(tǒng)的程序設計課程大多在理論課教室上課,實驗課在機房上課,這種上課模式在學生在學習的過程中,相對來說較為枯燥。因為在編程語言類課堂上,學生只在聽而得不到實踐,偶爾老師會在講臺上對程序進行演示、分析。以本校為例,學生也只是在看著老師在講臺上進行演示,加之上課之前所有的程序都在課前準備好的,一般都不會造成運行錯誤等問題。即使哪一部分代碼出錯,造成運行失敗,老師一般會做出更改,以讓學生看到正確的程序。對學生而言,學生看到的只是Python語言程序和程序的運行結(jié)果,對部分基礎較好的同學而言,這種學習方式是可以肯定的,但對于基礎較弱的同學而言,這種授課方式可能一時間接受度還比較低。加之計算機語言類的課程有些同學入門比較困難。在此之前做過一次調(diào)查問卷,共發(fā)下問卷108份,收回問卷94份。當問及關(guān)于學生學習動力弱的原因時,有62.77%的同學認為思路少,無從下手;22.34%的同學認為難度較大,同時另外分別有7.45%的同學不感興趣和屢試屢錯,沒有成就感,如圖1所示。在課程教學過程中,學生大多數(shù)都依賴于上課所用教材,對于課后理論內(nèi)容的學習素材,經(jīng)過問卷調(diào)查顯示,有54.26%的同學選擇網(wǎng)絡資源,課后還用理論教材學習的同學占40.43%,另外分別有2%的同學沒有課后學習素材或購買、借用輔導資料,此外還有1.06%的同學選擇其他,如圖2所示,通過這個選項,可以看出,學生在學習的過程中,將近有一半的同學課后還是依賴于課本內(nèi)容的學習,缺乏課外自主探究學習。此外,調(diào)查問卷還顯示,當問及學生的學習態(tài)度屬于哪一種時,有47.87%的同學態(tài)度屬于一般,分別有14.89%和6.38%的同學屬于不太積極和無學習意愿,另外有25.53%的同學比較積極,僅有5.32%的同學選擇十分積極,如圖3所示。相比較而言,學習對于課程內(nèi)容學習態(tài)度也是影響學習效果的一個方面因素。
2.2實驗課教學中存在的問題
專業(yè)實驗課的教學大多是在專業(yè)實驗室完成,教學模式多為以學生練習為主,指導教師講解為輔的方式,可以概括成“思考—操作—(老師)講解”這種方式,以本校為例,普遍的現(xiàn)象是實驗課在上課之前把每節(jié)實驗課所講的部分,實驗指導書發(fā)給大家,學生在看到實驗指導書后,對本節(jié)實驗課要操作的實驗內(nèi)容進行思考,以找解決的方式方法,完成實驗內(nèi)容,然后實驗課指導教師把實驗內(nèi)容做一個完整的講解,同學們在聽完指導老師講解之后完成本節(jié)課的實驗內(nèi)容。然而,這種做法也有一定的局限性,對于基礎較好的同學而言,無疑是一種好的教學模式,但對于基礎較弱的同學而言,和正常課堂教學模式幾乎沒有差別,還會有些問題模糊,不清楚如何做,還會像往常一樣,跟著老師的步驟操作,有些甚至直接把老師講過的代碼直接復制粘貼到實驗報告當中,達不到實驗課教學應有的教學效果。和2.1中提到的調(diào)查問卷相同,當問及學生在上機實驗時(多選),希望上機指導教師應用做些什么時,有61.7%的學生希望老師對每道題詳細講解,帶領大家一步一步完成項目,有47.87%選擇只講每道題的思路和難點,主要讓學生自己自我實踐,有48.94%選擇把題目思路形成文字發(fā)給大家,學生查閱資料獨立完成實驗,老師解惑答疑;有35.11%的同學選擇對題目分小組進行討論,然后進行實驗,最好是老師講解點評。如圖4所示。從調(diào)查結(jié)果看,大部分同學希望老師能對每道題做詳細講解。
3解決方案
3.1理論課教學解決方案
針對以上存在的問題,理論課教學遇到的問題可以通過以下方法進行解決。(1)課前。首先課前把要講授的內(nèi)容大綱在課前給同學們整理好發(fā)下去,讓大家自主看一下上課所要講授的內(nèi)容,在內(nèi)容上有個整體的概念。這樣在學習起來會更加有側(cè)重點,同時,學生在學習之前也可以把不清楚的問題先記下來,等到上課的時候把大家提交上來的問題起探討學習,同時布置相關(guān)的練習來滿足學生的學習需要。(2)課中。課中講解的時候,采用內(nèi)容類似比較的方式進行講解,如在講解Python中關(guān)于序列數(shù)據(jù)類型中的元組和列表部分內(nèi)容時,首先在介紹完元組的定義及特點之后可以再列舉列表的定義及特點,并分別舉例子進行說明比較。然后再介紹元組和列表的相同點和不同點。例如,以江紅等編著的教材《Python程序設計與算法基礎教程》第二版[6]第五章序列數(shù)據(jù)類型為基礎,講解元組和列表。首先,把本節(jié)課要講的章節(jié)大綱提前發(fā)給大家,讓同學們有足夠的時間來預習本節(jié)課所學的內(nèi)容,在上課時,首先,給出兩個例子,(1,2,3)和[1,2,3],讓同學們回答一下兩者的區(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]表示的是列表。由于它們分別是不可變對象和可變對象,因此對它們分別進行添加修改或刪除操作,來進行驗證。再探討元組和列表的共性,都可以進行索引訪問、切片等操作,并用實例進行演示。然后對列表的特性作細致的講解,如列表解析表達式及列表包含的方法,列表解析表達式需將基礎的語法結(jié)構(gòu),實踐操作做講解,再舉例說明列表解析表達式的用法,最后給同學們出一個練習題以鞏固加強所學內(nèi)容即可。列表包含的方法如append()方法、extend()方法、clear()方法、remove()方法、pop()方法、insert()方法等,再分別對append()和extend()及pop()、remove()做比較而得出各方法的用法,如pop()方法和remove()方法都是列表中用于移除元素的方法,pop()中如果含有索引下標數(shù)字,它的作用是用于刪除并返回該元素所處在位置的下標,如果pop()中省略索引下標,默認是刪除最后一個對象,而remove(x)方法則是移除列表中第一次出現(xiàn)的x,若對象不存在,則會導致出錯ValueError。同時,以append()和extend()方法做對比舉例,如表1所示。最后再對元組列表的知識點進行總結(jié)。如表2所示:(3)課后。課后除布置相關(guān)的課后作業(yè)外,分小組讓同學們完成相應的程序小游戲,如數(shù)字猜猜猜游戲、計算器小游戲、五子棋、人物拼圖等游戲讓同學們練習以增強同學們的實戰(zhàn)操作能力。把教材中出現(xiàn)的常見錯誤示例報錯整理成結(jié)構(gòu)合理的文檔發(fā)給同學們,以便同學們學習。給同學們找一些好的學習資源讓同學們自主探究學習,如中國大學MOOC學習平臺、超星學習通平臺、慕課平臺等,網(wǎng)上免費的學習資源還是相對來說也比較充足的,基本上都能找到與所學內(nèi)容相關(guān)的知識點。此外,筆者也在超星學習通平臺上傳了Python程序設計課程的視頻資源和學習資料,以供同學們學習。(4)課外。課外在學習的基礎上,要通過一定的實際操作演練才能把學到的知識加以運用,以體現(xiàn)學習知識的價值。另外,經(jīng)常組織同學們參加比賽,如“互聯(lián)網(wǎng)+”大學生創(chuàng)新創(chuàng)業(yè)大賽、中國大學生計算機設計大賽、全國大學生統(tǒng)計建模大賽、全國大學生電子商務三創(chuàng)挑戰(zhàn)賽、全國大學生電子設計大賽等一系列競賽以提高學生的知識運用及專業(yè)技能。
3.2實驗課教學解決方案
實驗課上機也是教育教學中一個重要的環(huán)節(jié),它是理論課上教師對教材知識點的講解的實踐,有個理論指導,實驗才能順利進行,因此,實驗課在教學中不僅僅是教同學們解題的思路和讓同學們上交實驗報告冊,更重要的是讓同學們掌握良好的學習方法。針對實驗課中存在的問題,提出“預(復)習—思考—操作—(教師)講解思路—再思考—再聽講—反思”的解決方法,得到了較好的教學效果。預(復)習就是在實驗課前把要講的實驗指導書提前發(fā)給同學們讓他們知道本節(jié)實驗課要做哪些內(nèi)容,以及做到對某些知識的鞏固;思考也就是說在知道做某一部分實驗內(nèi)容之后思考一下,這部分實驗內(nèi)容和書上的哪些知識點相關(guān)聯(lián),以及如何運用教材上的知識解決實驗指導書實驗內(nèi)容;下一步操作是經(jīng)過思考之后把想法轉(zhuǎn)變成實際的一種做法,當對實驗內(nèi)容有個想法之后,便會實際操作來解決問題,在進行代碼編寫、查看教材中的內(nèi)容沒有得不到解時,換一種思路,試試能否行得通;然后是教師講解解題思路,針對每節(jié)課的實驗指導書,對實驗內(nèi)容的實驗思路做講解,此時不編寫實驗代碼,只提供解題思路。如果在上一步有疑惑的同學就會按照新的思路來解決問題,進一步鞏固了知識點,開闊了同學們的視野,當聽過老師講解的解題思路后,學生再做進一步的思考;然后學生再思考、考慮老師的解題思路和自己做的時候解題思路的差異,對比差異,了解不足,以完善實驗內(nèi)容;接著是再聽講,在這一步,老師對實驗內(nèi)容做細致的講解,對每一個實驗內(nèi)容都做精講,同時把實驗代碼的實現(xiàn)思路也給同學們講解清楚,當同學們有疑問時,可以隨時進行提問,并給同學們認真解答所遇到的疑惑;最后就是反思,也就是同學們對未做出來實驗內(nèi)容、老師講解后做出來的以及老師未講就做出實驗內(nèi)容的反思,問題已經(jīng)解決的同學可以反思一下有沒有其他解決問題的方法,其他同學考慮為什么當時沒有這么想,或者按照老師的思路去想未做出實驗內(nèi)容的原因,之后完成實驗報告。筆者使用這種實驗課的教學模式經(jīng)試用也取得了一定成效。
4結(jié)語
Python語言程序設計教學方法的最終目的就是讓同學們在學校能夠?qū)W得知識的同時,感受到程序設計語言的魅力,并在以后的應用過程中,能夠靈活運用。因此,本文所探究的Python程序設計教學方法在理論課教學和實驗課教學過程中都有涉及,在一定程度上為Python語言程序設計課程教學起到了積極的作用,使學生的學習效果更加顯著。
參考文獻:
[1]范海燕.信息技術(shù)在Python教學應用中的思考———以Python環(huán)境搭建為例[J].湖北農(nóng)機化,2020(01):93.
[2]嵩天,彭遠紅,宋文婷.理解和運用計算生態(tài)推動Python語言教學改革[J].計算機教育,2017(08):6.
[3]許洪云,陳朝焰.新工科背景下Python教學探討與實踐[J].計算機時代,2021(02):96-98.
[4]王亞萍.《Python程序設計》課程思政改革的幾點思考[J].智庫時代,2020(10):146-147.
[5]曹潔,張王衛(wèi),等.Python程序設計與應用[M].北京:人民郵電出版社,2020.
[6]江紅,余青松.Python程序設計與算法基礎教程(第2版)[M].北京:清華大學出版社,2019.
作者:段亞西 徐成振 魏凌華 高艷玲 單位:淮北師范大學計算機科學與技術(shù)學院