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