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