摘要:程序設計語言是各類學校計算機專業和非計算機專業的重要課程,程序設計是一種構造性的技術。在日常的VB程序設計教學過程中,怎樣開展這種構造性的又具有創造力活動的教學呢?如何解決程序設計本身枯燥、難懂這個問題,提高學生的學習興趣?本文作者經過幾年在實際教學中的不斷摸索,總結出一些方法或者說經驗,經過長期探索、實踐和積累,形成了一套教學方法案例與任務驅動相結合的程序教學法。
關鍵詞:任務驅動;案例程序教學法;對象;事件
軟件是計算機的靈魂,軟件開發在IT領域有著極其重要的地位。隨著計算機技術的飛速發展,計算機已進入各行各業及普通百姓的家庭。然而,不同部門、不同用戶、不同問題需求的軟件是不同的,對具有個性化軟件的大量需求,促使軟件開發公司如雨后春筍般誕生和發展。這是一個極具魅力、生機和活力的行業,也是一個極具感召力和創造力的行業。
1. 問題癥結——教師教學方法的落后。從“數據結構”“軟件工程”到常用“計算機程序設計語言”,開發軟件所需的基礎知識學生基本上都學到了,不會開發軟件,問題何在?在進行廣泛調查和研究之后,發現這跟教學方法密不可分。應該說,這是我們教師教學方法的落后所致。作為軟件開發重要基礎之一的計算機程序設計語言,是一門理論性、實踐性和實用性都很強的課程。通過教學,不僅要讓學生掌握軟件開發的有關理論,更重要的是要培養學生的實戰技能和專業素養,并能用計算機程序設計語言編程,解決學習或工作中所遇到的特殊問題或在軟件開發領域有所作為。
2. 任務驅動法在“軟件藍領”VB教學中的嘗試。VB是“軟件藍領”專業的一門重要的專業課程,它主要用于軟件和程序設計。它的理論性和實踐性都很強。特別是它不同于面向過程的程序語言,其面向對象的理論是一個全新的概念。本人在教學中嘗試了任務驅動法的教學模式。任務必須有鮮明的現實意義,能實現學習的情景性設計,能激發學生的學習興趣。提出任務的目的,是為了引出將要學習的知識。反過來,學習知識則是有目的的,是為了解決現實中的任務。因此,任務必須能驅動某一部分知識的學習,必須讓學生有的放矢地去學,讓學生懂得學習知識是有用的。為了吸引學生的眼球,激發他們的學習興趣,設計任務時還必須考慮它的趣味性,讓學生積極主動地去學。
3. 案例程序教學法。為了改變學生因缺乏實踐演練而造成的編程能力不足、專業素質低下,難以適應軟件開發行業需求這一現狀,必須從教學方法上進行改革。在程序設計類課程中,要讓學生掌握并參與軟件開發,而不只是寫幾個小程序就算了事,要讓學生真正有種“進門”的感覺。用案例程序來引導學生,培養學生的實戰技能和專業素養,不失為一種有效的途徑。
(1)案例程序庫的建立。實施案例程序教學法的基礎是建立一套體系完整、緊扣教學內容的案例程序庫,而且每一個案例程序都要有明確的知識點或側重點。案例程序的建立要以“簡潔、實用、生動、有趣及富有啟發性和引導性”為原則。
(2)案例程序教學法的教學過程設計。在電子課件中,將案例程序的可執行文件(.exe)和源程序文件(.frm或.vbp)分別進行動態鏈接,同時,將案例程序庫、電子課件、發表的與案例程序相關的文章等內容放在網站上,供學生瀏覽或下載。值得一提的是,如果將案例程序一味地在課堂上灌輸,學生還是難以得到鍛煉和提高。因此,必須將其分門別類,并采用不同的方式進行教學。根據教學實際,我們將案例程序分成三類:課堂精講型、課堂演示型和課后自學型。在教學中,要緊扣主題,并將案例程序與任務驅動教學法穿插在教學的全過程。
①課堂精講型。短小精悍而又緊扣相關知識點的案例程序,在課堂上進行詳細剖析,即精講。具體教學過程,可以采用兩種不同的方式進行設計:第一種是由知識點自然過渡到應用。即先講授知識點,然后交代這些知識點在程序中的用途,并用案例程序進行演示(調用vbp文件),最后打開源程序進行剖析(調用 frm或 vbp文件)。第二種是由問題引出知識點。即開門見山,先闡明要開發一個什么功能的程序并進行演示 (調用 PPt文件),然后在提出如何解決相關問題的基礎上,引出要用到的知識點并進行講授,最后再對源程序進行剖析。兩種教學過程,根據需要可靈活應用。
任務的分析。提出任務后,先要分析任務的特點。應該用什么方法來完成任務,同時帶出新的知識點。
②課堂演示型。這種方式主要用于篇幅稍長的案例程序。具體教學過程是:在講授完知識點并指明在程序中的用途或用法后,用相關案例程序的可執行文件進行演示;然后打開源程序,講授其中的關鍵算法及與該知識點相關的主要內容,剩余部分要求學生課后從網站上下載后自己去消化。
③課后自學型。這種方式適合于篇幅較大的或綜合型的案例程序。具體教學過程是:在課堂只做演示或提示,課后完全由學生自己去理解或完善有關功能。在一些關鍵章節教學中,要求學生參照案例程序去完成相應的項目作業。
鼓勵學生創新。在任務完成后,總有學生提出這樣或那樣的問題。有一部分是具有創新精神和建設性的。
培養協作精神。在教學過程中,還應該支持和培養學生的團隊協作精神。如可以讓他們對某個問題的處理辦法展開集體討論,然后得出統一的結果。
教學過程中,要靈活使用案例程序教學法和任務驅動法。在講授程序設計語言時,要靈活而恰當地使用案例程序教學法與任務驅動法。這也意味著,并不需要把所有要講授的程序都得事先寫成案例程序,有些小的程序可以在課堂上隨手編寫。
如果時間允許,有些稍長的程序完全脫離講稿邊講邊寫,效果也很好。這樣學生會覺得編寫程序不是很難,同時覺得這個老師有水平,由佩服產生學習的動力。有些稍長的程序如果時間不允許,可以事先將程序代碼保存到幻燈片中的備注頁中;講解過程中,邊講邊進行界面設計,需要代碼時右擊幻燈片,打開備注頁直接復制并粘貼到代碼窗口即可。當然,界面較復雜且設計較費時的程序,最好還是寫成案例程序。
學生與學生、學生與教師相互討論和質疑,加深了對知識的理解,團隊協作精神的作用是顯而易見的。學生的學習過程是一個在切合實際的情境下,依賴于原有知識和社會背景,通過自身的實踐和體驗感悟知識的過程。這是建構主義理論的最基本的出發點和前提,也是任務驅動法的最重要、最基本的理論依據。通過任務驅動法的教學實踐,我深感必須徹底摒棄以教師為中心的陳舊觀念,必須從思想觀念上牢固樹立以學生為中心、學生是學習的主體的教學理念。只有在這樣一個大前提下,原則、方法、技巧才具有現實意義。
21世紀的教育,要著眼于社會發展的實際需求和人才市場的實際需求。在程序設計教學實踐中,教師要在教學方法上不斷探索,使學生從枯燥無味的學習中解放出來,努力提高學生的學習興趣和專業素養,真正做到學以致用。
參考文獻:
[1]錢培德.中文Visual Basic6.0傻瓜書[M].北京:清華大學出版社,2000.
[2]畢廣吉.Visual Basic基礎與課件制作[M].北京:電子工業出版社,2002.
(汕尾職業技術學院)