陳偉, 趙雷
摘 要:近年來(lái)伴隨著機(jī)器學(xué)習(xí)技術(shù)和人工智能應(yīng)用的迅速發(fā)展,Python程序設(shè)計(jì)得到了廣泛的關(guān)注,因?yàn)槟壳按蠖鄶?shù)AI框架都是基于Python搭建的,例如Pytorch與Tensorflow。但是,當(dāng)前Python程序設(shè)計(jì)課程的教學(xué)模式還不夠完善,一方面是由于該課程發(fā)展時(shí)間較短尚屬于開(kāi)發(fā)階段;另一方面是由于新技術(shù)的快速迭代使得基于Python的新型應(yīng)用層出不窮,該現(xiàn)狀的持續(xù)發(fā)展給教學(xué)模式的跟進(jìn)帶來(lái)了極大的困難。為解決上述問(wèn)題,文章分析了Python程序設(shè)計(jì)課程的特點(diǎn)及現(xiàn)有教學(xué)存在的問(wèn)題,提出了以線下教學(xué)、線上教學(xué)、課程實(shí)踐、課程考核為基礎(chǔ)的綜合教學(xué)模式,以提高學(xué)生的編程能力,并著重培養(yǎng)學(xué)生分析問(wèn)題、解決問(wèn)題的能力。
關(guān)鍵詞: Python程序設(shè)計(jì);線下教學(xué);線上教學(xué);實(shí)踐教學(xué)
中圖分類號(hào):G642? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)21-0187-02
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 引言
中共中央在十四五規(guī)劃建議中明確提出加快發(fā)展現(xiàn)代產(chǎn)業(yè)體系,壯大新一代信息技術(shù),推動(dòng)互聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等各產(chǎn)業(yè)的深度融合。作為這些新興應(yīng)用的基礎(chǔ)課程,Python程序設(shè)計(jì)扮演著重要的角色,因?yàn)槟壳敖^大多數(shù)人工智能和數(shù)據(jù)挖掘的算法都是基于Python代碼實(shí)現(xiàn)的。為適應(yīng)時(shí)代的發(fā)展,給國(guó)家培養(yǎng)合格的現(xiàn)代化人才,需要在Python程序設(shè)計(jì)的教學(xué)過(guò)程中培養(yǎng)學(xué)生的綜合能力[1]。一方面,培養(yǎng)學(xué)生堅(jiān)實(shí)的代碼能力。另一方面,著重培養(yǎng)學(xué)生主動(dòng)思考問(wèn)題的能力,可以針對(duì)不同實(shí)際需求提出相應(yīng)的解決方案。
與傳統(tǒng)程序設(shè)計(jì)課程C、C++相比,Python程序設(shè)計(jì)從內(nèi)容來(lái)講與這些課程有一定的相似性,因?yàn)镻ython的底層邏輯是基于C語(yǔ)言開(kāi)發(fā)的。此外,Python程序設(shè)計(jì)也有一定的獨(dú)特性。一方面,它有不同于C語(yǔ)言的編碼風(fēng)格和界面設(shè)計(jì)。另一方面,它也有新的語(yǔ)法結(jié)構(gòu)和內(nèi)容,并具有豐富和強(qiáng)大的庫(kù)函數(shù)[2,3]。相較于其他傳統(tǒng)設(shè)計(jì)語(yǔ)言,對(duì)于新生來(lái)講Python更容易上手,這是因?yàn)镻ython的基礎(chǔ)內(nèi)容部分不涉及難度較高的指針操作、動(dòng)態(tài)內(nèi)存申請(qǐng)與釋放等??紤]到Python的廣泛應(yīng)用前景以及相對(duì)較低的上手難度,目前國(guó)內(nèi)已經(jīng)有部分高校將該語(yǔ)言作為新生的必修編程課程,將原來(lái)的C語(yǔ)言程序設(shè)計(jì)調(diào)整為選修課程。Python在學(xué)術(shù)界和工業(yè)界的普及和相關(guān)代碼的開(kāi)源為諸多初學(xué)者帶來(lái)了極大的便利,但與此同時(shí)也帶來(lái)了一些問(wèn)題。例如,在本科新生的教學(xué)過(guò)程中,有大量學(xué)生養(yǎng)成了知其然而不知其所以然的習(xí)慣。對(duì)于程序設(shè)計(jì)過(guò)程中出現(xiàn)的各種新函數(shù),學(xué)生通過(guò)查找資料了解了函數(shù)的應(yīng)用卻沒(méi)有深入了解函數(shù)的原型,包括參數(shù)的定義與返回值等。這種習(xí)慣的養(yǎng)成對(duì)后續(xù)其他編程語(yǔ)言的學(xué)習(xí)帶來(lái)了極大的困難,有很多學(xué)生會(huì)將Python中的某些函數(shù)直接應(yīng)用到其他語(yǔ)言,由此引發(fā)大量邏輯錯(cuò)誤。綜合考慮上訴情況,雖然Python程序設(shè)計(jì)是一門非常重要的課程,但需要精心設(shè)計(jì)才能達(dá)到事半功倍的效果。
2? Python程序設(shè)計(jì)課程的特點(diǎn)及存在的問(wèn)題
2.1 Python程序設(shè)計(jì)課程的特點(diǎn)
Python語(yǔ)言在過(guò)去幾年中得了廣泛的關(guān)注和快速的發(fā)展,一方面得益于國(guó)家對(duì)人工智能的重視以及Python在該領(lǐng)域的杰出表現(xiàn),另一方面也源于該語(yǔ)言相對(duì)較低的學(xué)習(xí)難度和強(qiáng)大的功能以及友好的編程體驗(yàn)[4]。由于這些良好的特點(diǎn),Python程序設(shè)計(jì)正逐漸成為高校計(jì)算機(jī)專業(yè)的必修課程,并呈現(xiàn)以下特點(diǎn):
(1) 基礎(chǔ)性。從本質(zhì)上來(lái)講,Python程序設(shè)計(jì)是一門編程基礎(chǔ)課程,掌握好該語(yǔ)言有益于后續(xù)數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)等課程的學(xué)習(xí)。因此,在教學(xué)的過(guò)程中需要讓學(xué)生了解到該門課程的重要性,打好堅(jiān)實(shí)的代碼基礎(chǔ)。
(2) 前瞻性??紤]到國(guó)家對(duì)人工智能領(lǐng)域發(fā)展的切實(shí)關(guān)注以及行業(yè)的未來(lái)發(fā)展趨勢(shì),Python將在未來(lái)的技術(shù)和產(chǎn)業(yè)升級(jí)中扮演者至關(guān)重要的角色。因此,需要在教學(xué)的過(guò)程中讓學(xué)生了解到該門課程的前瞻性,因?yàn)樗闇?zhǔn)的是未來(lái)的行業(yè)與市場(chǎng)。掌握好Python程序設(shè)計(jì)并靈活運(yùn)用對(duì)于計(jì)算機(jī)專業(yè)的學(xué)生來(lái)講是適應(yīng)未來(lái)發(fā)展的必要條件。
(3) 實(shí)踐性。雖然Python程序設(shè)計(jì)有一定的理論基礎(chǔ),但是總的來(lái)說(shuō),這是一門側(cè)重于實(shí)踐的課程。無(wú)論是基礎(chǔ)部分的條件語(yǔ)句、循環(huán)、函數(shù)等內(nèi)容,還是基于Python的算法設(shè)計(jì)、模型搭建等,都需要通過(guò)具體的代碼實(shí)現(xiàn)。因此,在教學(xué)的過(guò)程中,需要著重強(qiáng)調(diào)實(shí)踐能力的培養(yǎng),通過(guò)具體案例、隨堂測(cè)驗(yàn)等方式提高學(xué)生的實(shí)際動(dòng)手能力。
2.2 Python程序設(shè)計(jì)課程存在的問(wèn)題
2.2.1教材單一
目前市面上已經(jīng)出現(xiàn)大量關(guān)于Python程序設(shè)計(jì)的教材,但是大多數(shù)教材對(duì)于本科新生的適用性都有待提升。在這些教材中,有很大一部分內(nèi)容過(guò)于簡(jiǎn)單,沒(méi)有介紹程序在運(yùn)行過(guò)程中涉及內(nèi)存調(diào)用等底層操作的簡(jiǎn)介,也有很大一部分介紹的內(nèi)容過(guò)多,沒(méi)有針對(duì)無(wú)編程基礎(chǔ)的本科生做相應(yīng)的重點(diǎn)內(nèi)容調(diào)整。此外,現(xiàn)有教材只關(guān)注于理論知識(shí)的無(wú)在線案例可參考,也沒(méi)有與教材相匹配的視頻資源。純理論的講解一方面加大了知識(shí)的理解難度,另一方面也容易在枯燥的學(xué)習(xí)過(guò)程中影響學(xué)生的學(xué)習(xí)興趣,從而降低學(xué)習(xí)效率。因此,Python程序設(shè)計(jì)教材單一的問(wèn)題亟待解決。
2.2.2教學(xué)形式單一
目前Python程序設(shè)計(jì)的理論部分主要通過(guò)老師線下講授為主并側(cè)重于語(yǔ)法、算法等基礎(chǔ)知識(shí)[5],實(shí)踐部分主要通過(guò)學(xué)生完成實(shí)驗(yàn)報(bào)告實(shí)現(xiàn),而且大多數(shù)高校的理論和實(shí)踐是分開(kāi)進(jìn)行的。對(duì)于本科生來(lái)講,日常繁多課程會(huì)在一定程度上分散學(xué)生的精力,部分學(xué)生會(huì)出現(xiàn)理論課上已經(jīng)理解的編程內(nèi)容到實(shí)驗(yàn)課上出現(xiàn)記憶衰退的現(xiàn)象。而且當(dāng)前線下講授的過(guò)程中沒(méi)有視頻錄制,部分學(xué)生也怯于向老師請(qǐng)教,這就導(dǎo)致在某些難度較高的知識(shí)點(diǎn)上學(xué)生理解不透,無(wú)法舉一反三、融會(huì)貫通。理論和實(shí)踐的單獨(dú)設(shè)立雖然明細(xì)了教學(xué)任務(wù)和行政步驟,但是卻沒(méi)有實(shí)現(xiàn)最好的教學(xué)效果,這種單一的安排需要得到進(jìn)一步的優(yōu)化。