馮永玖 高峰 劉瑜 李陽(yáng)東
【摘 要】地理信息系統(tǒng)(GIS)開發(fā)課程群是高等教育中遙感GIS類的核心課程,對(duì)培養(yǎng)學(xué)生的空間思維、數(shù)據(jù)處理能力、解決空間問題的能力起到至關(guān)重要的作用。本課程群包括《地理信息系統(tǒng)》、《可視化程序設(shè)計(jì)》、《GIS開發(fā)與應(yīng)用》、《WebGIS原理與開發(fā)》和《GIS綜合應(yīng)用實(shí)習(xí)》等5門理論與實(shí)踐課程。在課程群改革之前,各門開發(fā)課程采用的編程語(yǔ)言不一致,經(jīng)過課程的銜接改革統(tǒng)一使用C#語(yǔ)言,課程群的整體性得到了極大的提升,同時(shí)也極大地激發(fā)了學(xué)生的興趣、培養(yǎng)了他們的實(shí)踐創(chuàng)新能力。
【關(guān)鍵詞】地理信息系統(tǒng)開發(fā)與設(shè)計(jì);計(jì)算機(jī)編程;課程群;教學(xué)改革;創(chuàng)新實(shí)踐
0 引言
地理信息系統(tǒng)(GIS)是集空間數(shù)據(jù)采集、輸入、存儲(chǔ)、查詢、分析和顯示的計(jì)算機(jī)系統(tǒng),近十余年來備受各界關(guān)注。由于GIS處理的數(shù)據(jù)具有空間位置特征,它幾乎與全世界80%的數(shù)據(jù)有關(guān)系或關(guān)聯(lián)。因此,在高等教育中許多院校均開設(shè)了GIS相關(guān)的課程,海洋類高校如上海海洋大學(xué)就是其中典型例子。GIS在海洋及海岸帶領(lǐng)域,不僅能夠采集、處理和顯示野外獲取的數(shù)據(jù)、遙感影像等空間數(shù)據(jù),也能夠進(jìn)行海洋資源環(huán)境數(shù)據(jù)的深度分析,以揭示這些信息的空間分布、運(yùn)動(dòng)和時(shí)間變動(dòng)特征。
GIS相關(guān)的課程除了理論與算法,更重要的是通過計(jì)算機(jī)程序?qū)崿F(xiàn)這些理論與算法,這就是GIS設(shè)計(jì)、開發(fā)與實(shí)現(xiàn)。GIS開發(fā)涉及方方面面的知識(shí)與技術(shù),包括獨(dú)立主機(jī)程序和萬維網(wǎng)GIS程序,涉及的語(yǔ)言包括C++、C#、VB.NET、JavaScript等。上海海洋大學(xué)將GIS開發(fā)能力的培養(yǎng)作為海洋技術(shù)專業(yè)本科生的必備技能。是開發(fā)與利用海洋資源和能源、拓展人類生存空間的技術(shù)。因此,對(duì)GIS開發(fā)課程群進(jìn)行必要的梳理、改革和創(chuàng)新,是實(shí)現(xiàn)培養(yǎng)優(yōu)秀學(xué)生的前提條件。
1 GIS開發(fā)課程群與關(guān)系
GIS開發(fā)課程群首先包括基礎(chǔ)理論部分,即《地理信息系統(tǒng)理論與方法》,采用國(guó)家級(jí)規(guī)劃教材;同時(shí)包括計(jì)算機(jī)程序語(yǔ)言基礎(chǔ)《可視化程序設(shè)計(jì)》,用C#語(yǔ)言進(jìn)行講授。“可視化程序設(shè)計(jì)”與大學(xué)生在第一年級(jí)學(xué)習(xí)的C++語(yǔ)言有所不同,它更加注重應(yīng)用而非基礎(chǔ)語(yǔ)言,同時(shí)為后續(xù)GIS開發(fā)課程打下堅(jiān)實(shí)的基礎(chǔ)?!禛IS開發(fā)與應(yīng)用》和《WebGIS原理與開發(fā)》是海洋技術(shù)專業(yè)中分別針對(duì)獨(dú)立主機(jī)程序和網(wǎng)絡(luò)程序的兩門GIS開發(fā)課程,是GIS開發(fā)課程群的核心部分。在經(jīng)過上述鍛煉之后,學(xué)生通過《GIS綜合應(yīng)用實(shí)習(xí)》進(jìn)行GIS開發(fā)與應(yīng)用的深度實(shí)踐。
在GIS開發(fā)中,涉及的主要內(nèi)容有:(1)GIS應(yīng)用與開發(fā)概論、基礎(chǔ)、應(yīng)用特點(diǎn);(2)GIS系統(tǒng)分析、需求分析、以及ArcGIS開發(fā)系列軟件;(3)GIS總體設(shè)計(jì)、功能設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì);(4)GIS實(shí)施與維護(hù)、測(cè)試與評(píng)價(jià);(5)應(yīng)用型GIS程序?qū)嵗帉憽?/p>
2 課程群教學(xué)改革成效
2.1 可視化程序設(shè)計(jì)實(shí)現(xiàn)了GIS編程的基礎(chǔ)夯實(shí)
在2013年之前,GIS開發(fā)類課程使用了不同的語(yǔ)言,如《可視化程序設(shè)計(jì)》使用Visual C++語(yǔ)言和平臺(tái),這是微軟在全球范圍應(yīng)用非常廣的平臺(tái)。學(xué)生在大一期間雖然已經(jīng)學(xué)習(xí)過《C++程序設(shè)計(jì)》,但是主要以講授語(yǔ)法為主,不涉及可視化程序設(shè)計(jì),缺乏GIS開發(fā)相關(guān)的實(shí)踐經(jīng)驗(yàn)。此外,早期GIS獨(dú)立主機(jī)開發(fā)的標(biāo)準(zhǔn)語(yǔ)言是Visual Basic語(yǔ)言,所以后續(xù)GIS獨(dú)立主機(jī)程序設(shè)計(jì)均采用VB.NET。這造成了前期基礎(chǔ)課程使用的程序語(yǔ)言與后續(xù)GIS開發(fā)課程并不一致,學(xué)生在語(yǔ)言轉(zhuǎn)換上需要花費(fèi)很多課時(shí),并且最終的掌握程度并不理想。
近4年,基于ArcGIS的獨(dú)立主機(jī)開發(fā)在首選語(yǔ)言已經(jīng)定為C#,原VB.NET則成為第二建議語(yǔ)言。因此,為了夯實(shí)海洋技術(shù)專業(yè)學(xué)生的語(yǔ)言基礎(chǔ),并且為今后更高難度的GIS開發(fā)課程打下基礎(chǔ),經(jīng)過課程群多次研討,統(tǒng)一GIS獨(dú)立主機(jī)程序開發(fā)的標(biāo)準(zhǔn)語(yǔ)言為C#,實(shí)現(xiàn)了課程之間的承繼和無縫銜接。
通過程序語(yǔ)言的改革和統(tǒng)一,實(shí)現(xiàn)了各課程之間的整體性,同時(shí)夯實(shí)了與GIS相關(guān)的可視化程序設(shè)計(jì)的主要技術(shù)基礎(chǔ),包括:界面設(shè)計(jì)、數(shù)據(jù)庫(kù)建立、記錄修改和刪除、計(jì)算機(jī)繪圖、通過程序語(yǔ)言操作表格、空間數(shù)據(jù)顯示與處理等,它們密切地與后續(xù)學(xué)習(xí)的課程內(nèi)容相關(guān)。
2.2 GIS獨(dú)立主機(jī)程序設(shè)計(jì)改革提高了學(xué)生開發(fā)與應(yīng)用實(shí)踐能力
《GIS開發(fā)與應(yīng)用》一直是海洋技術(shù)專業(yè)的核心課程,在本專業(yè)2007年開設(shè)之始就是其中一門重要課程。但是,我們之前一直使用VB或VB.NET進(jìn)行教學(xué)(因?yàn)楫?dāng)時(shí)VB是GIS獨(dú)立主機(jī)開發(fā)的首選程序語(yǔ)言),但是隨著GIS技術(shù)的發(fā)展,ArcGIS已經(jīng)將首選語(yǔ)言定為C#,我們的改革勢(shì)在必行。然而,在課程群開展承繼改革之前,學(xué)生沒有C#相關(guān)的開發(fā)經(jīng)驗(yàn),勢(shì)必要對(duì)C#語(yǔ)言的基礎(chǔ)進(jìn)行講授,浪費(fèi)了一定的課時(shí)量。
2014年,《GIS開發(fā)與應(yīng)用》作為市教委重點(diǎn)建設(shè)課程,改革的內(nèi)容就是將開發(fā)語(yǔ)言變?yōu)镃#,這涉及到教師教案和各種教學(xué)程序的重寫,目前我們已經(jīng)圓滿完成這項(xiàng)工作。我們將重點(diǎn)課程建設(shè)的成果應(yīng)用于實(shí)際教學(xué)中,取得了良好的效果,包括學(xué)生能夠使用已經(jīng)熟悉的C#程序語(yǔ)言編寫GIS獨(dú)立主機(jī)程序、實(shí)現(xiàn)從GIS的矢量數(shù)據(jù)、柵格數(shù)據(jù)到3D數(shù)據(jù)的顯示、處理、分析和輸出。經(jīng)過程序設(shè)計(jì)和開發(fā)的實(shí)踐,80%的學(xué)生能夠編寫比較完整的GIS獨(dú)立主機(jī)程序。
課程的承繼改革實(shí)現(xiàn)了教學(xué)的整體性,增強(qiáng)了學(xué)生對(duì)編程的自信心,實(shí)現(xiàn)了GIS開發(fā)能力的培養(yǎng)和實(shí)質(zhì)性提高,為后續(xù)網(wǎng)絡(luò)GIS程序編寫、綜合實(shí)踐創(chuàng)新、并進(jìn)入相關(guān)公司工作打下了良好的基礎(chǔ)。
2.3 WebGIS開發(fā)擴(kuò)寬了GIS開發(fā)的范疇和應(yīng)用領(lǐng)域
WebGIS是目前GIS應(yīng)用的趨勢(shì),也是GIS的核心技術(shù)之一,WebGIS不僅能夠方便用戶訪問,而且能夠獲得可觀的商業(yè)利益,比如Google地圖和Baidu地圖等。
WebGIS是可視化程序設(shè)計(jì)與獨(dú)立主機(jī)GIS的高級(jí)階段。學(xué)生在系統(tǒng)地學(xué)習(xí)了C#和GIS獨(dú)立主機(jī)開發(fā)之后,對(duì)利用高級(jí)程序語(yǔ)言進(jìn)行開發(fā)已經(jīng)有比較好的認(rèn)識(shí),能夠在較短時(shí)間內(nèi)理解和融會(huì)貫通基于Web的程序語(yǔ)言,前期課程所學(xué)能夠在后期課程中較好地得到應(yīng)用,充分體現(xiàn)課程群的延續(xù)性和承繼性。WebGIS課程利用ArcGIS API for Javascript,教授學(xué)生熟練運(yùn)用HTML、ArcGIS、CSS、JavaScript、DOM、BOM等技術(shù),編寫網(wǎng)絡(luò)GIS應(yīng)用程序。endprint
在講授過程內(nèi)容中,課程群不僅涉及專業(yè)領(lǐng)域WebGIS的編寫,而且初步介紹了基于IOS和Android的網(wǎng)絡(luò)應(yīng)用的編寫。讓學(xué)生實(shí)現(xiàn)GIS開發(fā)能力的升華,從而拓展專業(yè)技能,為順利進(jìn)入綜合實(shí)習(xí)階段和職業(yè)生涯奠定堅(jiān)實(shí)的基礎(chǔ)。
2.4 大創(chuàng)、實(shí)習(xí)和畢業(yè)設(shè)計(jì)實(shí)現(xiàn)了GIS開發(fā)能力的全方位鍛煉
在掌握了GIS開發(fā)從基礎(chǔ)到高階的技術(shù)之后,根據(jù)教學(xué)計(jì)劃的安排,學(xué)生會(huì)在大創(chuàng)和《GIS綜合應(yīng)用實(shí)習(xí)》中得到進(jìn)一步的綜合性、全方位的鍛煉。學(xué)生可以選擇處理遙感與GIS等空間數(shù)據(jù),也可以選擇利用高級(jí)程序語(yǔ)言編寫一個(gè)相對(duì)完整的GIS系統(tǒng)。編寫GIS程序是一個(gè)難度較大的任務(wù),但是學(xué)生有比較好的基礎(chǔ),并且當(dāng)自己編寫的程序能夠良好地運(yùn)行時(shí),能夠獲得巨大的成就感。這一階段是綜合性的鍛煉和實(shí)踐,課程群不再指定學(xué)生作業(yè)的應(yīng)用范圍和領(lǐng)域,讓他們充分發(fā)揮主觀能動(dòng)性和創(chuàng)新思維,教師組適時(shí)進(jìn)行針對(duì)性的指導(dǎo),實(shí)現(xiàn)自身能力的提高升華。同樣,在畢業(yè)論文階段,有關(guān)GIS的技術(shù)還會(huì)再一次得到加強(qiáng)和鍛煉,大部分學(xué)生在進(jìn)行GIS的開發(fā)項(xiàng)目時(shí)能夠完成具有充分創(chuàng)新性的成果。
3 結(jié)論
GIS課程群是上海海洋大學(xué)海洋技術(shù)專業(yè)的核心課程,對(duì)培養(yǎng)學(xué)生的空間思維、數(shù)據(jù)處理能力、實(shí)踐實(shí)干能力,解決空間問題的能力起到至關(guān)重要的作用。在課程群改革之前,各門開發(fā)課程采用的編程語(yǔ)言不一致(如C++、C#和VB.NET等),經(jīng)過課程的銜接改革統(tǒng)一使用C#語(yǔ)言,課程群的整體性得到了極大的提升,學(xué)生在接受相關(guān)知識(shí)和技能時(shí)能夠變得不那么困難,掌握程度也更加牢靠,同時(shí)也極大地激發(fā)了他們的興趣、培養(yǎng)了他們的實(shí)踐創(chuàng)新能力。
【參考文獻(xiàn)】
[1]湯國(guó)安.地理信息系統(tǒng)教程[M].高等教育出版社,2007.
[2]吳信才.地理信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[M].電子工業(yè)出版社,2002.
[3]吳信才.基于JavaScript的WebGIS開發(fā)[M].電子工業(yè)出版社,2013.
[4]Kang-tsungChang,張康聰,陳健飛.地理信息系統(tǒng)導(dǎo)論[M].清華大學(xué)出版社,2009.
[5]張豐.GIS程序設(shè)計(jì)教程[M].浙江大學(xué)出版社,2012.
[6]劉培林,林熒中.C#可視化程序設(shè)計(jì)案例教程[M].機(jī)械工業(yè)出版社,2015.endprint