[摘 要]編程能力是地理信息系統(GIS)專業學生未來從事GIS專業工作的重要技能,為了滿足社會對高層次GIS軟件開發人才的需求,GIS專業學生必須提高GIS軟件編程能力。通過分析GIS專業中編程能力的重要性,結合筆者的教學實踐,提出GIS軟件編程能力培養的目標及培養途徑,包括合理地設置教學內容、慎重地選擇啟蒙編程語言、采取多樣化的教學方式、鼓勵學生參加GIS開發比賽以及強調以實際項目作為畢業設計內容等方法,為提升GIS專業學生的軟件編程能力做出了有益的探索。
[關鍵詞]編程能力 教學質量 GIS
[中圖分類號] G642 [文獻標識碼] A [文章編號] 2095-3437(2014)17-0025-03
地理信息系統(Geographical Information System, GIS)是一門集計算機科學、地理學、遙感科學以及測繪科學等多門學科為一體的交叉學科。[1] [2]進入21世紀以來,地理信息系統產業呈現井噴式的發展態勢,目前國家已經將GIS軟件產業作為重點支持和優先發展的領域。社會對GIS應用軟件的數量和質量需求都在不斷提升,這使得GIS軟件人才的需求也迅速增加。[3]然而,目前GIS專業就業市場上存在的主要矛盾,是雖然每年都有為數眾多的GIS專業學生畢業,但是絕大部分學生的GIS應用軟件編程能力卻難以滿足用人單位的要求。[4]因此,高校GIS專業教學必須重視對學生GIS應用軟件編程能力的培養。鑒于此,筆者擬結合自己的教學實踐,從GIS軟件編程能力培養的教學內容、教學手段以及與畢業設計和學科競賽的關系等諸多方面進行初步的探討,以期能夠提高對學生GIS軟件編程能力培養的教學效果。
一、在專業培養方案和教學計劃中突出軟件編程能力的地位
(一)在專業培養方案中強調軟件編程能力的重要性
計算機軟件系統是地理信息系統的關鍵,GIS數據的表達、管理與分析都需要計算機軟件系統的支持。[5]因此,計算機軟件技術是地理信息系統重要的理論和技術基礎。地理信息系統專業培養人才的目標是培養適應社會經濟發展需要,具備地圖學、測繪遙感和地理信息系統的基本理論、基本知識、基本技能的應用型人才。[6]目前GIS專業畢業生的就業方向大致可以分為四類:第一類是從事GIS軟件應用系統開發工作,包括GIS平臺軟件開發和GIS應用軟件二次開發。這一類就業單位主要是GIS軟件平臺公司(例如北京超圖軟件股份有限公司、中地數碼集團、ESRI中國(北京)有限公司等)、GIS應用軟件公司。這一類中還有相當比例的畢業生專門從事計算機軟件的開發工作。毋庸置疑,從事這一類工作必須要具備較強的軟件開發能力,尤其是從事GIS底層開發的人員。第二類是利用GIS軟件解決某些行業的具體應用問題,主要就業單位為各行業的企事業單位。這類工作雖然對于畢業生的軟件開發能力要求不如第一類高,但是在解決某些特定問題時也需要利用GIS平臺軟件進行簡單的腳本語言開發,因此對于軟件編程能力也有一定的要求。第三類是從事GIS專業的市場工作,包括市場營銷和技術支持服務。這類工作對于畢業生的GIS軟件編程能力的要求相對較低,但是如果其從事技術支持工作則仍然要求具有一定的軟件編程能力。第四類就是轉到其他行業,不再從事GIS專業相關工作。每年我院均有一部分學生轉到其他行業工作。從以上的就業方向分析可以看出,對于GIS專業學生來說,軟件編程能力是不可或缺的重要能力。因此教師在培養目標中一定要重視學生軟件編程能力的培養。
(二)在課程設置中突出軟件編程能力的培養
廣州大學地理科學學院充分結合自身的師資特點,非常重視GIS專業學生軟件編程等實踐應用能力的培養。從表1可以看出,在專業課程中,主要針對軟件編程的課程就有8門,包括Visual Basic程序設計、C程序設計、C++程序設計、C#程序設計、數據結構、GIS設計與開發、WebGIS原理及應用、GIS軟件工程原理與方法。在2010-2011學年第2學期又增加開設了ArcObjects程序設計課程。其他與計算機專業相關的課程也占了較大比例。而在實踐教學方面,我院幾乎所有的計算機類和GIS專業課程均配有實踐教學環節,實踐課程與理論課的學時比例在1.2-2之間。同時還有集中實踐教學環節,主要以上機實踐為主。總體來看,實踐教學環節與理論課的比例較為均衡。目前,我校2013年人才培養計劃方案已經編制完成。新方案中繼續增加軟件編程等實踐類課程的比重,同時實踐類課程教學環節尤其是編程課程也做到了較好的延續性,例如上一學年開設了程序設計語言課程后,緊跟著就開設GIS設計與開發、ArcObjects程序設計等課程,而不是像以前一樣中間間隔一個學年后才繼續涉及與GIS二次開發相關的課程。
二、強化GIS專業師資力量
目前,我國的GIS教育發展到今天也只有10多年的歷史,在此期間雖然師資隊伍建設取得了長足進步,但能力建設仍顯不足。GIS專業的師資力量往往是由地理學、測繪遙感學、計算機科學和數理等學科方向或領域的教師組合而成[7],真正從本科、碩士到博士階段都是GIS專業的教師非常少見。以我院地理信息科學系為例,全系10多名專任教師中沒有1名是從本科到博士階段均為GIS專業出身,絕大部分都是學校從碩士階段開始學習GIS專業知識。因此,建議加大師資力量建設,在目前GIS專業純正出生的師資力量缺乏的情況下,在地理學、測繪科學、遙感學、計算機科學等各個方向至少配備2-3名教授、副教授或博士。
三、慎重選擇GIS專業學生啟蒙程序設計語言
以筆者自身的學習經歷來看,編程能力的培養是一個不斷模仿、逐步學習的過程。初始階段的學習主要是對已有代碼的模仿,然后逐步理解,形成自己的編程思維。在此,程序語言的選擇是一個比較關鍵的問題。選擇語言應注意語言在特定專業領域的應用情況、語言本身的功能和性能、語言學習的難度、今后發展趨勢等問題。[8]目前大部分高校的GIS專業都是將Visual Basic(簡稱VB)程序設計語言作為入門程序設計語言進行教學。針對GIS專業而言,VB由于在功能、性能等方面的局限性,與大型、海量地理信息系統的要求之間存在一定差距,所以已經逐漸退出了GIS應用軟件開發的舞臺。C++比較適合作GIS的底層開發,NET與VB和VC相比不僅進行GIS的二次開發的效率較高,而且屬于新興技術。因此建議,如果在師資力量和學生基礎都允許的情況下,可以考慮采用C++作為入門教學語言。然而,由于C++作為啟蒙語言對于學生來說比較復雜,所以在具體教學中應該注意教學內容、教學方式的把握,可以采用分階段教學的方式,先講授C++語言的基礎知識,再開設Windows程序設計之類的課程。另一種較為穩妥的思路是首先以Visual Basic語言進行程序設計語言入門,然后再進行C++語言的教學。此外,筆者通過在講授GIS設計與開發、C#程序設計課程的教學實踐中發現,只要課程內容設置得合理,將C#語言作為GIS專業學生的入門程序語言也是有可能的。因此,筆者在編制2013版專業人才培養方案的過程中,提出建議:改用C#作為GIS專業學生的入門程序語言,并最終被新版人才培養方案采納。目前,采用新版人才培養方案的學生還未進入到學習該課程的學期,因此未能在教學實踐中進行探索性嘗試,這些需要在未來的教學研究中進一步深入研究。
四、改變傳統實踐教學方式
在實踐教學環節方面,要改變傳統的學生被動學習的傳統模式,即先由教師進行操作演示再由學生模仿教師的操作或者是按照課件進行實驗的重現。[9] [10]在這種方式下學生的主觀積極性不強,往往是照貓畫虎的走過場。[11] [12] [13]為此,教師應該采用多種教學手段來激發學生的學習興趣,例如可以利用情景教學,使學生對GIS應用項目開發有相對真實的體驗。由于絕大部分學生沒有參與實際GIS應用項目的開發經驗,因此如果只是單純地講解理論和技術,會使學生難于理解。在課堂上可以通過分組合作和角色扮演的方式,模擬實際項目開發的部分場景,將枯燥的理論和技術用靈活生動的方式表述出來,這樣可以調動學生的學習積極性,提高學習興趣。
五、積極參加GIS開發大賽,以賽促學
目前,各類面向高等院校和科研機構在校學生的GIS開發大賽層出不窮,不少用人單位都將參加GIS大賽的經歷作為招聘人才的重要依據。[14] [15]當前,在國內較為主流的賽事主要有由北京超圖軟件股份有限公司主辦的“超圖杯全國高校學生GIS應用開發大賽”、由ESRI中國(北京)有限公司主辦的“ESRI杯中國大學生GIS軟件開發大賽”和武漢中地數碼有限公司主辦的“中地數碼杯全國高校學生MAPGIS二次開發大賽”。GIS開發大賽不僅要求學生具備一定的基礎理論知識,而且更加注重考查學生綜合運用所學知識解決實際應用問題的能力。根據筆者過往指導學生參加比賽的經驗來看,學生普遍反映只要完整地參與了一次GIS開發大賽的全過程,對其GIS應用軟件編程開發能力的提升作用非常明顯。
六、以實際項目為例教學,狠抓畢業設計
據了解,GIS軟件二次開發課程在多數高校都是安排在大學三年級進行,而四年級馬上就要面臨畢業設計。畢業設計是學生本科階段最后一次完整實踐GIS應用項目開發的機會。因此,應該鼓勵指導教師和學生依托合作企業,主動選取具有實際應用價值的GIS應用開發項目作為GIS二次開發課程的實踐教學內容,教師在課程的教學過程中首先進行初步的嘗試,并在次年積極引導學生在該課程的實踐教學的基礎上延伸為畢業設計的內容。這樣既可鍛煉學生分析問題并解決問題的能力,又使得學生在開發實際GIS應用系統的過程中真正理解GIS軟件設計與開發的理論知識,并極大地提升學生的GIS軟件編程能力。
七、探索GIS專業的“卓越工程師計劃”培養模式
2010年,國家啟動了“卓越工程師計劃”,旨在培養造就一大批創新能力強并適應經濟社會發展需要的高質量各類型工程技術人才。地理信息系統專業也是一門實踐性極強的學科,如何培養出高素質、具有很強的實踐能力的專業人才是我們必須面對的問題。因此,應該以“卓越工程師計劃”為契機,探索如何加強GIS專業學生實踐能力的培養。令人欣喜的是已有不少的學校做出了探索性的嘗試[16] [17],可以為我們提供借鑒與參考。但是,由于每個學校的師資力量、教學條件和學生素質都大不相同,因此必須結合本校的實際情況進行分析。首先應該分析GIS專業教學模式的現狀,并參照“卓越工程師計劃”的標準,修改并提出新的實踐教學要求、實踐教學內容、實踐教學方法和模式,從而提高教學水平和教學質量,培養合格的人才。為此,在編制2013-2015年專業發展規劃的過程中,筆者據此提出建議實行“卓越工程師計劃”的探索,以便在未來的學科建設中進一步深入研究。
八、結論
通過以上分析,我們認為可以通過以下幾種方式提升學生的編程能力培養效果,具體包括:1.強化GIS專業師資力量;2.慎重選擇學生啟蒙程序語言;3.優化教學方法,達到啟發式教學的效果;4.積極組織學生參加GIS開發比賽從而加強學生的編程能力,同時也提升指導教師的專業素質;5.以實際項目作為GIS二次開發課程教學內容,并進一步拓展為畢業設計內容;6.探索“卓越工程師計劃”在GIS專業人才培養中的應用。以上是我們針對如何加強GIS專業學生編程能力培養的一點淺薄意見,以期與同行交流探討。
[ 注 釋 ]
[1] 黃杏元,馬勁松,湯勤.地理信息系統概論(第2版)[M].北京:高等教育出版社,2001:1-5.
[2] 鄔倫,劉瑜,毛善君.GIS專業本科教學探討——北京大學教學實例[J].地理信息世界,2004(2):27-30.
[3] 邊馥苓.我國高等GIS教育:問題、創新與發展[J].地理信息世界,2007(2):4-8.
[4] 蔡菲,孫英君,單寶艷,史同廣.地理信息系統專業學生GIS軟件開發能力的培養[J].測繪通報,2008(6):74-77.
[5] 尚穎娟. “地理信息系統”課程教學與實踐[J].西南師范大學學報(自然科學版),2007(5):171-174.
[6] 盛業華,郭達志,杜培軍.GIS課程教育的實踐與思考[J].測繪通報,2000(6):4042.
[7] 談樹成,劉恒,夏既勝,趙筱青.關于地理信息系統(GIS)本科專業課程設置的思考[J].高等理科教育,2008(4):47-50.
[8] 杜培軍,閆志剛.對地理信息系統專業計算機類課程設置的探討[J].測繪通報,2005(1):63-66.
[9] 鐘廣銳.基于SuperMap Objects的“GIS設計與開發”課程實驗設計[J].地理空間信息,2007(2):117-120.
[10] 張恒,劉群.GIS設計與開發課程實驗教學設計[J].實驗科學與技術,2009(4):45-47.
[11] 郭先春,李大軍,程朋根,鄒時林,姜林.GIS二次開發課程案例化教學方法探索[J].測繪科學,2011(3):244-246.
[12] 龔俊,柯勝男,鄭林.能力培養導向的GIS專業實踐教學體系研究[J].教學研究,2010(2):58-62.
[13] 王世界.非地理信息系統專業GIS課程實驗教學改革與探索[J].測繪與空間地理信息,2013(8):55-57.
[14] 楊敏,汪云甲.大學生GIS開發大賽對GIS專業實踐教學的啟示[J].測繪工程,2009(5):77-80.
[15] 姚頑強,李崇貴,馬慶勛,邱春霞,胡榮明.地理信息系統專業教學與教育改革研究[J].技術與創新管理,2011(2):195-198.
[16] 梅曉丹,王亮,馬俊海.基于卓越計劃的測繪工程專業GIS教學體系研究與實踐[J].測繪工程,2013(5):93-96.
[17] 柯麗娜,張戈,李家,王方雄,趙玥.GIS專業“卓越工程師教育培養計劃”培養模式初探[J].地理空間信息,2013(1):160-162,165.
[責任編輯:陳 明]