王培法 王麗
王培法(1980-)、男,漢族,山東長清人,講師,博士,研究方向為高分辨率遙感信息提取,15996225557,wangpeifa1980@163.com
項目:2014年度大學生實踐創(chuàng)新訓練計劃項目(省級重點),項目編號:201410300017Z
摘要:程序設計課程是地理信息科學專業(yè)重要的基礎課程,是學生掌握地理信息系統(tǒng)開發(fā)技能的必修課,因此課程的實驗教學尤為重要。本文從程序設計課程實驗教學內容設計原則、實驗內容和實驗教學方法三方面進行探討:認為實驗教學內容應基于為課堂教學服務的原則、實用導向的原則和貼合專業(yè)的原則進行設計,并示例了實驗教學內容;實驗教學應該采用以學生為教學主體,教師輔助引導的教學模式,綜合運用啟發(fā)式教學法、案例教學法和問題討論教學法進行教學。
關鍵詞:程序設計;地理信息系統(tǒng);Visual Basic;實驗教學
中圖分類號:G642.0 文獻標識碼:A 文章編號:1674-098X(2015)09(c)-0000-00
地理信息系統(tǒng)是管理和分析空間數(shù)據(jù)的科學技術,是集地理學、計算機科學、測繪學、空間科學、信息科學和管理科學等學科為一體的新興邊緣學科[1]。地理信息系統(tǒng)專業(yè)自1998年我國設立以來得到了蓬勃發(fā)展,并于2012年教育部改名為地理信息科學(Geographic Information Science,GIS)專業(yè)。計算機類課程是地理信息科學專業(yè)課程體系的重要基礎和組成部分,在地理信息科學專業(yè)教學中具有極其重要的地位[2]。而程序設計課程是計算機類課程中的重要基礎課程[3],是后續(xù)GIS課程(如《GIS二次開發(fā)課程》)的專業(yè)基礎課,因而在地理信息科學專業(yè)教學中具有十分重要的地位[4]。
程序設計課程是一門實踐性很強的課程,重點在于讓學生掌握程序設計的思想,培養(yǎng)學生利用編程思想解決實際問題的能力,因此課程實驗教學顯得尤為重要,有必要對實驗教學工作進行探討研究。以下將結合自身教學,從程序設計課程實驗教學內容設計原則、實驗內容和實驗教學方法三方面進行探討。
1 實驗教學內容設計原則
筆者所在的南京信息工程大學地理與遙感學院開設的程序設計課程為《GIS可視化開發(fā)語言》,開課學期為第三學期,是GIS二次開發(fā)等后續(xù)課程的基礎課??紤]到程序設計語言學習的難度、《GIS二次開發(fā)》等后續(xù)課程教學的方便性,選擇Visual Basic作為教學語言,課程總共48學時,其中理論課32學時,上機實驗課16課時。顯然在課時有限的情況下完成教學內容的實踐,需要對實驗內容審慎確定,為此在內容設計時確定了以下原則。
(1) 為課堂教學服務的原則。課堂教學是程序設計基礎知識講解的主要平臺,而學生由于只是課堂學習而沒有實踐,始終處于“眼高手低”的狀態(tài),結合講課內容來設計實驗內容,能夠讓學生更進一步的掌握教學內容,也能夠讓學生學到如何動手編程解決問題。
(2) 實用導向的原則。實驗教學內容設計不能是簡單的課本知識的驗證性試驗,課本例題或習題雖然也可以鞏固教學內容,但學生會覺得沒意思,沒挑戰(zhàn)性,學生的學習激情不高,教學效果較差。每次實驗課應該根據(jù)教學內容設計一個有實際應用的實驗內容,能解決一個實際問題,學生會覺得能夠用自己所學編寫一個有用的程序是十分具有挑戰(zhàn)性的任務,會大大激發(fā)學生的編程熱情。學生完成任務后也會有自豪感和對下次實習的期待,能夠有效的提高學生學習熱情和自學的動力。
(3) 貼合專業(yè)的原則。程序設計課程實驗內容可以只是編程相關內容,但會讓學生覺得課程和專業(yè)脫節(jié),學生會問這門課和專業(yè)的關系?作為老師可以很好的解答這個問題,但與其去解釋,不如把專業(yè)相關內容盡量融合到實驗內容中去,把一些簡單的,容易理解的專業(yè)知識放到實驗中,讓學生編程解決簡單的專業(yè)問題。
2實驗教學內容
根據(jù)以上原則確定的實驗教學內容如表1所示,根據(jù)教學需求實驗內容包括驗證性、綜合性和設計性三種實驗類型。驗證性實驗主要目的是使學生通過實驗實踐課堂知識,掌握基本的編程技能。綜合性實驗難度稍大,需要學生綜合運用所學知識解決問題。設計性實驗難度最大,要求學生按照實驗要求,綜合運用所學知識獨立完成一個功能完整的程序。
表1 實驗內容表
序號 實驗項目名稱 實驗類型 學時數(shù) 實驗目的
1 簡單計算器 驗證性 2 掌握按鈕控件、數(shù)據(jù)類型、變量、表達式和函數(shù)的使用
2 經(jīng)緯度格式轉換 驗證性 2 掌握字符串函數(shù)、表達式和條件語句的使用
3 文字查找和替換 綜合性 2 掌握文本、標簽、命令按鈕控件、字符串函數(shù)和循環(huán)語句的使用
4 表項的選擇和交換 驗證性 2 掌握列表框和組合框、屬性為數(shù)組屬性的使用,循環(huán)語句的使用
5 遙感圖像信息統(tǒng)計及邊緣提取 綜合性 2 掌握for循環(huán)和數(shù)組的使用,了解和實踐算法的編程實現(xiàn)過程
6 月均氣溫計算 驗證性 2 掌握子程序過程和函數(shù)過程的編寫和調用
7 畫點線面程序 綜合性 2 掌握平臺的坐標系統(tǒng),笛卡爾坐標系統(tǒng)的建立、鼠標事件,點線面的畫法
8 記事本程序 設計性 2 掌握常用控件、菜單、通用對話框控件的使用和文件讀寫操作
(1)簡單計算器實驗。計算器在日常生活中常用,此實驗要求實現(xiàn)簡單的整數(shù)加減乘除功能,學生根據(jù)功能要求自由設計計算器界面。功能實現(xiàn)時會涉及變量的作用域這一重要知識點,學生通過編程能夠加深對變量作用域的認識,從而掌握變量的聲明及使用。第一次實驗難度適中,學生能夠獲得成功的自豪感,學生心理上不會產(chǎn)生抵觸情緒,同時會提出諸如小數(shù)點如何處理,如何通過鍵盤只輸入數(shù)字等問題,老師給予指導,可調動學生學習的積極性和自學能力的培養(yǎng)。
(2)經(jīng)緯度格式轉換實驗。經(jīng)緯度是常用的地理坐標信息,在專業(yè)軟件中可用經(jīng)緯度信息建立點數(shù)據(jù)文件,但通常要求以度為單位記錄的經(jīng)緯度信息。本實驗就是要求學生編寫經(jīng)緯度轉換程序,將以度分秒表達的經(jīng)緯度(如114°26′14.83″E)轉換為以度記錄的經(jīng)緯度信息(如114.437453°E),主要目的是讓學生掌握函數(shù)和條件語句的使用方法。在學生完成的基礎上,帶領學生將源代碼移植到Excel中,編寫轉換函數(shù),實現(xiàn)Ecxel的經(jīng)緯度轉換,并將數(shù)據(jù)輸入到專業(yè)軟件中建立點數(shù)據(jù)文件。實驗和基礎的專業(yè)知識結合,在學生實踐編程的同時解決一個小的實際問題,并將其引入到Excel的VBA開發(fā)中,最終在專業(yè)軟件中建立空間數(shù)據(jù)點文件,學生會認識到編程的作用,也會體會到編程的快樂。
(3)文字查找和替換實驗。文字查找和替換是常用功能,此實驗要求學生在熟悉文本控件SelLength、SelStart和SelText屬性,字符串函數(shù)和循環(huán)語句的基礎上編程實現(xiàn)。由于一次性完成具有一定難度,因此可分步實現(xiàn)。首先實現(xiàn)一次查找,一次替換,然后再實現(xiàn)全部替換,程序界面學生可參考Word的查找和替換對話框來設計。
(4)表項的選擇和交換實驗。在常見的文本編輯軟件字體對話框中有字體、字形和字號的選擇設定,在專業(yè)軟件中有圖層、字段、比例尺等的選擇,這都可由列表框和組合框實現(xiàn)。本次實驗主要對列表框和組合框控件進行實習,讓學生掌握控件屬性為數(shù)組的屬性的使用,實驗分成兩個小實驗,一是模擬Word軟件中的字體對話框,一是模擬ArcGIS中的柵格統(tǒng)計對話框,實現(xiàn)列表間項目的移動。
(5)遙感圖像信息統(tǒng)計及邊緣提取實驗。圖像信息統(tǒng)計是遙感專業(yè)軟件的基礎功能,本實驗通過對遙感圖像處理來實習數(shù)組和循環(huán)語句,讓學生實踐編程實現(xiàn)給定算法。實驗內容包括一幅單波段遙感圖像像元均值、最大值和最小值的統(tǒng)計,基于Prewitt算子的邊緣提取。為突出實驗內容,遙感圖像信息的讀取和顯示由教師編寫好程序,學生完成圖像信息統(tǒng)計和邊緣提取實驗內容。圖像信息統(tǒng)計編程難度不大,邊緣提取實驗需由教師講解原理,展示邊緣提取結果,由學生實現(xiàn)實驗內容。
(6)月均氣溫計算實驗。氣溫是學生熟悉的氣象要素,本實驗通過讓學生分別編寫月均氣溫計算的子程序過程和函數(shù)過程,來實習過程的編寫和調用。實驗中的氣溫記錄數(shù)據(jù)由教師編寫程序讀取,學生完成月均氣溫過程的編寫、調用和計算結果的顯示。月均氣溫計算中需要計算日平均氣溫,日均氣溫程序計算是放在月均氣溫計算程序里還是單獨編寫一個過程,由學生思考討論兩種方式的區(qū)別,教師給予點評。
(7)畫點線面程序實驗??臻g數(shù)據(jù)是地理信息系統(tǒng)重要的組成部分,本實驗要求學生編程實現(xiàn)通過鼠標畫出點線面,并可以修改所畫數(shù)據(jù)區(qū)域坐標范圍。此實驗模擬的是專業(yè)軟件中的簡單數(shù)字化功能,讓學生通過編程實現(xiàn)一方面是實踐講授的坐標系統(tǒng)、鼠標事件和畫點線方法,另一方面是讓學生了解專業(yè)軟件中點線面是如何畫的。學生完成后教師可拋磚引玉的簡單說明畫出點線面后涉及的數(shù)據(jù)存儲問題,激發(fā)學生興趣,讓學生自己去查找資料了解空間數(shù)據(jù)的主流存儲格式及發(fā)展史。
(8)記事本程序實驗。Windows操作系統(tǒng)中記事本是小巧便捷的文本編輯程序,本實驗要求學生參照記事本或自己設計文本編輯軟件實現(xiàn)相應功能。實驗中要求學生熟悉菜單、通用對話框控件和文件的讀寫操作,學生最終能完成一個小的文本編輯軟件。
3實驗教學方法
程序設計課程實驗教學的目的是讓學生鞏固課堂所學知識,提高學生的動手能力,這就決定了實驗教學方法和課堂教學方法注定不同。實驗教學不能采用課堂的教學模式,也不能采用教師先演示學生再模仿的方式,應該采用以學生為教學主體,教師輔助引導的教學模式進行程序設計課程的實驗教學。在實驗教學中,可根據(jù)實驗內容選擇以下教學方法:
(1)啟發(fā)式教學法。實驗教學中教師花較少時間把實驗目的、實驗內容和要求給學生講解清楚,然后下面的時間都交給學生,讓學生去自由思考,教師給予指導。教師在指導學生過程中,采用啟發(fā)式的指導方法,不是直接告知學生哪兒錯了,為什么錯了,而是和學生一起,教師引導學生思考問題出在哪兒,怎么調試解決,這樣學生是主動思考、主動學習的過程,而不是被動接受知識的過程。學生把問題解決后,一方面可以提高其編程調試技巧,一方面增強其思考問題和解決問題的能力,學生學習的自信心和成功感也得到了增強。教學指導過程中對學生遇到的共性問題應該給學生說明,并引導學生思考解決問題。
(2)案例教學法。實驗內容若是基于常用軟件或專業(yè)軟件的某個功能確定,可采用案例教學法。教師在實驗教學時不講解實驗相關細節(jié),直接演示相關軟件功能,讓學生實現(xiàn)相似功能,界面設計由學生自由發(fā)揮,教師給予指導。如文字查找替換實驗可演示W(wǎng)ord軟件和ArcGIS中的功能,畫點線面實驗可演示ArcGIS中的功能。
(3)問題討論教學法。在實驗教學中,有些問題可采用討論教學法,以提高教學效果。如在月均氣溫計算實驗中,到底是把日均氣溫計算程序編寫在月均氣溫計算程序中,還是單獨編寫一個日均氣溫計算程序過程,可讓學生充分討論,教師給予點評。在實驗教學中,學生也可通過相互交流解決編程問題,提高協(xié)作能力的同時,也可提高學生的學習興趣。
4 結語
程序設計課程是GIS專業(yè)的重要基礎課程,是后續(xù)GIS軟件開發(fā)課程的基礎。程序設計課程強調學生的實踐能力,本文從程序設計課程實驗教學內容設計原則、實驗內容和實驗教學方法三方面對實驗教學進行了探討,以教學效果為出發(fā)點的內容設計原則和實驗內容,以學生為主體的實驗教學方法,在本校取得了良好的教學效果,可為相關教學人員提供參考。
參考文獻:
[1] 黃杏元,馬勁松. 高校GIS專業(yè)人才培養(yǎng)若干問題的探討[J]. 國土資源遙感,2002,3:5-8.
[2] 杜培軍,閆志剛. 對地理信息系統(tǒng)專業(yè)計算機類課程設置的探討[J]. 測繪通報,2005(1): 63-66.
[3] 張馳,王英利. 面向GIS專業(yè)的C語言程序設計教學研究[J]. 長春理工大學學報,2013,8(2):211-212.
[4] 趙冠偉,夏麗華,陳穎彪等. 地理信息系統(tǒng)專業(yè)學生編程能力培養(yǎng)研究[J]. 大學教育,2014,11: 25-27.