吳桂芹+楊曉燕
摘要:Visual C++是一門可視化編程語言,教學中實現“所見即所得”可以提高課程學習效果。“講練同步 、任務驅動 ”的教學模式確立了一個以任務為中心的“發現問題一分析問題—學習新知識一解決問題”的互動的教學模式。將任務引入教學改革,提高了學生的學習興趣,改善了學生應用知識的能力。
關鍵詞: 講練同步;任務驅動; Visual C++ ;可視化;教學改革
中圖分類號: TP311 文獻標識碼:A 文章編號:1009-3044(2016)28-0148-02
Abstract:Visual C++ is a viaual programming language. To implement “WYSIWYG” in teaching can improve the learning effect of course.“teaching exercise synchronization,task-driven”can establish a interactive teaching mode for“find problem-analysis problem-learning new knowledge-solve problem”.Task is introduced in teaching reform can improve learning interesting of students and can improve studentss ability to apply knowledge.
Key words:teaching exercise synchronization; task-driven; visual C++; visualization; teaching reform
“Visual C++”課程是大學計算機課程的重要分支,也是許多高校非計算機專業的課程之一。本課程著眼于面向對象及可視化程序設計的思想,主要培養讓學生掌握可視化編程方法及其實踐能力。課程要注重基本知識的傳授,更要注重語言使用技能的培養。“講練同步、任務驅動”教學模式的引入有助于提高學生使用程序設計語言的技能。
1 課程現狀
Visual C++是一門實踐性、應用性都很強的可視化程序設計課程,課程內容的多而且難,多數教材又缺乏帶有趣味性貼合生活實際的例子,使學生學習動力不足。課程考試一般采用試卷,更多的測試了語法細節,從而使學生平時學習時輕視編程實踐能力。
目前高校的程序設計課程多數是按照課堂講授和實驗2:1或3:1的比例來安排的,學生在教室聽老師講2至3次課(4-6個學時),間隔幾天再在實驗課上自己練習2個學時。這種教學方式往往導致教師講解課本知識點,再舉一些相互之間沒什么關聯的例子,基礎不好的同學一次課下來能記住的內容有限或者根本不知所云,等到上實驗課需要自己動手操作時,要么無從下手,要么都已經忘得差不多了。
2 改革思路
計算機語言的最終目的是編程序,設計程序是為了解決實際問題[1]。為了提高學生學習興趣,培養學生應用軟件的能力,擬改變傳統的“教室授課—機房上機”教學模式,變為“講練同步、任務驅動”的種教學模式。教學內容不再以單純講授語法點為重點,而是以具體任務為導向,培養學生分析及解決問題的能力,在完成任務過程中學習解決任務所需要的新語法點,增加學生學習積極性。提倡 “在學中做 ,在做中學 ”[2]。用任務驅動的方式引入新知識,激發學生學習動力,讓學生在實踐中鞏固所學理論知識,融會貫通。課程應在在機房或有學生機的多媒體教室上,可以更直觀的展示講課內容,講練結合,及時實踐。
3 改革實踐
“講練同步、任務驅動”是在教學過程中,以完成布置的任務為目標,將任務分解成子任務,讓學生思考解決這些任務所需要的知識,產生學習新知識的訴求,教師用實例演示新語法點的使用,學生練習能舉一反三,在教師的輔導下完成任務。這種教學模式的基本特征是 “以任務為主線、教師為主導、學生為主體”[3][4]。
3.1 課程內容設計
要擺脫課本內容的束縛,有的放矢地處理教材。大部分教材是按語法規則來編寫的,再列舉幾個簡單的主要和數學相關的例子。繁雜、抽象的語法點會困擾學生,無趣味性的例子會降低學習興趣。教學過程中如果按照傳統教學模式,以講授語法規則為重心,不利于培養應用語法解決實際問題的能力。教師可以綜合多本教材,按任務分解的各個主題來安排講課內容。任務的內容要使學生充分感覺到學有所用,讓學生愿意為了完成任務而主動地學習相關知識點并能運用它。
3.2任務設計要符合專業的課程定位
一門語言的應用有許多方面,實際教學當中,到底應該面面俱到,還是應該根據專業特征有所側重,是需要我們考慮的問題。以信管專業為例,考慮到信管學生沒有計算機硬件背景及理工科其他知識背景,做底層編程、工業控制編程、多媒體編程或圖形圖像編程等較為困難。信管專業學生主要從事信息管理、應用方面的工作,所以更適合做信息管理方面的應用編程。課程重點可以偏向數據庫編程,一方面體現了信息管理的專業特性,另一方面相關背景知識學生基本具有,易于掌握所授課程內容,也利于為畢業設計打下知識及實踐基礎。所以課程中的任務以某信息管理系統為宜。為了完成任務,要涉及的知識包括Visual C++集成開發環境,MFC程序框架,應用程序向導,控件的使用,對話框程序、文檔視圖程序、數據庫編程等內容[5]。如果要美化界面還要涉及繪圖知識。
3.3 任務的設計要注意各個知識點之間的聯系
實現課程設計以工程項目為主線,選取一個學生熟悉的項目系統(如圖書管理或學生成績管理)貫穿整個教學過程。將項目系統分解成各個子任務,逐個實現。隨著項目從無到有,從一個模塊到多個模塊,讓學生感受程序從小到大的變化,體會編寫程序的思想與過程。讓學生完成任的知識形成一個系統,以保證很好地實現最終教學目標。
3.4 用項目進行新知識引入,教師指導和協助學生完成項目
在布置任務時,讓學生明確任務要求,做到“目標明確”。任務下達后,讓學生利用《系統分析與設計》課程所學知識,對目標系統進行分析、設計,得到系統要實現的功能模塊。實現各個模塊時分析哪些可以通過舊知識解決,哪些需要新知識才能解決,進而有針對性地、主動地去學習Visual C++中的新知識。在實現模塊功能過程中掌握語法知識的應用。
在“講練同步、任務驅動”的教學模式中,教師提供可選項目讓學生選擇,引導學生學習新語法,讓學生學會查閱資料,提供必要的操作指導,發揮學生學習的主動性。
3.5 任務設計可結合其他相關課程
許多專業課程之間是有聯系,相輔相成的。可以把其他課程的內容融合到本課程的一些任務中。如《數據結構》課程中的排序算法可以用Visual C++可視化界面來實現。學生思考其中要用到哪些控件,用到哪些語言語法,用到哪些消息傳遞等等。如《數據庫》課程中的建表,連接表,訪問表等操作怎樣在Visual C++中實現。學生通過此門課程,使用其他課程的知識點,學會不同知識的融會貫通,了解知識之間的聯系。
3.6 任務要合理,要有層次
尊重學生在學習上有快慢,理解上有深淺的差異,在設計任務時要考慮任務的可操作性和合理性。在設計任務時,布置不同難度的任務:必須任務和擴展任務。兼顧一般學生又兼顧學有余力的學生,讓學生根據自己的實際情況進行選擇,而不是搞一刀切,讓不同層次的學生體會到成功完成選定任務的喜悅,提高學習興趣。
同時,注意把新知識點的量控制在合適的范圍,這樣,學生在完成任務的時候,不會因為新知識點突然增多,而對完成任務失去信心與興趣[6]。
3.7 改變考核方式
不再是一張卷子決定課程成績,而是通過完成任務的情況及課堂學習成績來評定成績。閉卷考試會過多拘泥于語法細節,沒有考察出學生應用語法編程調試的能力。考核方式的變化會讓學生在學習中更注重應用能力的培養。
3.8 課程全程在可視化教室上
在可視化教室上課,可以到達“所見即所得”。教師利用多媒體教學,學生每人一臺微機。避免了在教室講課的抽象的缺點,教師可以向學生直觀展示控件的使用,程序的編制、程序運行效果,讓學生知道老師在講什么;可以邊講邊練,避免遺忘知識,提高動手實踐能力。
4 效果總結
“講練同步 、任務驅動 ”的教學模式的使用,使被動學習為主的學習方式變為基于計算機和課堂的自主學習方式,提高了學生的學習興趣,改善了學生應用知識的能力。
擯棄了“拘泥教材,教師灌輸,講練分開”的傳統教學思路,建立了“學生自主,教師引導,講練結合”的教學思路。突破了以往“講知識點一舉例子一練習”的教學模式,確立了一個以任務為中心的“發現問題一分析問題—學習新知識一解決問題”的互動的教學模式。
參考文獻:
[1] 陳建平,劉維富,王春明,等. Visual C++程序設計課程建設研究與實踐[J].計算機教育,2007(6):18-20.
[2] 祁建宏,安容瑾.“項目導入、任務驅動”教學法在C程序設計語言教學中的應用研究[J]. 考試周刊,2011(30):152-153.
[3] 呂圣林. 基于項目導向教學法的電子類專業計算機輔助設計課程教學改革探析[J].廣西教育,2014(1):158-159.
[4] 李麗新. 任務驅動教學法在Visual Foxpro程序設計課程教學中的應用[J].吉林建筑工程學院學報,2011,28(6):75-77.
[5] 楊永國.Visual C++6.0實用教程[M].北京:清華大學出版社,2004.
[6] 曹洪武. Visual Basic程序設計課程中“任務驅動教學法”的應用[J].中國科技信息,2008(9):208-209.