王占剛



【摘要】Visual C++程序設計已經成為理工科學生的重要課程之一。探討了地球物理專業該課程的教學問題,提出了基于建構主義的教學模式,該教學模式既發揮教師主導作用,又能充分推動學生學習的主觀能動性。基于該教學模式,學生不但可以掌握比較熟練的實際程序設計能力,而且可以學到更多的專業知識。通過實際教學驗證取得了一定成效。
【關鍵詞】Visual C++ 建構主義 教學模式 地球物理
【中圖分類號】G642 【文獻標識碼】A 【文章編號】2095-3089(2013)08-0248-03
1.引言
Visual C++(以下簡稱VC)是C++面向對象語言的一個主流集成開發工具,同時也已成為一種重要的程序設計語言。根據其提供的豐富開發庫和代碼管理、資源編輯等可視化功能,可以快速構建出一套專業應用的計算機軟件。《Visual C++程序設計》是非計算機類理工科專業一門比較重要的課程,其目的是培養學生利用先進計算機手段解決和驗證專業領域的問題。然而實際教學中,VC課程往往采用計算機專業教學特點,與專業結合較少,一方面影響了學生對課程的興趣和教學效果,另一方面學生也無法體會該課程在其專業教學體系中的作用。
同時,VC是一門理論和實踐設計并重的課程,作為非計算機專業的課程教學,如何結合專業進行教學模式改革是任課教師需要思考的一個重要問題。本文結合所教地球物理專業VC程序設計,探討教學模式,也希望對其他專業有借鑒作用。
2.地球物理專業VC課程教學的現狀與問題
2.1專業特點
地球物理專業教學目標之一是培養學生具有較強的地球物理信息現場采集、數據處理和解釋的實踐能力。因此,中國礦業大學(北京)在制定該專業培養方案和課程體系建設中非常重視數理基礎和計算機水平。這也使得該專業學生相對具有扎實的數理基礎和計算機水平。
VC課程是該專業學生的第三門計算機類課程,也是繼《C語言程序設計》課程之后又一重要的程序設計課程,共計32學時,上機10個學時。這門課程安排在大二下學期,學生對計算機知識和簡單程序設計已經有了一定認識,也對地球物理主要原理進行了學習,對專業知識有了初步的掌握。因此,VC課程所面對的學生已不是基礎知識教學階段,而是到了提高專業技能、掌握和初步應用專業知識的階段。基于此,VC課程的目標應是通過學習C++面向對象程序設計理論方法,掌握利用VC++實現解決專業問題的初步能力。這要求任課教師有意識地結合專業來進行課程教學設計,幫助學生進行整個知識體系的串接。
2.2 現有教學模式與問題
教學模式是指教師、學生、教學內容和教學媒體四元素在教學過程中相互聯系、相互作用所形成穩定的結構形式[1]。現在大學教育模式主要采用以教師為中心的教學模式。這種教學模式建立在“傳遞-接受”教學理論和行為主義的“刺激—反應”學習理論基礎之上,教師利用講解、板書和各種媒體作為教學的手段和方法向學生傳授知識,學生則被動地接受教師傳授的知識。在這種模式中,教師是主動的施教者,學生是外界刺激的被動接受者、知識灌輸的對象;教材是教師向學生灌輸的內容;教學媒體則是教師向學生灌輸的方法、手段。教師、學生、教材四要素各自的作用清楚, 彼此之間的關系明確。
然而, 以教師為中心的教學模式用于VC課程教學往往出現如下問題:
一是教學方法方面,由于課時有限,教師要在規定的課時內完成教學計劃,在課堂基本上都是“滿堂灌”,教師是教學的主體,學生在被動地接受。師生互動也很少,課堂氛圍沉悶,學生的學習興趣不高,缺少自主性和積極性,聽課效率不好。以教師為主體的教學方法也造成了學生對教師和教材的依賴性,知識僅僅限于教材規定范圍,稍有超出,學生就產生畏難情緒,不會主動查找資料和借閱書籍,很難達到培養學生個人能力的目標,教學效果不顯著。
二是理論教學方面,VC課程兼顧C++面向對象程序設計、Visual C++集成開發環境、MFC以及圖形、數據庫開發等內容,知識覆蓋面廣、理論概念多、內容繁雜。教師的教學內容如果局限于教材的純粹語法講解,概念枯燥抽象,很容易導致學生學習興趣下降。
三是課程實踐嚴重不足,本門課程的實踐性和應用性非常強,對于大多學生來說,許多知識只有通過實踐教學才能真正的理解。但是,由于實踐時間、教學方式等限制對實踐教學環節的重視不夠,導致學生在實踐環節都是以抄寫程序進行實際操作練習,針對實際問題往往束手無策,不會變通,也缺少團隊項目的訓練,導致溝通能力較弱,團隊合作意識不強。因此,必須考慮課程教學中實踐環節的教學方式改革,尤其在當今大力提倡素質教育和創新能力培養,為國家培養合格的人才目標的教學理念下,必須重視實踐教學的作用,改進教學內容,把實踐教學放到和理論教學同等的地位。
四是專業性特點不強,地球物理專業學生和計算機專業學生在課程設置和教學方式上差別很大,學生在學習知識的時候已經有意識的和自己專業進行結合和思考。盡管教師反復強調本課程在后續課程學習以及今后實際工作中的重要性。但是,教學內容和專業知識聯系不緊密,再加上課程知識點多和初學程序調試中的種種問題,許多學生反映一些學到的計算機知識和實踐內容在后續的學習和工作中無法具體實施。學生僅僅為了應付考試,對理論方法進行死記硬背,忽視對自己動手能力的培養,從而使學生處于被動接受的地位,無法發揮學生的主動性。
3.基于建構主義的教學模式改革
3.1建構主義理論
建構主義(constructivism)也譯作結構主義,其最早提出者可追溯至瑞士的皮亞杰(J.Piaget)[2,3]。建構主義認為:知識不是通過教師傳授得到,而是學習者在一定情境即社會文化背景下,借助他人的幫助,利用必要的學習資料,通過意義建構的方式而獲取的[4]。在整個教學過程中,教師起組織者、倡導者、幫助者和促進者的作用,利用情境、協作、會話等學習環境要素充分發揮學生的主動性、積極性和創造精神,最終達到使學生有效地實現對當前所學知識的意義建構的目的。在這種模式中,要求既發揮教師的主導作用,但并不是像“教師中心模式”中那樣發揮“主宰”作用,又要充分體現學生的認知主體作用。這就要求在基本保留“傳遞—接受”教學活動進程的條件下,要對這種“進程”加以認真的改造,在此進程中讓學生更多地去主動思考、主動探索、主動發現。教學進程中,教師有時處于中心地位,以便起主導作用,但并非自始至終;學生有時處于接受學習狀態,但更多的時候是在教師幫助下進行主動思考與探索;教學媒體有時作為輔助教學的工具,有時作為學生自主學習的認知工具;教材要素也各自有不同的作用,彼此之間有不同的聯系。
3.2 四要素的重新認識
基于建構主義的教學模式對教師和學生都提出了更高的要求,已經不同于基本的“傳遞—接受”VC課程教學活動,而是更加符合該階段學生特點的教學活動,是對學生進行實踐能力培養的新方法。在該理論的框架下,VC教學四要素需要進行重新認識。
(1)教師是不僅僅要備好課,上好課,更重要的是承擔整個教學過程的組織者、指導者和促進者。這就要求任課教師一方面對繁雜的VC課程內容進行梳理、優化,以最主要的核心內容和基本方法、基本操作進行課程教學,將過于技術和操作復雜的內容留在實踐教學,讓學生主動思考和操作。另一方面要跳出課程教學,利用各種資源為學生創建學習和實踐的環境。
比如,VC++的調試內容和錯誤處理,給學生講解是枯燥的,也是很難理解的。但是,VC調試錯誤類型很多,學生剛開始接觸也很害怕錯誤出現,此時教師一方面要教給學生查看錯誤的基本方法,另一方面教師需要對錯誤按類型進行歸類,形成一個錯誤對照表,便于學生分析錯誤的原因。學生很容易接受主動查找方式,老師也不會疲于為學生講解而煩累。而且,這種方式促進了學生之間的學習交流,掌握快的同學可以幫助慢的同學,達到互助教學、協同學習的目的,發揮了學生的主觀性、并提高了其學習積極性。
(2)學生的學習是以興趣為導向的,尤其當今大學生對知識有很強的主動建構意識。因此,利用學生這個特點,一方面要為學生提供快速獲取知識的媒介,比如學習資源。目前大學生上網或者手機閱讀已成為日常生活的一部分,可以讓學生自己主動參與一些VC的學習網站和社區,比如VC知識庫、MSDN等。另一方面,學生有對專業學習的認識和思考,希望所學課程能對其專業學習有所幫助,學生經常主動將VC和地球物理其他專業課程的內容進行聯系,試圖分析解決一些地球物理現象,加強對地球物理知識的理解。所以,教師的教學內容應與學生的學習特點進行聯系,需要與專業知識進行結合。
(3)教材應回歸工具參考書的作用,教師引導學生重點地選擇一到兩本教材,所涉及的知識可能是教師傳授的內容也可能是擴展性的知識,讓學生自己有主動選擇參考書和資料的過程。目前來說,適合本專業的VC教材是沒有的,教師應該給學生說明原因和教材選擇的方法,學生根據自己對認識的理解選擇教材或者查閱資料。
(4)媒體也不僅僅是幫助教師傳授知識的手段、方法,還可以用來創設情境、進行協作學習和交流,作為學生主動學習、協作式探索的認知工具。課件、網絡通信工具(MSN,QQ,微博,微信)等都可以用來學習和互動交流,延伸了傳統課堂。
顯然,在這種教育模式下,突出了VC課程對學生的能力培養和專業教育,教師、學生、教材和媒體等四要素與傳統教學相比,教與學不是獨立的,而是必須成為一個有機的整體才能夠實現,這對教學過程的實施提出了更高的要求。
3.3 教學過程實施
根據采用基于建構主義的教學模式授課實施方式,可以將主要方法總結如下:
(1)優化課程內容
VC課程內容多,學時非常有限,合理安排課程內容是實現建構主義教學模式的前提。VC課程主要涉及的講述內容包括C++面向對象程序設計、VC集成開發環境和MFC界面開發,數據庫和圖形開發等,針對地球物理專業對程序設計的要求,課程主要目標可以定為掌握C++面向對象程序設計基礎理論、掌握VC集成開發環境、熟練應用簡單MFC界面開發(View/Document/Frame結構的單文檔和多文檔框架、菜單、工具欄、對話框)、掌握基本圖形繪制,了解數據庫開發。課程內容安排上以“重視基礎,培養技能,專業結合”為遵旨,將面向對象程序設計基礎理論講述為重點,VC集成開發和調試環境操作為實踐手段,重視與專業結合緊密相關內容的講解,比如地球物理數據分析中,圖形繪制是必需內容,適當安排課程章節,而數據庫開發對于地球物理專業應用較少,可以弱化或者不講解。
(2)強調VC課程整體知識體系的建構
基于建構主義的教學模式最主要是發揮學生的主觀能動性。優化好課程內容后,對于教學方法也需要進行調整,不能按傳統教學模式,按章節講解。而是根據VC課程的特點,使學生能夠進行整體到局部的知識建構。這里主要針對課程核心內容C++面向對象程序設計部分為例進行說明。
C++面向對象程序設計的理論部分是整個程序設計的基礎,掌握這些基本理論和方法對于分析任何VC++程序都是有幫助的。
譚浩強老師[5]編寫的《C++面向對象程序設計》一書已經強調了先講述C++語言整體特點,然后再分章節講述各個部分。但是由于C++面向對象程序比起C語言等結構化程序設計語言的理論和概念更多,學生在學習中還是把握不住核心。所以,從整體到局部進行知識體系建構必須梳理出比較清晰、簡潔的層次關系。
面向對象程序設計語言最核心特征是抽象封裝、繼承和多態,所有內容是圍繞這三個關鍵特征進行展開,而C++語言是圍繞這三個主要特點進行具體規則的編碼語言。根據這三個特點進行面向對象程序設計教學內容的層次化構建如圖1所示。
這個知識結構的構建不僅對老師優化備課有幫助,也對學生課前預習、進行整體知識建構有幫助。在課堂講解時,將這個層次結構不斷進行重復,幫助學生進行知識體系建構,同時鼓勵學生按這些關鍵字進行教材的快速閱讀和反復閱讀。學生對整個知識體系有所了解后,查閱任何類似書籍都可以幫助加深面向對象程序設計的學習和實踐。
(3)利用信息技術有效開辟第二課堂
這是對教材和媒體要素的具體延伸。主要是利用各種信息技術來支持學生“學”。為了支持學生主動探索VC相關內容,為學生提供了各種信息資源,其中包括各種類型的教學媒體、教學資料和網絡資源。但是。VC教學中有一個問題是必須面對的,即每一個程序初學者在進行程序的調試過程中,面對大量的錯誤不會分析、調試、往往造成灰心厭學。針對這個問題,現在的即時通訊工具比如QQ能為該問題提供有效的解決手段,為教師和學生之間提供了互動平臺,學生的主動性也能夠進行發揮。
主要方法是:
①構建一個QQ群,鼓勵學生在上面進行學習經驗交流和討論,教師進行引導和一些問題的回答。教師對一些常見問題,比如重要知識點和調試問題進行整理歸檔,共享在群資料庫內,學生也可以將自己的學習心得和一些有用資料共享在資料庫內。
②針對初學者的調試問題(這里主要指實驗課外的練習),可以利用QQ遠程協助工具,幫助學生進行在線的錯誤查找和調試演示。隨著學生調試方法的掌握和程序的正確執行,學生學習的信心和興趣會逐步增強,而且會根據自己的想法加入更多的變化,帶動了創新能力培養。
(4)充分重視實踐教學中的課題選擇和管理
1)課題選擇
VC課程是實踐性強但又相對枯燥的一門課程。如果只是編寫幾個簡單的驗證程序,程序之間也缺少聯系,那么學生的學習積極性也無法提高,同時也很容易使學生產生課程學習與地球物理專業無關的想法。因此,實踐教學中的課題選擇和管理是非常重要的,既影響著學生學習興趣,又對教學內容和課程教學起到優化作用。本課程課題選擇堅持如下幾個原則:
第一、實踐課題應當與教學大綱的要求相一致,使用教學中的基本內容,難易程度應當在本年度教學計劃規定的要求之內。
第二、課題應當有明確的評價標準,明確的評價標準使學生有了設計目標和努力的方向。評價標準要實事求是、難度恰當,符合程序設計的基本精神和本質內涵,評價標準應當是對學生的實踐結果明確地、全方位地考察。有了評價標準,學生在程序設計過程中可以隨時調整其實現方向,以務實的態度面對程序設計。
第三、課題設計具有明顯的專業特點和可操作性,能夠與學生已經學習的地球物理專業知識結合起來。
第四、課題具有明顯的程序模塊劃分特點,可以通過成立實踐小組,通過學生之間協作共同學習完成課題內容。
根據以上原則,從學生已經開設的專業課程中挑選一些題目進行實踐,比如從《地震勘探原理》挑選了題目:簡單水平層地震波射線追蹤正演模擬。該課題主要利用幾何地震學原理,演示和分析波在簡單層狀介質中的傳播情況,進行數據采集和解釋,如圖2。
課題的實現核心是利用VC圖形繪制方法描述出觀測系統,然后利用地震學反射原理計算波從炮點和檢波點之間路程,得出傳播時間,最后繪制出波形結果即可。該課題既運用了本課程編程知識,又展示了反射波地震勘探數據采集的基本過程。課題給出了明確的評分標準,如表1。
2)過程管理與結果陳述
為了使學生順利完成實踐課題內容,首先要重視過程管理。一是課程內容和實驗過程中,圍繞課題實現進行課程內容的講解,讓學生提前進行狀態。比如,上機實驗中可以將課題中一些內容作為練習題目,比如繪制水平地層結構和觀測系統,就可以練習畫線、三角形和圓形以及顏色設置,然后集成在一起成為一個完整的觀測系統。二是過程中,讓學生定期的反饋進度和遇到問題,及時解決。
最后,做好結果陳述,這是課題練習的最后一個階段,但也是至關重要的內容之一。陳述的過程就是要求學生在程序設計全部完成后,把自己對問題的處理方法、設計構想、過程及結果在幾分鐘內表達清楚,然后由教師提問,陳述者回答問題,最后再由教師指出程序的可取之處、存在的問題以及解決方向。結果陳述的意義如下:第一,學生感覺自己的勞動成果受到尊重,產生自豪感和學習動力;第二,培養了學生的口述表達能力、自信心及組織能力;第三,陳述可以避免教師評分過于主觀的傾向,陳述中提問可以發現學生協作中的問題以及團隊內成員的工作量,對于“偷懶”學生進行懲戒。
3.4 教學效果評估
在2012-2013學年,在對2010級地球物理本科生的VC課程教學中采用了該教學模式,學生學習興趣高,課間和課后與教師互動多,尤其實踐課題學生參與積極性高,完成情況很好。課程考核方式為理論考試(閉卷)、平時成績和實踐成績相結合,綜合考試結果為:學生共33人,其中不及格的0人,60—69分的5人,70—79的10人,80—89的13人,90分以上5人,取得了較好的效果。
4.結束語
VC是一門理論和實踐設計并重的課程,本文針對當前非計算機類專業該課程教學中的問題,結合地球物理專業探討了基于建構主義的教學模式。該教學模式既發揮教師主導作用,又能充分發揮學生學習的主觀能動性作用,學生不但可以學到更多的專業知識,而且可以掌握比較熟練的實際操作能力。該教學方法與培養掌握專業理論技能和具有較強綜合能力復合型人才的目標一致,使學生可以在以后工作中具有較強的競爭實力。同時,本文所探討教學模式,對其他專業也具有借鑒作用。
參考文獻:
[1]喬伊斯.荊建華,宋富鋼,花清亮譯.教學模式[M].中國輕工業出版社,2002
[2]何克抗.建構主義——革新傳統教學的理論基礎[J].電化教育研究,1997(3):3-9
[3]王竹立.新建構主義與知識創新[J].遠程教育雜志,2012,(2):36-43
[4]陳旭.藝術設計教學模式改革與思考[C].2008國際工業設計研討會暨第十三屆全國工業設計學術年會(Proceedings of the 2008 International Conference on Industrial Design). 2008,1:372-375
[5]譚浩強.C++面向對象程序設計[M].清華大學出版社.2006