劉宗妹
【摘要】通過將Python與C語言比較,探討高職院校計算機(jī)專業(yè)將Python作為首門編程語言的可行性。進(jìn)而提出建設(shè)有專業(yè)特色的Python課程設(shè)置、教學(xué)內(nèi)容、教學(xué)方法,共同探討培養(yǎng)面向綜合應(yīng)用能力的Python課程教學(xué)。
【關(guān)鍵詞】高職院校 ?C語言 ?Python ?實(shí)施計劃
【中圖分類號】G64 ?【文獻(xiàn)標(biāo)識碼】A 【文章編號】2095-3089(2019)17-0239-02
一、比較Python語言與C語言
(一)Python與C語言背景
C語言是1978年由美國電話電報公司(AT&T)貝爾實(shí)驗(yàn)室的Bjarne Stral-strup推出的一種程序設(shè)計語言。由于C語言的諸多優(yōu)點(diǎn),被廣泛應(yīng)用于系統(tǒng)軟件和嵌入式軟件的開發(fā)中,如游戲客戶端和后臺服務(wù)器的開發(fā)。高職院校開設(shè)C語言的目的是為了培養(yǎng)學(xué)生的編程能力,使學(xué)生具備編程思想,為進(jìn)一步從事軟件開發(fā)奠定基礎(chǔ)。隨著計算機(jī)的發(fā)展,其應(yīng)用越來越廣泛,C語言已很難滿足廣泛領(lǐng)域的使用,從而出現(xiàn)了一些新的高級語言來解決實(shí)際問題[1]。
Python由荷蘭人Guido van Rossum于1989年發(fā)明,被稱為“膠水語言”,可以把用其它語言編寫的各模塊聯(lián)結(jié)在一起,以實(shí)際應(yīng)用為主的高職院校更適合教授此課程。Python很多語法既參考了C語言又參考了ABC語言和Modula-3,所以Python的設(shè)計既強(qiáng)大又優(yōu)美。Python既有面向?qū)ο蟮奶卣?,又像腳本語言一樣容易操作,可在各種操作系統(tǒng)運(yùn)行,不必關(guān)注配置如何,一般編程語言能做的Python都能做,功能性非常強(qiáng),并且簡單易學(xué),可把其它語言編寫的模塊程序很容易聯(lián)結(jié)起來,開發(fā)效率極其高。Python提供了豐富的第三方庫,覆蓋領(lǐng)域很廣,并且簡單好用,提高了編程效率[2]。2016年3月的TIOBE編程語言排行榜上,Python已升到前5名。2016年教育部高等學(xué)校大學(xué)計算機(jī)課程教學(xué)指導(dǎo)委員會發(fā)布了《大學(xué)計算機(jī)基礎(chǔ)課程教學(xué)基本要求》,首次建議將Python語言作為高校編程語言的入門課程[3]。
(二)C語言教學(xué)現(xiàn)狀與困境
以某校為例C語言教學(xué)效果欠佳,根據(jù)某年對某高校的MyCOS調(diào)查發(fā)現(xiàn),學(xué)生對母校教師的授課情況滿意度不高,其中最重要的一個原因是C語言,在省計算機(jī)水平考試中C語言的通過率也是整體偏低,很多教師嘗試過用不同方法來講授這門課程,但仍然無法調(diào)動學(xué)生的聽課積極性。出現(xiàn)以上情況的原因歸結(jié)如下:
1.高職院校學(xué)生學(xué)習(xí)能力略差,特別有些學(xué)校計算機(jī)及其相關(guān)專業(yè)招生時是文理兼收的,有些文科學(xué)生一直以來對數(shù)字的敏感度不高,邏輯思維能力欠佳,喜歡學(xué)習(xí)容易的、有趣的課程,這部分學(xué)生學(xué)習(xí)C語言時面臨較大困難。
2.高校生活豐富多彩,學(xué)生學(xué)習(xí)時間有限,課程涉及內(nèi)容既多又抽象,理解起來較困難,甚至有些學(xué)生雖然會讀程序,可一旦讓他自己寫程序就顯得捉襟見肘、無從下手。由于C語言是學(xué)生步入高校以后接觸的第一門編程語言,因此編寫程序代碼的思維能力有待提高。
3.高職院校學(xué)生基礎(chǔ)稍弱,特別有些學(xué)生英語和數(shù)學(xué)功底較差,而C語言中有大量的代碼使用英文單詞,并且教學(xué)的實(shí)例很多都是圍繞著數(shù)學(xué)問題,如:求1+2+3+···+n的結(jié)果,這是一個用C語言解決求值問題的典型實(shí)例。這種數(shù)學(xué)問題遠(yuǎn)離生活實(shí)際,無法吸引學(xué)生的聽課積極性。
4.C語言的編寫程序比較自由、語法格式不固定;代碼的開發(fā)細(xì)節(jié)較多,難度很大,用時較長,不利于學(xué)生編程興趣的培養(yǎng);代碼的可讀性較差,有時出現(xiàn)同一問題不同的人編寫出完全不同的代碼,加大了調(diào)試的難度。
基于以上情況,探索有無類似C語言,又可以使學(xué)生較容易掌握的課程來代替C語言出現(xiàn)在高職院校的課堂上,由專家領(lǐng)導(dǎo)和骨干教師共同探討,一致認(rèn)可探索Python教學(xué)的新路子。
(三)Python語言的特點(diǎn)
1.簡潔,易掌握。Python可解決C語言的不足,首先其簡潔、易學(xué)習(xí),同樣實(shí)現(xiàn)一個功能,Python語言編寫的代碼有時會比C語言少很多,減少了調(diào)試時間,提高了執(zhí)行效率;其次雖然其代碼的編寫比較規(guī)范,有強(qiáng)制縮進(jìn)的要求,但程序非常美觀,初學(xué)者讀起來較容易;再次Python有強(qiáng)大的內(nèi)置標(biāo)準(zhǔn)庫,簡化了開發(fā)過程,使初學(xué)者有更多時間用在編程思維的培養(yǎng)上,從而避開了繁瑣的語法的困擾[4]。
2.Python是一門面向?qū)ο蟮母呒壵Z言,函數(shù)、模塊、字符串都是對象,并且支持重載、派生;C語言中的指針是比較難掌握的知識點(diǎn),而Python中不再使用指針從而降低了學(xué)生學(xué)習(xí)的難度;Python簡化了面向?qū)ο笳Z言,消除了接口、抽象等面向?qū)ο蟮脑亍?/p>
3.Python是解釋執(zhí)行,較容易實(shí)現(xiàn)跨平臺操作,可以在很多平臺運(yùn)行,如Linux,Windows等;Python語言是一種腳本語言,不但支持模塊還支持包,應(yīng)用于多種平臺并且可拓展,由于代碼開源,解決問題可以直接修改源代碼,比較方便快捷,有利于Python的廣泛使用。
(四)Python語言的應(yīng)用
Python在Web開發(fā)、人工智能、網(wǎng)絡(luò)爬蟲等方面應(yīng)用廣泛,具體有如下幾方面:
1.自動化運(yùn)維
如Linux運(yùn)維,平時只可以依靠人力或管理工具來進(jìn)行服務(wù)器的運(yùn)維,學(xué)習(xí)Python后可以開發(fā)自動化運(yùn)維的腳本或程序來實(shí)現(xiàn)服務(wù)器的運(yùn)維,從而減輕運(yùn)維人員的勞動量。
2.云計算
云計算近幾年發(fā)展很快,由于Python編程語言的優(yōu)勢,通過研究Nova和Swift模塊,可以快速搭建公有云、私有云、企業(yè)云。Python中最值得學(xué)習(xí)的云框架是Openstack.
3.人工智能
人工智能的發(fā)展方向主要在無人駕駛、機(jī)器學(xué)習(xí)、圖像設(shè)別、博弈等領(lǐng)域,98%的人工智能的開發(fā)用的是Python,Python是神經(jīng)網(wǎng)絡(luò)等領(lǐng)域的編程語言。