摘要:在新工科背景下,各地高校積極探索機(jī)器人專業(yè)的課程建設(shè),其中Python程序設(shè)計(jì)是該專業(yè)的一門選修課,該課程具有理論性和實(shí)踐性強(qiáng)的特點(diǎn)。本文結(jié)合新疆理工學(xué)院機(jī)器人專業(yè)學(xué)生的特點(diǎn),從課程內(nèi)容、課程方法、課程考核3個(gè)方面,對(duì)該課程進(jìn)行教學(xué)改革與探索,引導(dǎo)學(xué)生快速掌握基礎(chǔ)知識(shí),提高學(xué)生的學(xué)習(xí)主動(dòng)性,培養(yǎng)學(xué)生的編程能力。
關(guān)鍵詞:Python語言;教學(xué)改革;程序設(shè)計(jì);編程能力
中圖分類號(hào):TB"""""""文獻(xiàn)標(biāo)識(shí)碼:A""""""doi:10.19311/j.cnki.16723198.2025.03.084
0"引言
Python是一種高級(jí)、通用、解釋型的編程語言,簡潔易讀,擁有龐大的標(biāo)準(zhǔn)庫和第三方庫,具有能在多個(gè)操作系統(tǒng)上運(yùn)行的跨平臺(tái)特性[1]。隨著人工智能和機(jī)器學(xué)習(xí)等技術(shù)的迅猛發(fā)展,Python語言在這些領(lǐng)域的地位和重要性也逐漸彰顯出來,成為最受歡迎的編程語言之一[2]。Python程序設(shè)計(jì)課程有較強(qiáng)的理論性與實(shí)踐性,如果使用傳統(tǒng)教學(xué)方式,可能導(dǎo)致學(xué)生對(duì)知識(shí)的理解不深刻,難以應(yīng)用和拓展[3]。本文以機(jī)器人工程專業(yè)為背景,致力于積極探索適合的教學(xué)方法和途徑,旨在提升學(xué)生的程序設(shè)計(jì)水平和計(jì)算機(jī)能力,培養(yǎng)高素質(zhì)的應(yīng)用型人才,以滿足社會(huì)的服務(wù)需求。
1"課程存在的問題
1.1"課程內(nèi)容
Python程序設(shè)計(jì)課程的主要內(nèi)容包括:Python基礎(chǔ)知識(shí)、Python中的數(shù)據(jù)結(jié)構(gòu)、Python中的結(jié)構(gòu)語句、Python函數(shù)與模塊、Python面向?qū)ο缶幊?。其中,Python的基本數(shù)據(jù)結(jié)構(gòu)中的數(shù)字和字符串與C語言中的基本數(shù)據(jù)類型相似,結(jié)構(gòu)語句中的順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)等與C語言中的結(jié)構(gòu)語句也較為相似。在函數(shù)模塊,Python中的函數(shù)與C語言中的函數(shù)較為接近[4]。大多數(shù)學(xué)生在學(xué)習(xí)Python程序設(shè)計(jì)之前已系統(tǒng)學(xué)習(xí)過C語言,具有一定的編程語言基礎(chǔ),Python語言內(nèi)容簡單易懂,具有豐富的標(biāo)準(zhǔn)庫和大量的第三方模塊。Python"語言程序設(shè)計(jì)課程在高校中大多作為計(jì)算機(jī)基礎(chǔ)課程,基本上各理工科專業(yè)都有開設(shè)。由于該課程具有較強(qiáng)的實(shí)踐性,授課過程中應(yīng)重點(diǎn)培養(yǎng)學(xué)生的邏輯和編程思維。但是當(dāng)前課堂教學(xué)內(nèi)容過于繁瑣,不夠精簡,與實(shí)踐的結(jié)合能力較差。
1.2"傳統(tǒng)的課程教學(xué)方法
在當(dāng)前的高校程序設(shè)計(jì)課程中,大多采用傳統(tǒng)的線下上機(jī)教學(xué)模式[5]。課前,學(xué)生通過自主預(yù)習(xí)網(wǎng)上資料、文獻(xiàn)閱讀和多媒體課件等,為課堂學(xué)習(xí)作準(zhǔn)備。在課堂上,教師主要采用講授法、演示法、案例驅(qū)動(dòng)法的教學(xué)方法,講解Python程序設(shè)計(jì)的理論和方法,讓學(xué)生進(jìn)行編程實(shí)踐。然而,這種教學(xué)模式常常讓學(xué)生成為被動(dòng)的知識(shí)接受者,缺乏學(xué)習(xí)的主動(dòng)性。與此同時(shí),傳統(tǒng)授課模式還存在一些問題。教學(xué)重點(diǎn)通常集中在理論知識(shí)的傳授上,教學(xué)方法相對(duì)單一,導(dǎo)致教師較少關(guān)注學(xué)生的實(shí)踐與問題解決能力的培養(yǎng)[6]。學(xué)生在課堂上學(xué)習(xí)的知識(shí)難以與實(shí)踐緊密結(jié)合,理論與實(shí)踐容易脫節(jié)。此外,學(xué)生較難從傳統(tǒng)教學(xué)中獲得成就感和自信心,導(dǎo)致學(xué)習(xí)的動(dòng)力逐漸消失。
1.3"課程考核方式
目前“Python程序設(shè)計(jì)”課程的成績考核由3部分組成:平時(shí)成績(占總成績的30%)、實(shí)驗(yàn)成績(占總成績的10%)和期末成績(占總成績的60%)。課程考核采用傳統(tǒng)的考核方式,忽略了本課程實(shí)踐性強(qiáng)的特點(diǎn),容易造成學(xué)生不重視學(xué)習(xí)過程,在考前突擊學(xué)習(xí),用死記硬背的方式通過考試。在這種考核模式下,不能夠很好地調(diào)動(dòng)學(xué)生日常學(xué)習(xí)的積極性,會(huì)使得學(xué)生對(duì)章節(jié)內(nèi)容的掌握不夠扎實(shí),不利于知識(shí)在大腦中的長期儲(chǔ)備與靈活運(yùn)用。
2"課程內(nèi)容建設(shè)與探索
2.1"課程內(nèi)容的優(yōu)化
(1)針對(duì)Python程序設(shè)計(jì)教學(xué)內(nèi)容相似的問題,針對(duì)基礎(chǔ)知識(shí)的講述過程中,可以采用比較法來快速教授理論知識(shí)。通過將C語言與Python進(jìn)行對(duì)比,學(xué)生可以更加直觀地理解兩種程序語言之間的差異與共通之處,從而加深對(duì)程序語言的理解。通過比較C語言和Python,可以突出Python的簡潔性和易用性,使學(xué)生能夠更快地掌握基礎(chǔ)知識(shí)。例如,可以對(duì)比兩種語言的語法結(jié)構(gòu)、變量聲明、循環(huán)控制、函數(shù)定義等方面的差異,通過簡潔清晰的比較,幫助學(xué)生快速理解Python的特點(diǎn)和優(yōu)勢(shì)。此外,采用比較法能夠激發(fā)學(xué)生學(xué)習(xí)積極性。通過對(duì)不同語言進(jìn)行對(duì)比,學(xué)生可以更深入地思考程序設(shè)計(jì)的原理和方法,培養(yǎng)他們批判性思維和解決問題的能力。這種積極性的學(xué)習(xí)態(tài)度可以激發(fā)學(xué)生主動(dòng)思考和探索,在學(xué)習(xí)過程中更加積極主動(dòng)、深入地參與。通過采用比較法教學(xué),可以快速傳授理論知識(shí),讓學(xué)生對(duì)程序語言有更深的理解。這樣的教學(xué)方法能夠?yàn)閷W(xué)生留出更多的時(shí)間來進(jìn)行實(shí)際的程序案例講解和實(shí)踐操作。通過實(shí)例的講解和實(shí)踐,學(xué)生可以更好地將理論知識(shí)應(yīng)用到實(shí)際問題中,提升他們的程序設(shè)計(jì)能力和解決問題的能力。
(2)針對(duì)Python程序設(shè)計(jì)教學(xué)內(nèi)容單一的問題,在課程基礎(chǔ)知識(shí)講授的過程中,結(jié)合知識(shí)點(diǎn)增加機(jī)器人工程專業(yè)的相關(guān)案例進(jìn)行教學(xué)的實(shí)踐。如在學(xué)習(xí)Python基礎(chǔ)語法和數(shù)據(jù)類型時(shí),可以編寫一個(gè)簡單的機(jī)器人控制程序,使機(jī)器人能夠移動(dòng)和旋轉(zhuǎn);在學(xué)習(xí)條件語句和循環(huán)結(jié)構(gòu)時(shí),可以設(shè)計(jì)一個(gè)機(jī)器人避障算法,使用條件語句判斷機(jī)器人前方是否有障礙物并進(jìn)行相應(yīng)的動(dòng)作,或者使用循環(huán)結(jié)構(gòu)實(shí)現(xiàn)一個(gè)機(jī)器人的追蹤行為,讓機(jī)器人能夠追蹤并保持一定距離跟隨目標(biāo)物體;在學(xué)習(xí)函數(shù)和模塊時(shí),可以編寫一個(gè)函數(shù),實(shí)現(xiàn)機(jī)器人的自主導(dǎo)航算法,處理機(jī)器人傳感器數(shù)據(jù)并返回移動(dòng)的指令,或者利用Python的圖形庫,設(shè)計(jì)一個(gè)模塊,實(shí)現(xiàn)圖形化界面來控制和監(jiān)控機(jī)器人;在學(xué)習(xí)文件操作時(shí),可以編寫一個(gè)Python程序,讀取并解析機(jī)器人傳感器數(shù)據(jù)文件,提取關(guān)鍵信息進(jìn)行處理和分析,或者將機(jī)器人獲取到的數(shù)據(jù)存儲(chǔ)到文件中,形成一個(gè)數(shù)據(jù)日志,方便后續(xù)分析和應(yīng)用。這些案例可以根據(jù)具體課程的進(jìn)度和教學(xué)重點(diǎn)進(jìn)行選取和安排。通過這樣的案例實(shí)踐,學(xué)生可以將Python編程與機(jī)器人工程相結(jié)合,加深對(duì)所學(xué)知識(shí)的理解和應(yīng)用,培養(yǎng)解決問題和創(chuàng)新的能力。
2.2"課程方法的改進(jìn)
(1)采取混合式教學(xué)方法。在課堂上,教師可以引入更多互動(dòng)和參與式教學(xué)活動(dòng),如小組討論、問題解決和項(xiàng)目實(shí)踐,激發(fā)學(xué)生的學(xué)習(xí)興趣和主動(dòng)性。加強(qiáng)實(shí)踐環(huán)節(jié),提供更多的編程實(shí)踐機(jī)會(huì)和項(xiàng)目實(shí)踐任務(wù),使學(xué)生能夠?qū)⑺鶎W(xué)知識(shí)應(yīng)用到實(shí)際項(xiàng)目中。同時(shí),鼓勵(lì)學(xué)生積極提問和交流,打破師生權(quán)威關(guān)系,激發(fā)學(xué)生的學(xué)習(xí)動(dòng)力和創(chuàng)造力。借助現(xiàn)代科技手段,如在線學(xué)習(xí)平臺(tái)和虛擬實(shí)驗(yàn)室,提供豐富的學(xué)習(xí)資源和互動(dòng)學(xué)習(xí)的機(jī)會(huì)。通過這些改進(jìn)措施,可以更好地培養(yǎng)學(xué)生的自主學(xué)習(xí)能力和實(shí)踐應(yīng)用能力。學(xué)生將在實(shí)踐中不斷豐富知識(shí)庫,逐步掌握并了解代碼的意圖?;旌鲜浇虒W(xué)方法能夠促進(jìn)理論知識(shí)與實(shí)踐的結(jié)合,激發(fā)學(xué)生的學(xué)習(xí)熱情,提高他們?cè)诔绦蛟O(shè)計(jì)領(lǐng)域的成果。
項(xiàng)目化驅(qū)動(dòng)教學(xué)。在學(xué)生學(xué)完基礎(chǔ)知識(shí)后,針對(duì)較難和不易掌握的知識(shí)點(diǎn),設(shè)計(jì)相應(yīng)的綜合性項(xiàng)目,提高學(xué)生的編程實(shí)踐能力,讓學(xué)生學(xué)以致用、融會(huì)貫通。例如,讓學(xué)生使用tkinter模塊實(shí)現(xiàn)一個(gè)學(xué)生信息管理系統(tǒng)。該系統(tǒng)可以通過用戶界面實(shí)現(xiàn)學(xué)生信息的添加、查找、刪除和顯示功能。這個(gè)項(xiàng)目將給學(xué)生提供一個(gè)實(shí)際的應(yīng)用場景,讓他們?cè)陧?xiàng)目中運(yùn)用所學(xué)的知識(shí),加深對(duì)Python編程和GUI界面設(shè)計(jì)的理解。
在編譯學(xué)生信息管理系統(tǒng)的過程中,首先需要導(dǎo)入所需的模塊,如time和tkinter。然后,定義了用于存儲(chǔ)學(xué)生信息的全局變量Info,并且編寫了多個(gè)方法,用于實(shí)現(xiàn)添加、刪除、修改、查找等功能。這些方法包括對(duì)輸入進(jìn)行檢查、讀取和寫入文件、計(jì)算字符串長度等操作。接下來,通過tkinter模塊創(chuàng)建了一個(gè)主窗口,并在主窗口上添加了按鈕和標(biāo)簽等元素。定義了按鈕的事件處理函數(shù),如顯示學(xué)生信息、查詢學(xué)生信息、添加學(xué)生信息等。同時(shí),還定義了多個(gè)用于提示用戶的函數(shù)。在主函數(shù)中,首先嘗試從文件中讀取學(xué)生信息,并將其存入Info列表。然后,創(chuàng)建主窗口,設(shè)置窗口的標(biāo)題、圖標(biāo)和尺寸,并顯示當(dāng)前時(shí)間的標(biāo)簽。最后,進(jìn)入主窗口的事件循環(huán),使窗口持續(xù)顯示,等待用戶的操作。
這個(gè)編譯過程中使用到了Python的模塊導(dǎo)入、全局變量的定義、方法的調(diào)用、GUI界面的創(chuàng)建以及事件處理等知識(shí)點(diǎn)。通過這個(gè)項(xiàng)目,學(xué)生可以綜合運(yùn)用所學(xué)的知識(shí),提高編程實(shí)踐能力,并理解和應(yīng)用Python編程和GUI界面設(shè)計(jì)的相關(guān)概念和技術(shù)。
(2)以賽促教。以比賽促進(jìn)學(xué)習(xí)是一種非常有效的方式,可以激發(fā)學(xué)生的積極性和競爭意識(shí),同時(shí)提高他們的編程能力和解決問題的能力。參加Python程序設(shè)計(jì)相關(guān)比賽可以給學(xué)生提供一個(gè)實(shí)戰(zhàn)機(jī)會(huì),讓他們?cè)趯?shí)際項(xiàng)目中應(yīng)用所學(xué)知識(shí),鍛煉自己的編程技能。
2.3"課程考核的改進(jìn)
為了提高學(xué)生的實(shí)踐能力,更改原先的課程考核方式,最終的課程考核由3部分組成:平時(shí)成績(占總成績的10%)、實(shí)驗(yàn)成績(占總成績的40%)和期末成績(占總成績的50%)。如果學(xué)生參加Python類的比賽獲獎(jiǎng),會(huì)獲得適當(dāng)?shù)募臃?。這種考核方式提高了實(shí)驗(yàn)成績的占比,更加注重學(xué)生的日常實(shí)踐操作,并鼓勵(lì)學(xué)生參加比賽提高學(xué)生的程序設(shè)計(jì)能力。
3"結(jié)論
本文通過對(duì)“Python程序設(shè)計(jì)”的課程內(nèi)容、課程方法和課程考核3方面進(jìn)行分析,指出存在的問題,對(duì)這些問題進(jìn)行了積極探索與實(shí)踐,實(shí)現(xiàn)教學(xué)回歸實(shí)踐,通過實(shí)踐掌握Python編程語言,為應(yīng)用型本科院校的機(jī)器人專業(yè)的課程內(nèi)容建設(shè)提供了一種思路,更好地培養(yǎng)學(xué)生的編程能力和創(chuàng)新意識(shí)。
參考文獻(xiàn)
[1]曹錦梅.非計(jì)算機(jī)專業(yè)Python程序設(shè)計(jì)教學(xué)模式改革實(shí)踐探究[J].電腦知識(shí)與技術(shù),2023,19(13):127129.
[2]李橋,彭漢森.新工科背景下“Python語言程序設(shè)計(jì)”教學(xué)改革研究與實(shí)踐[J].產(chǎn)業(yè)科技創(chuàng)新,2022,4(04):3941.
[3]周敏.通識(shí)課程《Python語言程序設(shè)計(jì)》混合式教學(xué)改革探究[J].電腦知識(shí)與技術(shù),2022,18(30):175177.
[4]王玉,范冬林,姜建武.Python程序設(shè)計(jì)課程教學(xué)改革與實(shí)踐[J].科技風(fēng),2022(34):9597.
[5]周旭.混合式教學(xué)模式下的“Python程序設(shè)計(jì)基礎(chǔ)”課程教學(xué)改革探索[J].教育教學(xué)論壇,2023(18):4952.
[6]冀全朋,嚴(yán)海升.Python程序設(shè)計(jì)課程教學(xué)改革與實(shí)踐——基于項(xiàng)目教學(xué)模式[J].西南師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2021,46(11):9095.