李子奇 尹賀峰 郭婷婷 張永宏 夏慶鋒 商鈺琪
摘?要:當(dāng)下計(jì)算機(jī)信息技術(shù)飛速發(fā)展,為滿足各行各業(yè)所急需的應(yīng)用創(chuàng)新型人才,根據(jù)當(dāng)前高校計(jì)算機(jī)專(zhuān)業(yè)Python課程實(shí)踐教學(xué)存在的問(wèn)題,結(jié)合Python語(yǔ)言程序設(shè)計(jì)的優(yōu)點(diǎn)與特性,提出了工程思維模式下的階段性課程教學(xué)方案,旨在推動(dòng)建設(shè)應(yīng)用創(chuàng)新型高校的Python語(yǔ)言程序設(shè)計(jì)課程的改革。
關(guān)鍵詞:Python程序設(shè)計(jì);實(shí)踐教學(xué);課程改革;創(chuàng)新型人才
Exploration?of?Phased?Teaching?Reform
of?Python?Language?Based?on?Engineering?Thinking
Li?Ziqi1?Yin?Hefeng1?Guo?Tingting2?Zhang?Yonghong1*?Xia?Qingfeng1,2?Shang?YuQi1
1.School?of?Automation,Wuxi?University?JiangsuWuxi?214105;
2.Information?Construction?and?Management?Centre??Wuxi?University?JiangsuWuxi?214105
Abstract:Nowadays,computer?information?technology?is?developing?rapidly.In?order?to?meet?the?urgent?need?of?application?and?innovative?talents?in?all?walks?of?life,according?to?the?problems?existing?in?the?practical?teaching?of?Python?course?for?computer?majors?in?colleges?and?universities,combined?with?the?advantages?and?characteristics?of?Python?language?programming,a?phased?course?teaching?plan?under?engineering?thinking?mode?is?proposed,aiming?to?promote?the?reform?of?Python?language?programming?course?in?the?construction?of?application?and?innovative?colleges?and?universities.
Keywords:python?programming;practical?teaching;course?reform;innovative?talents
1?概述
隨著21世紀(jì)“互聯(lián)網(wǎng)+”時(shí)代迅速來(lái)臨,計(jì)算機(jī)信息技術(shù)得到了蓬勃發(fā)展,尤其是人工智能技術(shù)和大數(shù)據(jù)分析技術(shù)的快速發(fā)展,使各行各業(yè)都迫切需要應(yīng)用創(chuàng)新型人才。目前,大多數(shù)高校都設(shè)有計(jì)算機(jī)相關(guān)專(zhuān)業(yè),這些專(zhuān)業(yè)的核心教學(xué)課程就是程序設(shè)計(jì)類(lèi)課程。高校通過(guò)培養(yǎng)學(xué)生的編程能力,使他們能夠理解并掌握實(shí)踐創(chuàng)新能力、工程應(yīng)用能力和解決復(fù)雜問(wèn)題的分析能力。
近年來(lái),國(guó)內(nèi)各大高校紛紛開(kāi)設(shè)Python語(yǔ)言程序設(shè)計(jì)課程,掀起了以計(jì)算機(jī)專(zhuān)業(yè)為主的各專(zhuān)業(yè)學(xué)習(xí)Python語(yǔ)言熱潮,值得一提的是,大多數(shù)高校將這門(mén)課納入計(jì)算機(jī)專(zhuān)業(yè)的必修課程中,還有部分院校在理工科學(xué)院的公共基礎(chǔ)課程中也設(shè)置了Python語(yǔ)言程序設(shè)計(jì)相關(guān)課程。Python語(yǔ)言簡(jiǎn)單易懂、可移植性強(qiáng)、可擴(kuò)展性廣、可嵌入性高并且易于理解,此外,Python語(yǔ)言還具有大量開(kāi)源的第三方庫(kù),幾乎涵蓋了所有專(zhuān)業(yè)領(lǐng)域,開(kāi)發(fā)效率較高,對(duì)于沒(méi)有編程經(jīng)驗(yàn)的學(xué)生來(lái)說(shuō)完全可以通過(guò)直接調(diào)用別人寫(xiě)好的函數(shù)進(jìn)行學(xué)習(xí),學(xué)生無(wú)須再糾結(jié)語(yǔ)言和程序編寫(xiě)方式,而是可以更快地找出問(wèn)題并提出解決方案,從而激發(fā)學(xué)生對(duì)編程語(yǔ)言的學(xué)習(xí)興趣并提高編程信心,適合高校在不同專(zhuān)業(yè)學(xué)生群體中進(jìn)行計(jì)算機(jī)語(yǔ)言應(yīng)用的普及教學(xué)[1]。
目前,Python語(yǔ)言被廣泛應(yīng)用于信息科學(xué)與技術(shù)、圖形圖像處理、大數(shù)據(jù)處理、Web開(kāi)發(fā)、云計(jì)算、自動(dòng)化運(yùn)維和網(wǎng)絡(luò)安全維護(hù)等多個(gè)專(zhuān)業(yè)和工程領(lǐng)域,特別是隨著全球技術(shù)革命和產(chǎn)業(yè)革命的推動(dòng),Python語(yǔ)言作為互聯(lián)網(wǎng)工程領(lǐng)域內(nèi)的首選開(kāi)發(fā)語(yǔ)言之一,越來(lái)越多的人選擇使用Python語(yǔ)言來(lái)解決工程問(wèn)題。
2?Python實(shí)踐教學(xué)中存在的主要問(wèn)題
2.1?學(xué)生缺少目標(biāo)導(dǎo)向
當(dāng)前許多高校采用以語(yǔ)法知識(shí)為主的理論講授型教學(xué)模式來(lái)教授Python語(yǔ)言程序設(shè)計(jì)課程,這種傳統(tǒng)的教學(xué)模式過(guò)于強(qiáng)調(diào)語(yǔ)法知識(shí)的講授,而忽略了實(shí)際問(wèn)題的關(guān)注。由此導(dǎo)致學(xué)生很難將所學(xué)知識(shí)應(yīng)用到實(shí)際工程實(shí)踐中,或者沒(méi)有對(duì)實(shí)際運(yùn)用場(chǎng)景建立起具體、充分的感知。此外,實(shí)踐內(nèi)容通常是抽象的數(shù)學(xué)問(wèn)題,脫離實(shí)際工程場(chǎng)景。由于缺乏以實(shí)際問(wèn)題為主的目標(biāo)導(dǎo)向,很多學(xué)生難以明確自己的學(xué)習(xí)目標(biāo)和方向,也難以對(duì)所學(xué)知識(shí)有更深入的理解和掌握[2]。實(shí)際上,計(jì)算機(jī)編程語(yǔ)言的學(xué)習(xí)目標(biāo)對(duì)應(yīng)許多實(shí)際場(chǎng)景,例如數(shù)據(jù)可視化、網(wǎng)站開(kāi)發(fā)、游戲開(kāi)發(fā)、數(shù)據(jù)爬蟲(chóng)、科學(xué)計(jì)算等,在我們生活的各個(gè)層面都已經(jīng)得到應(yīng)用。通過(guò)教學(xué)演示等方式,學(xué)生可以建立對(duì)實(shí)際應(yīng)用的認(rèn)識(shí),并在學(xué)習(xí)語(yǔ)言的初期就明確學(xué)習(xí)目標(biāo)。
2.2?優(yōu)質(zhì)教學(xué)資料匱乏
當(dāng)前許多大學(xué)的Python課程教學(xué)資料仍然不夠完善。計(jì)算機(jī)編程語(yǔ)言的教學(xué)資料可以分為三類(lèi):第一類(lèi)是傳統(tǒng)的紙質(zhì)教材,主要以理論知識(shí)為主;第二類(lèi)是以上機(jī)實(shí)驗(yàn)為主的實(shí)驗(yàn)案例;第三類(lèi)是基于交互式Python解釋器的新型教學(xué)資料。
在教學(xué)實(shí)踐中,第一類(lèi)教學(xué)資料面臨著知識(shí)點(diǎn)過(guò)時(shí)的問(wèn)題。由于Python是一門(mén)不斷發(fā)展的語(yǔ)言,一些課件和教學(xué)資料可能存在版本不兼容的問(wèn)題[3]。此外,第一類(lèi)教學(xué)資料仍然強(qiáng)調(diào)語(yǔ)法和原理的講解,內(nèi)容抽象,容易導(dǎo)致學(xué)生失去學(xué)習(xí)興趣。另外,第一類(lèi)和第二類(lèi)教學(xué)資料的結(jié)合也不夠緊密,往往是相互獨(dú)立的內(nèi)容。相比之下,第三類(lèi)教學(xué)資料已經(jīng)被許多國(guó)際教育機(jī)構(gòu)采用,例如Coursera等教育機(jī)構(gòu)及其社區(qū),采用Jupyter?Notebook形式發(fā)布課程筆記、課后作業(yè)等。這種交互式的方式展示、易于調(diào)試、便于分享的特點(diǎn)非常適合教學(xué)場(chǎng)景[4]。但是,在國(guó)內(nèi)高校的計(jì)算機(jī)語(yǔ)言教育中尚未形成成熟的教學(xué)流程。
2.3 缺乏課程思政教育和創(chuàng)新性培養(yǎng)
盡管大學(xué)越來(lái)越重視構(gòu)建“大思政”格局,但在開(kāi)展課程思政教育時(shí)仍然存在著或多或少的問(wèn)題[5]。例如,有些高校沒(méi)有將文化育人和實(shí)踐育人相結(jié)合,一些專(zhuān)業(yè)課教師對(duì)學(xué)生的引導(dǎo)性不強(qiáng),沒(méi)有處理好“教書(shū)”和“育人”的關(guān)系,一味地向?qū)W生灌輸知識(shí),卻忽視了學(xué)生綜合素養(yǎng)的培養(yǎng)。
此外,在Python語(yǔ)言程序設(shè)計(jì)課程的教學(xué)中,部分學(xué)生不僅缺乏明確的學(xué)習(xí)目標(biāo)導(dǎo)向,還缺乏優(yōu)秀的教育資源,這抑制了學(xué)生的創(chuàng)造力。單一的考核途徑增加了學(xué)生創(chuàng)新的成本。綜上所述,現(xiàn)有的Python語(yǔ)言教學(xué)結(jié)構(gòu)未能給學(xué)生們提供足夠的選擇空間,也無(wú)法鼓勵(lì)學(xué)生們自主地選擇感興趣的學(xué)習(xí)方向,培養(yǎng)創(chuàng)新型人才。
2.4?考核途徑同質(zhì)化強(qiáng)
Python語(yǔ)言作為一種廣泛應(yīng)用的編程語(yǔ)言,其課程考核方式需要從實(shí)際應(yīng)用角度出發(fā),以全面客觀地評(píng)估學(xué)生的應(yīng)用水平。目前,許多高校主要采用期末考試為主、課堂作業(yè)為輔的形式來(lái)評(píng)估學(xué)生的學(xué)習(xí)成果,這種同質(zhì)化程度高的考核方式在形式和內(nèi)容上與其他科目十分相似。因此,需要結(jié)合不同高校的研究特色和教師的研究領(lǐng)域,采用多種方式如課程項(xiàng)目、小組討論、實(shí)際應(yīng)用案例等來(lái)評(píng)估學(xué)生的學(xué)習(xí)成果,以激發(fā)學(xué)生的學(xué)習(xí)興趣,并提高考核方式的多樣性。
3?Python程序設(shè)計(jì)課程教學(xué)方法設(shè)計(jì)
3.1?階段性課程安排
Python是一個(gè)具有強(qiáng)大擴(kuò)展能力的編程語(yǔ)言,能夠通過(guò)支持豐富的第三方庫(kù),在多個(gè)領(lǐng)域都有廣泛應(yīng)用。不同專(zhuān)業(yè)對(duì)Python的需求程度不同,因此,在保證高效教學(xué)的基礎(chǔ)上,應(yīng)該合理制定階段性學(xué)習(xí),即在不同階段根據(jù)不同的專(zhuān)業(yè)指定不同的教學(xué)方案[6]。Python教學(xué)體系主要分為三個(gè)階段:初級(jí)、進(jìn)階和高級(jí)。
在初級(jí)階段,主要教學(xué)內(nèi)容是講解Python的語(yǔ)法知識(shí),使學(xué)生了解Python的語(yǔ)言特性,能夠熟練閱讀他人代碼,并進(jìn)行簡(jiǎn)單的開(kāi)發(fā)?;A(chǔ)階段是所有階段的基石,是每個(gè)專(zhuān)業(yè)都必須牢固掌握的內(nèi)容,包括變量、數(shù)據(jù)類(lèi)型、運(yùn)算符、流程控制語(yǔ)句、函數(shù)、模塊等。
在進(jìn)階階段,學(xué)生需要學(xué)習(xí)使用Python常用的標(biāo)準(zhǔn)庫(kù),如os、sys、re等,以及常用的第三方庫(kù),如NumPy、Matplotlib、SciPy等。這些庫(kù)能夠幫助學(xué)生更快速、更高效地處理數(shù)據(jù),進(jìn)行數(shù)據(jù)的可視化和科學(xué)計(jì)算。此外,這些庫(kù)通常是其他庫(kù)所依賴(lài)的,因此要想進(jìn)一步學(xué)習(xí)其他庫(kù)的使用,則必須要了解基礎(chǔ)庫(kù)的工作方式和基礎(chǔ)的操作流程。在學(xué)習(xí)該階段前,應(yīng)當(dāng)掌握一些專(zhuān)業(yè)知識(shí),例如,在學(xué)習(xí)NumPy庫(kù)前需要有一些數(shù)學(xué)基礎(chǔ)。這一階段的知識(shí)儲(chǔ)備是學(xué)習(xí)高級(jí)階段的基礎(chǔ)。
高級(jí)階段是與專(zhuān)業(yè)結(jié)合的重要階段,專(zhuān)業(yè)理論性極強(qiáng),學(xué)生需要深入了解所學(xué)專(zhuān)業(yè)的理論知識(shí),并掌握相關(guān)的編程技能。在此之前,學(xué)生應(yīng)當(dāng)對(duì)基礎(chǔ)和進(jìn)階的內(nèi)容有較深的理解,對(duì)本專(zhuān)業(yè)的理論有較強(qiáng)的認(rèn)識(shí)。教師應(yīng)該充分考慮不同的專(zhuān)業(yè)特性,設(shè)置不同的課程內(nèi)容。例如,對(duì)于機(jī)器學(xué)習(xí)專(zhuān)業(yè)的學(xué)生,需要學(xué)習(xí)如何使用Sklearn、Pytorch等機(jī)器學(xué)習(xí)庫(kù),并能夠進(jìn)行相關(guān)的模型訓(xùn)練、預(yù)測(cè)等工作;軟件開(kāi)發(fā)方向的學(xué)生則需要學(xué)習(xí)PyQt5、Pyside等庫(kù),構(gòu)建友好的用戶(hù)界面和操作邏輯。
以上三個(gè)階段的Python教學(xué)體系概覽見(jiàn)圖1。
圖1?工科思維引導(dǎo)的Python教學(xué)體系概覽
3.2?工程思維模式教學(xué)
傳統(tǒng)的教學(xué)模式大多采用以教師為傳遞知識(shí)的紐帶,將書(shū)本上固有的知識(shí)灌輸給學(xué)生,使學(xué)生成為學(xué)習(xí)的被動(dòng)者,大大降低學(xué)生的學(xué)習(xí)主動(dòng)性。然而,技術(shù)不斷更新迭代,Python的版本也不斷升級(jí)。因此,采用一種工程思維模式教學(xué)是非常有意義的。工程思維模式教學(xué)將教學(xué)與實(shí)際工程相結(jié)合,提高學(xué)生的主動(dòng)性和應(yīng)用能力[7]。采用講課案例驅(qū)動(dòng)教學(xué)、項(xiàng)目驅(qū)動(dòng)知識(shí)鞏固兩步走的戰(zhàn)略制訂教學(xué)計(jì)劃。如圖2所示。
圖2?工程思維模式教學(xué)“兩步走”戰(zhàn)略
講課案例驅(qū)動(dòng)教學(xué),目的是培養(yǎng)學(xué)生們的工程思維,將工程問(wèn)題轉(zhuǎn)化為具體的計(jì)算機(jī)問(wèn)題,而不僅僅是學(xué)習(xí)Python的基礎(chǔ)語(yǔ)法和概念。教師選擇適合知識(shí)點(diǎn)的案例,案例采用真實(shí)工程存在的問(wèn)題,將教學(xué)與實(shí)際工程問(wèn)題相結(jié)合。在講解Python知識(shí)的同時(shí),調(diào)動(dòng)學(xué)生解決具體問(wèn)題的興趣,將學(xué)生的注意力放在解決問(wèn)題上,在這過(guò)程中,加深學(xué)生對(duì)Python的理解。
項(xiàng)目驅(qū)動(dòng)知識(shí)鞏固,目的是提高學(xué)生自我解決問(wèn)題能力、團(tuán)隊(duì)合作的能力以及對(duì)知識(shí)的鞏固[8]。教師應(yīng)該在每一節(jié)課后設(shè)置相應(yīng)的項(xiàng)目,根據(jù)項(xiàng)目的難易程度讓學(xué)生獨(dú)立或分組完成。對(duì)于獨(dú)立完成的項(xiàng)目,給予完成度較高的學(xué)生獎(jiǎng)勵(lì)。分組完成的項(xiàng)目,要求學(xué)生提交每個(gè)學(xué)生在項(xiàng)目中負(fù)責(zé)的部分,審核項(xiàng)目整體完成度以及項(xiàng)目分工獨(dú)立部分完成度,給予完成度較高的小組獎(jiǎng)勵(lì),產(chǎn)生一種良性的競(jìng)爭(zhēng),鼓勵(lì)學(xué)生們不斷創(chuàng)新。同時(shí),幫助學(xué)生發(fā)現(xiàn)不足之處,并幫助他們糾正、改進(jìn)和提高。
3.3?課程思政
近年來(lái),為深入貫徹落實(shí)習(xí)近平總書(shū)記關(guān)于教育的重要論述和全國(guó)教育大會(huì)精神,教育部出臺(tái)了關(guān)于印發(fā)《高等學(xué)校課程思政建設(shè)指導(dǎo)綱要》的通知,要求高等學(xué)校在人才培養(yǎng)的過(guò)程中,全面推進(jìn)高校課程思政建設(shè),發(fā)揮好每門(mén)課程的育人作用,把思想政治教育融入科學(xué)文化知識(shí)教學(xué)中,達(dá)到立德樹(shù)人和專(zhuān)業(yè)課程知識(shí)相結(jié)合的教學(xué)目標(biāo)[9]。
培養(yǎng)什么人、怎樣培養(yǎng)人、為誰(shuí)培養(yǎng)人一直是教育的根本問(wèn)題所在,這就要求各個(gè)高校的專(zhuān)業(yè)、學(xué)科負(fù)責(zé)人必須重視人才培養(yǎng)工作,統(tǒng)籌好各專(zhuān)業(yè)及各個(gè)學(xué)科的課程思政建設(shè),深入挖掘各類(lèi)專(zhuān)業(yè)課程和教學(xué)方式中的思政元素,不斷完善課程思政教學(xué)體系。同時(shí)高校教師在教學(xué)過(guò)程中要把知識(shí)傳授和價(jià)值塑造相結(jié)合,例如在Python課程教學(xué)中,要結(jié)合關(guān)鍵詞和相關(guān)思政融入點(diǎn),把中國(guó)優(yōu)秀傳統(tǒng)文化及近年來(lái)我國(guó)在大數(shù)據(jù)、人工智能領(lǐng)域取得的突破性成果融入課堂教學(xué)中,培養(yǎng)學(xué)生的愛(ài)國(guó)熱情和學(xué)習(xí)斗志,引導(dǎo)學(xué)生成長(zhǎng)成才,形成良好的人生觀和價(jià)值觀,擔(dān)當(dāng)起民族復(fù)興的偉大重任。
3.4?課程考核
課程考核是教育教學(xué)過(guò)程中的重要環(huán)節(jié),其主要目的是幫助教師了解學(xué)生的學(xué)習(xí)情況,同時(shí)也是學(xué)生反饋?zhàn)约赫莆罩R(shí)程度的有效方式[10]。在教學(xué)過(guò)程中,教師通過(guò)學(xué)生學(xué)習(xí)情況的反饋,更好地調(diào)整教學(xué)進(jìn)度,提高教學(xué)效率。
課程考核方式主要包括課堂項(xiàng)目完成度、課后線上編程作業(yè)完成情況以及課程設(shè)計(jì)考核。在工程思維模式下,每節(jié)課學(xué)生都會(huì)完成一個(gè)小項(xiàng)目,教師根據(jù)學(xué)生的項(xiàng)目完成情況來(lái)評(píng)估學(xué)生的學(xué)習(xí)情況和自身的教學(xué)效果[11]。課后,教師通過(guò)在線平臺(tái)發(fā)布一些編程作業(yè),并設(shè)定提交時(shí)間,幫助學(xué)生鞏固課堂上所學(xué)到的知識(shí)。此外,課程設(shè)計(jì)應(yīng)設(shè)置在每個(gè)學(xué)習(xí)階段結(jié)束后,以便檢測(cè)學(xué)生的學(xué)習(xí)成果和知識(shí)掌握情況,并調(diào)整下一階段的教學(xué)重點(diǎn)和方法[12]。最終成績(jī)應(yīng)綜合考慮項(xiàng)目完成度、課后線上作業(yè)和課程設(shè)計(jì)考核結(jié)果,通過(guò)正反饋教學(xué)考核模式,教師可以不斷提升自身的教學(xué)水平和方法,更好地幫助學(xué)生掌握知識(shí),同時(shí)提高學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)成效。
結(jié)語(yǔ)
本研究結(jié)合當(dāng)下時(shí)代發(fā)展的特點(diǎn),通過(guò)分析現(xiàn)階段部分高校在“Python語(yǔ)言程序設(shè)計(jì)”課程教學(xué)中遇到的一些問(wèn)題,探討了一種旨在加快高校計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的建設(shè)步伐、培養(yǎng)應(yīng)用創(chuàng)新型人才的課程改革思路。本文以階段性教學(xué)計(jì)劃為主體,配合工程思維教學(xué)模式并融入高校課程思政建設(shè)理論,根據(jù)不同的專(zhuān)業(yè)合理定制適用于不同學(xué)習(xí)階段的Python語(yǔ)言培養(yǎng)方案,采取將課本理論與上機(jī)實(shí)踐相結(jié)合的方式,引入經(jīng)典的案例問(wèn)題和實(shí)際項(xiàng)目問(wèn)題讓學(xué)生自主解決,使學(xué)生不但可以較系統(tǒng)地掌握Python程序設(shè)計(jì)的基本理論和基本知識(shí),而且還能培養(yǎng)較強(qiáng)的實(shí)踐應(yīng)用能力和知識(shí)創(chuàng)新能力,從而為建設(shè)應(yīng)用創(chuàng)新型高校“Python語(yǔ)言程序設(shè)計(jì)”課程改革提供參考。
參考文獻(xiàn):
[1]段亞西,徐成振,魏凌華,等.Python語(yǔ)言程序設(shè)計(jì)課程教學(xué)方法探究[J].科技風(fēng),2021(17):4042.
[2]易發(fā)勝,李立,趙麗琴.新工科背景下Python程序設(shè)計(jì)課程教學(xué)方法研究[J].計(jì)算機(jī)教育,2021(07):148151+156.
[3]李忠金,高凌峰.基于翻轉(zhuǎn)課堂的Python語(yǔ)言程序設(shè)計(jì)教學(xué)改革研究[J].科技風(fēng),2022(14):104106.
[4]龔俊梅,劉洋.“Python語(yǔ)言”課程教學(xué)體系改革研究[J].科技風(fēng),2022(22):112114.
[5]余波,羅莉霞,易晨暉.新工科建設(shè)背景下Python程序設(shè)計(jì)課程教學(xué)改革與實(shí)踐[J].計(jì)算機(jī)教育,2021(11):8084.