趙海波
【摘要】文章分析了高職軟件技術專業開設的程序設計語言課程體系和Python語言的優勢及廣泛應用領域,提出了高職軟件技術專業開設Python課程的教學體系方案,對將要開設Python語言課程的高職學校有一定借鑒意義。
【關鍵詞】Python 高職 課程體系
【Abstract】This paper analyzes the programming language curriculum system in the software technology majors of vocational colleges, the advantages and widely used fields of Python. Then it proposes a curriculum teaching system for Python in vocational colleges. It has certain reference significance for vocational colleges which prepare to offer Python course.
【Keywords】Python; Vocational colleges; Curriculum system
【中圖分類號】G71 【文獻標識碼】A 【文章編號】2095-3089(2018)39-0224-02
1.引言
程序設計課程是高職軟件技術專業必修的專業基礎課程,在整個教學體系中占有非常重要的地位。課程教學目標是培養學生熟練掌握面向對象的程序設計思想和設計方法,以及應用面向對象思想解決和處理實際問題的方法與能力。
目前高職軟件技術專業開設的程序設計語言一般有基礎的C語言,進階的有.NET的C#語言、Java體系的java語言等。C語言作為入門的結構化程序設計語言,基于其優秀的性能和良好的程序結構,有利于學生的編程思想的培養。.NET和Java均有各自的體系,作為市場占有率極高的面向對象的高級程序語言,基本能實現各個方面的程序設計需求。因此這些程序設計的課程體系基本涵蓋了職業技術院校學生所學即可用的需求。
隨著大數據、云計算等IT技術的廣泛應用,Python這門誕生了三十年的程序設計語言煥發出了勃勃生機,在各應用領域受到了前所未有的歡迎。因此有眾多高職院校有開設Python課程的需求。
2.高職開設Python語言的必要性分析
Python是一種面向對象的解釋型計算機程序設計語言,由荷蘭人Guido van Rossum于1989年發明,第一個公開發行版發行于1991年[1]。IEEE發布2017年編程語言排行榜:Python高居首位[2]。Python是一門非常流行的程序設計語言,具有很多優點,主要有:(1)Python是完全面向對象的語言, Python采用極簡主義的設計思想,Python語言易學、易讀、易維護。Python 語言是目前最接近自然語言的高級語言,抽象程度高,代碼編寫高效,符合計算思維的時代性,適應當代計算機技術發展水平。(2)Python是免費、開源的,可以移植的,已經被移植到了大多數平臺下面。(3)高可擴展性和嵌入性,如果你需要你的一段關鍵代碼運行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們。還可以把Python嵌入C/C++程序,從而向程序用戶提供腳本功能。(4)具有豐富的生態庫,Python本身具有豐富強大的標準庫,而且由于Python的開源特性,第三方庫也非常多,可以運用在web開發、數據分析、爬蟲、科學計算等各個領域。這些第三方庫形成的Python生態為使用Python 語言編寫程序提供了極大的便利和良好的學習平臺,為基于Python 語言的快速開發提供了強大支持,由此形成了良好的生態體系,構成了Python 語言的強大優勢。
Python 語言已經成為國際最受歡迎的程序設計語言,國外眾多大學從2009 年開始針對該言廣泛開設相關課程。2016 年,教育部高等學校大學計算機課程教學指導委員會發布了《大學計算機基礎課程教學基本要求》,首次建議將Python 語言作為程序設計入門課程的教學語言[3]。以此為契機,我國高校也逐步開展Python程序設計課程的教學改革。高等職業學校課程體系的特點就是與市場需求無縫連接,所學即可用。目前開設的Java程序語言體系與.Net程序語言體系實現的過程及目標高度一致,或有不少重復的內容。從市場角度來看,Java的市場份額要比.Net的市場份額要高,適用程度和受歡迎程度也都要高。Python 語言發展了面向對象高級語言的表達形式,簡化程序設計過程,提升了程序設計效率。基于對目前軟件技術專業開設的程序設計語言課程以及Python語言的特點分析,以及目前IT市場上Python語言的普遍適用和受歡迎程度,認為可以用Python語言生態體系替代.Net體系,使學生掌握的技能更接近市場需求,這樣也更能體現高職人才培養方案的特點。
3.軟件技術專業開設Python課程教學體系設計
Python語言由“Python語言程序設計”及“Python生態圈”(第三方類庫)組成,Python具有龐大的生態圈,十多萬個第三方庫覆蓋幾乎所有技術領域,離開Python語言的生態圈,Python語言與其他高級語言無異了。Python 語言教學改革與其他編程語言在教學理念上的重要區別,即“Python 語言”與“Python生態圈”是統一的整體,可以兼顧基礎Python語言功能與Python生態圈的應用。在教學內容的選擇上可以考慮分兩個階段設計Python課程的教學體系,第一個學期開設Python語言基礎程序設計,第二個學期開設Python語言應用開發,學習Python生態圈應用。
3.1Python語言基礎程序設計
第一個學期開設Python語言基礎程序設計學習“Python語言基本語法”,設置54課時,3個學分,具體安排如圖1和表1所示。Python語言基礎程序設計與一般高級程序設計語言教學類似,突出程序設計的基本方法,重點培養學生掌握面向對象程序設計的思想,認識將現實問題轉變為數據結構算法再變為程序的過程[4]。強調計算機求解問題的思路引導與程序設計思維方式的訓練,重點放在程序設計的思想與方法上。
3.2Python語言應用開發
第二個學期開設“Python生態圈”,學習Python的具體應用,讓學生掌握具有一定規模的程序設計任務,設置72課時,4個學分,具體安排如表2所示。通過該課程的學習,讓學生具備利用軟件編程技術去解決實際問題的應用能力。通過分析問題、設計數據結構、編寫程序,學會利用程序來解決現實問題,提高程序應用能力。要求學生能夠完成需求分析、編寫程序、調試程序的任務,并能根據具體任務的需要查詢任務行業領域內的專業知識,將軟件應用于行業結合起來,解決行業問題,并撰寫報告。“Python生態圈”部分主要講解第三方庫,配合Python語言基本語法,可以講授Numpy庫、requests庫、pandas庫、Matplotlab庫等,通過有趣并且實用的案例增強學生學習的興趣。“Python語言程序設計”和“Python生態圈”這兩部分內容相互融合、相互支持、相輔相成,通過講解部分庫可以構造有趣的實例,語法學習的逐步深入也助于對庫的理解和學習[5]。應用“Python生態圈”部分講解面向能力的系列庫,根據Python的應用領域,建議在數據分析、網絡爬蟲、人工智能、圖形繪制四個應用方向進行學習。
(1)數據分析方向:分詞jieba庫 和自然語言處理NLTK 庫講解,形成處理自然語言的基本能力;Numpy庫做矩陣計算;Scipy庫做科學計算;pandas庫做數據處理;數據展示Matplotlib 庫,形成表示數據、繪制數據展示圖及開展深入數據運算的基本能力。
(2)網絡爬蟲方向:講解Web 爬取requests庫、HTML 解析beautifulsoup庫和正則表達式re庫,形成數據爬取分析并提取網頁數據的能力。
(3)人工智能方向:學習sklearn庫和scikit?鄄learn庫做機器學習;pybrain庫做神經網絡;Theano庫和Keras庫做清洗數據并進行機器學習分類、聚類和回歸分析的能力。
(4)圖形繪制方向:講解Matplotlab這個專業畫圖工具庫;講解圖形繪制的turtle庫和GUI 設計的qt5 庫,形成基本的GUI 實現和圖形創意設計的基本能力。
4.結束語
隨著大數據、云計算等IT技術的廣泛應用,Python的應用領域和范圍都將會不斷擴大,相信開設Python課程的職業院校會越來越多。Python課程的教學體系與一般高級程序設計語言教學體系既具有共性,又有其自身的特點。如何發揮語言自身的優勢,還需要結合人才培養的目標和學生的學情不斷進行教學實踐,不管采用什么樣的教學體系,培養學生的計算機的軟件編程應用能力的目標是一致的[6]。比較理想的方式是能夠達到Python語言基礎和Python生態圈的融合,讓學生既能掌握基本的高級語言程序設計方法和技能,又能選擇合適的方法去解決實際問題。將計算機編程與行業領域結合起來,達到所學即可用,也是高等職業學校的教學目標。
參考文獻:
[1]Python(計算機程序設計語言).https://www.Python.org.
[2]IEEE發布2017年編程語言排行榜:Python高居首位.http://36kr.com/p/5084329.html.
[3]教育部高等學校大學計算機課程教學指導委員會.大學計算機基礎課程教學基本要求[J].北京: 高等教育出版社,2017.
[4]嵩天,禮欣,黃天羽. Python語言程序設計基礎[M].2版. 北京: 高等教育出版社,2017.
[5]嵩天,黃天羽,禮欣.面向計算生態的Python語言入門課程教學方案[J].計算機教育,2017(8):7-12.
[6]劉衛國,奎曉燕. Python 語言程序設計教學體系建設[J].計算機教育,2017(08):13-17.
作者簡介:
趙海波,男,高級工程師,研究方向為軟件技術、大數據。