陳憲冬
摘 要:軟件設計與開發能力日益成為測繪科研人員和測繪高技術人才的基本技能,《測量程序設計》課程在教學中存在諸多亟待解決的問題。本文介紹了西安科技大學測繪工程專業《測量程序設計》課程的教學內容及課時安排,探討了教學中存在的問題,希望同行們探討指正。
關鍵詞:測量平差;程序設計;課程內容;C++
基金項目:陜西省教育廳科學研究項目: 高采樣率GPS動態精密定位技術在地震監測中的應用研究(2010JK671)
1 引言
近年來,隨著測繪科學技術的飛速發展,傳統測繪逐漸演變為了信息化測繪,測繪學科面臨全新的任務和使命,軟件設計與開發能力日益成為測繪科研人員和測繪高技術人才的基本技能。西安科技大學測繪學院審時度勢,于2012年對測繪工程本科專業人才培養目標及教學計劃進行了大幅度修訂,其中《測量程序設計》課程由以前的32學時增加為64學時(理論課、上機課各32學時),由以前第4學期開設改為第6學期開設,該課程目前已進行了3個循環,教學效果良好。本文對該課程的教學內容及教學情況進行介紹,以供同行商榷。
2 課程教學目標
《測量程序設計》是測繪工程專業的一門專業必修課,教學目標是使測繪工程專業的本科生在學習了相關前導課程(包括“C/C++語言程序設計"、“數字化測圖”、“測量平差”、“控制測量”、“GPS定位原理”、“GIS原理”等)之后,通過本課程的學習,能夠理解C++面向對象程序設計思想、掌握C/C++編程技能,能利用VC++6.0設計開發一些常用的測量數據處理函數和測量平差程序,切實提高對測量數據處理及測量平差問題的理解,積極培養復合型、創新型測繪科技人才。
3 課時內容及教材選用
我們的《測量程序設計》課程講授基于VC++的測量程序設計技能,課程內容既有C++面向對象程序設計知識,又有測量平差和測量數據處理理論,涉及的內容非常廣泛。為了在有限的課時內讓學生理解和掌握面向對象程序設計思想和測量平差程序設計技能,必須有一套科學的教學體系。
1. 學時安排及課程內容
學時方面我們共安排64個學時,其中理論課、上機課各32學時,在課堂講授的同時,加強上機實踐,多學多練;課程內容方面,由于前導課程《C/C++語言程序設計》是第3學期由計算機學院開設的公共課,課程名稱雖然是《C/C++語言程序設計》,但他們講授的僅是C語言的基本內容,文件讀寫、C++面向對象程序設計等內容均未講授,函數、動態數組、結構體等內容學生掌握的也不扎實,因而本課程必須結合測量數據處理問題對函數、動態數組、結構體、文件讀寫等內容進行重新學習,必須結合測量平差問題對面向對象程序設計思想、C++類和對象、構造函數、析構函數、類的繼承與派生、多態、運算符重載等詳加講解;此外,DOS程序已不合時宜,學生必須了解圖形程序設計開發、Windows核心編程、消息驅動、Windows窗體控件、CDC繪圖、MFC、文檔視圖結構、對話框程序、單文檔程序、多文檔程序等知識,結合測量數據處理和測量平差問題,學習C++類(如CMatrix、CLevelNet、CPlaneNet、CGpsNet)及MFC可視化編程,能夠讓學生切實理解面向對象程序設計的思想和精髓。
2. 教材選用
目前我國測量程序設計方面的教材可謂良莠不齊,有已顯過時的《測量電算程序設計》、《Excel測量程序設計》、《VB語言與測量程序設計》,有基于C/C++語言的《面向對象的測量程序設計》、《測量程序設計》、《Visual C++6.0 控制測量程序設計》,有《基于MATLAB的控制網平差與程序設計》、《c#測量程序設計》等。教材雖多,但都不能滿足我們的教學要求,比如宋立杰老師的《測量程序設計》在平差理論方面講解的很詳細,但在C++面向對象方面明顯不足,更未涉及MFC、Windows圖形程序開發等內容;陳建春的《用Visual C++開發GIS系統》適合學生學習MFC和Windows圖形程序開發,但未涉及測量數據處理和測量平差問題;因而我們在教學中使用的是自編的多媒體課件和程序代碼,參考書是宋立杰老師的《測量程序設計》、侯俊杰老師的《深入淺出MFC》。
4 教學中應注意的一些問題
經過3年的教學實踐,我們發現本課程教學中應注意以下問題:
1. 承前啟后、查漏補缺
本課程是第6學期開設,而前導課程《C/C++語言程序設計》是在第3學期開設,很多學生已經忘記了C語言的語法規則和函數編寫技能,因而引導學生對所學C語言知識進行查漏補缺是本課程最初幾節課的重要內容,因為只有對函數、動態數組、結構體等內容掌握之后,才能更好地學習C++面向對象編程技能。
2. 樹立信心、提高興趣
針對有些學生基礎差、畏難厭學的情況,教師應積極培養他們的學習興趣和學習信心。首先可以從一些很簡單的例子入手,讓學生上機予以實現,上機過程中對于完成任務的同學積極鼓勵,耐心引導;此外可以借助學生中的C++高手在班級內形成崇拜效應和帶動效應;最后可以組建一些編程興趣小組,在學生中形成積極學習C/C++/c#以及GIS軟件開發的氛圍,積極培養學生的創新意識。
3. 嚴明紀律、嚴格考核
針對遲到曠課、偷懶耍滑、不交作業的學生一定要嚴明紀律、嚴格要求,該扣分的扣分,該處分的處分;對于總評不及格的學生該補考的補考,絕不能姑息、遷就、放縱學生,更不能減少課程內容或降低考核要求。
4. 加強實踐、注重能力
C++面向對象編程能力的提高不是靠“填鴨式”教學和“死記硬背”就能解決的問題。因而本課程考核不能采用傳統課程“重理論、輕實踐”的方式,應大膽采用“平時與期末相結合、知識與能力相結合、理論與實踐相結合”的原則。考試總評成績可以由學習態度20%、期末閉卷考試50%,上機實踐30%共三部分組成,學習態度主要考核出勤、作業、平時表現;閉卷考試主要考核對基本概念、基本知識的理解;上機實踐主要考核程序準備及程序實現。
5 結論與建議
目前,《測量程序設計》課程在我國各大測繪院校尚未形成科學的教學體系,也沒有合適的通用教材,我們雖然制定了課程內容及學時安排,也編寫了多媒體課件和講義,但在教學中仍面臨諸多問題,如上機指導書及上機考評問題、學生學習不積極、學習效果參差不齊問題(個別教學班甚至出現了兩極分化現象)、教師上機指導精力有限問題等,這些問題都必須正確面對、科學調研、積極解決。建議同行們廣泛交流、深入調研、積極探索,共同建設《測量程序設計》課程。我也相信經過同行們的共同努力,學生對軟件開發及信息化測繪的學習熱情會日趨高漲,我國測繪人才的創新能力及國際競爭力也會大幅度提升。
參考文獻
[1] 寧津生,楊凱. 從數字化測繪到信息化測繪的測繪學科新進展[J]. 測繪科學,2007,(02):5-12.
[2] 許才軍. 測繪工程專業課程創新體系初探[J]. 測繪通報,2007(11):74-77.
[3] 王新志,曹爽,孫景領. 測繪專業“面向對象程序設計”課程教學實踐與思考[J]. 測繪工程, 2012.21(2):73-76.
[4] 秦永,曹俊茹,郭豐倫,等. 《Matlab 測量程序設計》課程教學內容研究[J]. 地理空間信息, 2015,13(2):181-182.