汪材印,崔 琳,吳孝銀,張志偉
信息時代的發(fā)展趨勢為程序設計課程的內(nèi)容改革提供了依據(jù)。Python語言已被列入國家計算機等級考試二級考試科目(代碼:66),并將于2018年9月首次開考[1],而當前可供選擇的《Python語言程序設計》教材極為有限,為了和國家計算機教育發(fā)展保持同步,非常有必要編寫《Python語言程序設計》教材,開設Python語言程序設計課程教學。相對于Java、C++和C語言,Python是一門更易學、更嚴謹?shù)某绦蛟O計語言,它能夠讓用戶編寫出更易讀、易維護的代碼[2]。同時,Python也是最接近人工智能的一種語言,是進行大數(shù)據(jù)挖掘與分析必選的語言之一[3]。數(shù)據(jù)科學與大數(shù)據(jù)技術專業(yè)的大部分專業(yè)課程都是以Python語言為基礎的,而為應用型本科高校數(shù)據(jù)科學與大數(shù)據(jù)技術專業(yè)的學生開設Python語言程序設計課程,一定能為學生的后續(xù)學習打下扎實的基礎。為此,撰寫一本適合應用型本科高校大學生使用的《Python語言程序設計》教材勢在必行。
筆者通過網(wǎng)絡搜索收集到了國內(nèi)已出版的有關Python語言程序設計專著和教材以及一些企業(yè)自編的Python語言程序設計培訓講義,經(jīng)整理、分析發(fā)現(xiàn):(1)目前國內(nèi)已出版的只講述Python程序設計知識的專著和教材很少,且內(nèi)容都是以Python語言為工具,講述有關機器學習、數(shù)據(jù)挖掘或者應用統(tǒng)計學方面的知識,不宜作為教材使用。(2)在已出版的Python程序設計專著和教材以及技術資料中多由英文版翻譯而來,且部分版本是在Linux操作系統(tǒng)下講述Python語言,不適合已經(jīng)習慣了使用Windows操作系統(tǒng)的非計算機專業(yè)學生,同時與國家計算機“Python語言程序設計”等級考試要求使用的操作系統(tǒng)不匹配,也無法作為教材使用。(3)在沒有合適教材的情況下,國內(nèi)大多數(shù)高校選擇美國戴維I.施耐德編著的《Python程序設計》(中英本)和董付國編著的《Python程序設計》兩部著作作為教材。前者使用的Python語言版本偏低,知識體系冗長,像一本技術文獻字典[4],不宜作為教材;后者由國內(nèi)高校教師編寫,理論體系比較完善,但內(nèi)容劃分太過細致[5],講解需要的課時量太大,也不適合作為應用型本科高校教材。(4)由企業(yè)開發(fā)的Python程序設計培訓講義,實踐案例較為豐富,但對所講述的實踐案例蘊含的理論知識缺少凝練和總結,案例所對應的理論內(nèi)容沒有很好地體現(xiàn)出來,使用這類講義作為Python語言程序設計教材進行教學,學生的Python的操作技能有了一定的提升,但不能掌握Python語言程序設計的理論知識體系。綜上所述,編寫一本適合應用型本科高校學生使用的Python語言程序設計教材迫在眉睫。
為了幫助計算機二級考生更好地復習備考新設置的“Python語言程序設計”考試科目(代碼:66),同時也為數(shù)據(jù)科學與大數(shù)據(jù)技術專業(yè)學生的學習打下扎實的專業(yè)基礎,應用型本科高校亟需編寫一本既有針對性又具有實踐性的Python語言程序設計教材。根據(jù)安徽省應用型本科高校相關專業(yè)的師資和Python語言程序設計課程教學以及校企合作情況,編寫一本適合應用型本科高校教學的省級規(guī)劃教材《Python語言程序設計》已水到渠成。
在省級規(guī)劃教材《Python語言程序設計》建設中,為保證教材理論知識體系的完善和案例的可操作性,筆者所在的宿州學院借力校際合作、校企合作,聯(lián)合皖南醫(yī)學院、安徽工程大學、阜陽師范學院等省屬應用型高校和新華三集團,選擇《Python語言程序設計》理論深厚的優(yōu)秀教師和實踐技能熟練的工程師參與本教材的編寫,且分工明確,每一位編寫人員著手編寫自己擅長的章節(jié)和實踐案例。借助于校際合作,不同高校從事Python語言程序設計教學的專業(yè)教師將在一起討論、編寫,產(chǎn)生思想碰撞的火花,從而保證教材的理論知識體系更為完善[6-10]。借助于校企合作,吸納與宿州學院等應用型高校有著深厚合作基礎的新華三集團參與教材編寫,由他們提供企業(yè)一線的實踐案例,保證本教材所使用的案例來自于真實的實踐,具有一定的創(chuàng)新性和可操作性[11-12]。
2015-2016學年和2016-2017年,《Python語言程序設計講義》在宿州學院等省屬應用型本科高校試用過兩個循環(huán),取得較好的效果。整個講義分為兩大部分共10章,內(nèi)容包括:第1章 Python語言概述,第2章 Python語言基礎,第3章 Python特征數(shù)據(jù)類型及其操作,第4章 Python字符串與正則表達式,第5章 Python文件操作,第6章 Python函數(shù)與模塊,第7章 Python面向?qū)ο蟪绦蛟O計,第8章 Python數(shù)據(jù)庫操作,第9章 Python多進程、多線程和第10章 Python GUI。其中,第1部分包括1-6章,闡釋Python語言的“核心”內(nèi)容,包括基本的概念和語句、Python對象、數(shù)據(jù)類型、條件和循環(huán)、文件和輸入/輸出、錯誤和異常、函數(shù)和函數(shù)式編程、模塊等內(nèi)容,著重對學生基本編程能力和計算思維的培養(yǎng)。第2部分7-10章,提供了各種高級主題,包括面向?qū)ο缶幊?、?zhí)行環(huán)境、數(shù)據(jù)庫編程、多線程編程、圖形用戶界面編程、擴展Python和一些其他材料,著重培養(yǎng)學生的高級編程能力;尤其是以項目的形式,提倡團隊協(xié)作,突出對學生綜合實踐能力、創(chuàng)新能力的培養(yǎng)。該講義雖然在試用中取得了較好的效果,但編寫人員仍在逐步完善,成書以后可作為計算機科學類專業(yè)、信息科學類專業(yè)、電子科學類專業(yè)、自動化類專業(yè)的專業(yè)基礎課,也可作為理工科和文科類的公共基礎課程序設計教材,還可作為對編程具有濃厚興趣的中學生的課外閱讀資料。
擬編寫的《Python語言程序設計》教材在編寫人員構成、內(nèi)容安排、教學資源準備、培養(yǎng)學生“雙創(chuàng)”能力和計算思維能力方面力求創(chuàng)新性,它將具有以下特色。
本教材的編寫力求在教學內(nèi)容與形式上加以改革,把理論教學和實踐教學有機結合起來,以理論為指導,以實踐為目的,采用實踐鞏固理論、理論指導實踐的循環(huán)模式。目前使用講義教學時,首先,通過教師的演示展開,然后再將實例不斷修改、擴充,引導學生參與到程序的編制過程中,幫助學生將理論知識轉(zhuǎn)化為實踐操作能力,達到學以致用的目的。本教材將強化Python語言自身所具有的特征知識的講解,如Python特征數(shù)據(jù)類型及其操作、Python文件操作、Python函數(shù)與模塊、Python面向?qū)ο蟪绦蛟O計和Python多進程、多線程等內(nèi)容。弱化了與Java和C語言具有共性知識的講解,如Python語言基礎和Python字符串與正則表達式的講解。本教材的編寫將是所有參編人員在教學和實踐過程中對教與學方法的總結與提升的結果。編寫組已形成較為成熟的教學講義,在國家級大數(shù)據(jù)應用技術大賽和省級大數(shù)據(jù)應用技術大賽中,已使用此Python程序設計講義對參賽學生進行了輔導,多位同學在大數(shù)據(jù)比賽中獲得可喜的獎項。本教材的編寫既是對Python語言程序設計教學成果的推廣,也是對數(shù)據(jù)科學與大數(shù)據(jù)技術專業(yè)建設成果的展示。宿州學院數(shù)據(jù)科學與大數(shù)據(jù)技術專業(yè)是安徽省第一個數(shù)據(jù)科學與大數(shù)據(jù)技術專業(yè),在特色專業(yè)建設過程中,Python語言程序設計作為專業(yè)基礎課,已在課程建設、教材建設等方面作了大量的工作,并取得了一定的成績。
教材中的代碼和實踐案例將由新華三集團提供,直接來自于企業(yè)一線實際操作,并通過編寫組嚴格把關和篩選,保證讓學生除了學到Python程序設計基礎知識以外,對Python的實際操作能力也能得到提升。學生可以使用Python語言進行一些實際項目的開發(fā),如申報國家級大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目或者參加“互聯(lián)網(wǎng)+”創(chuàng)新創(chuàng)業(yè)大賽項目等。每章內(nèi)容按照“任務分析-案例導入-理論知識介紹-總結與回顧-復習思考-能力拓展”這一結構設置,使得學生從分析任務、學習相關知識到完成任務這一過程得到學習與鍛煉,對Python語言的應用得到快速強化,從而促進學生“雙創(chuàng)”能力和計算思維能力的培養(yǎng)。
編寫組在準備撰寫《Python語言程序設計》教材的同時,初步構建了部分在線資源。在線資源包括在線實訓實驗指導、課件PPT和電子教案、在線習題、可以動態(tài)更新的在線Python擴展內(nèi)容閱讀等資源。讓學生在課前或者課后學習在線課程資源,課堂上再進行強化和鞏固,實現(xiàn)線上教學和線下教學的有機融合,真正實現(xiàn)Python程序設計的翻轉(zhuǎn)課堂教學和學生的混合式學習,具體操作如圖1所示。隨著教材的編寫工作的進行,編寫組將進一步擴充、完善在線資源。
圖1 “Python語言程序設計”課程翻轉(zhuǎn)課堂教學和學生的混合式學習模式
為了保證教材的內(nèi)容面向未來的工程人員,使學生具備“新素養(yǎng)”,教材編寫的著眼點是課程重構,非常關注學生的“核心素養(yǎng)”培養(yǎng)。在教材中,學生“核心素養(yǎng)”的培養(yǎng)將落實在從Python的基本語法開始,帶領學生逐步深入地學習各種應用技巧,側重實戰(zhàn)技能,使用簡單易懂的實際案例進行分析和操作指導,讓學生讀起來輕松,操作起來有章可循。每章都將提供有學習目標,以指導學生重點學習及學后檢查。章節(jié)后的復習思考板塊,均準備根據(jù)每章內(nèi)容精選而成,學生可以隨時檢測自己的學習成果和實戰(zhàn)能力,真正做到融會貫通。
把以上四點措施有機結合起來,采取如圖2所示的“一體四雙翼”的模式來準備省級規(guī)劃教材《Python語言程序設計》的編寫。
圖2 《Python語言程序設計》教材編寫特色模式圖
本文針對當前《Python語言程序設計》教材所存在的問題,從編寫人員構成、教材內(nèi)容安排、教學資源準備、如何培養(yǎng)學生“雙創(chuàng)”能力和計算思維能力等方面,研究了如何編寫一本具有創(chuàng)新性和新工科特色的省級規(guī)劃教材。在本文所提出的編寫理念指導下,準備編寫的省級規(guī)劃教材《Python語言程序設計》迎合了國家級計算機二級等級考試的要求,同時又能很好地滿足數(shù)據(jù)科學與大數(shù)據(jù)技術等專業(yè)的程序設計基礎教學,具有非常廣泛的應用價值,將會幫助學生掌握一門終身受益的程序設計語言。
[參 考 文 獻]
[1] 關于全國計算機等級考試(NCRE)體系調(diào)整的通知[EB/OL]. [2017-10-14].http://www.sohu.com/a/198150927_695173.
[2] 嵩天,黃天羽,禮欣.Python語言:程序設計課程教學改革的理想選擇[J]. 中國大學教學,2016(2):42-47.
[3] 狄博,王曉丹.基于Python語言的面向?qū)ο蟪绦蛟O計課程教學議[J].計算機工程與科學,2014,36(S1):122-125.
[4] 戴維I 施耐德.Python程序設計[M].車萬翔,譯.北京:機械工業(yè)出版社,2016:1-359.
[5] 董付國.Python程序設計[M].2版.北京:清華大學出版社,2016:1-376.
[6] 劉喜平,萬常選,舒蔚,等.器—術—道:程序設計教材建設經(jīng)驗談[J].計算機教育,2017(11):163-166.
[7] 陳娟,張長海.《程序設計基礎》國家級“十二五”規(guī)劃教材建設經(jīng)驗談[J].計算機教育,2013(18):122-127.
[8] 汪材印,張家喜.混合式學習理念在《計算機網(wǎng)絡》教學中的應用[J].安陽師范學院學報,2011(5):142-144.
[9] 崔琳,宋啟祥.面向計算思維的多維混合式翻轉(zhuǎn)教學模式研究:以“數(shù)據(jù)庫原理”課程為例[J].攀枝花學院學報,2017(2):100-105.
[10] 李自力,王宇,蔣義軍,等.財經(jīng)大學程序設計課的特點和Python語言的優(yōu)勢分析[J].計算機教育, 2017(12):28-31.
[11] 陳鄞,蘇統(tǒng)華,黃虎杰,等.基于校企合作的軟件工程專業(yè)系列案例教材建設[J].計算機教育,2017(3):22-24.
[12] 張云霞.基于校企合作的應用型教材建設探索[J]. 教育現(xiàn)代化,2017(2):64-65.