徐寧
(淮南師范學院 計算機與信息工程系,安徽 淮南 232038)
計算機語言類課程中任務驅(qū)動教學模式研究
徐寧
(淮南師范學院 計算機與信息工程系,安徽 淮南 232038)
針對目前高校計算機程序設計語言課程的教學目的及教學中存在的問題進行分析,提出采用“任務驅(qū)動”教學模式進行教學。闡述“任務驅(qū)動”教學模式的基本理論概念,結(jié)合C語言程序設計課程教學實例闡明如何在“任務驅(qū)動”教學法指導下開展教學。
任務驅(qū)動教學模式;程序設計語言;構(gòu)建主義
計算機語言程序設計類課程是實踐性很強的課程,其教學的最終目的,是以某一種程序設計語言為手段,讓學生掌握抽象思維方法,培養(yǎng)學生用計算機解決問題的能力。因此,在程序設計語言的教學過程中,學生不但要掌握該語言的基本語法知識,更重要的是通過對程序設計語言的學習,掌握程序設計的方法和思路;對于教師來說培養(yǎng)學生的程序設計能力、自主學習能力與獨立分析問題、解決問題能力,才是教學的重中之重。
《高級語言程序設計》和《面向?qū)ο笳Z言程序設計》是計算機專業(yè)學生的一門必修課程,是計算機專業(yè)學習中的關(guān)鍵一環(huán)。但是在當前計算機程序設計語言的教學當中,常規(guī)的教學方法是:課堂教學中,教師詳細地灌輸語法知識內(nèi)容;實驗教學中,以驗證課堂所授知識為目的。教學中存在以下問題:
1.學生學習有壓力無興趣。計算機程序設計語言是建立在嚴格的語法規(guī)則基礎上的語言體系,學生面對枯燥的語法知識,很容易感到這門課程既煩又難,失去興趣,為學而學,在學習的過程中缺乏積極性和主動性,學生處在被動的學習狀態(tài)中,容易感到厭倦。
2.課堂教學方法不適應課程需求。計算機程序設計語言發(fā)展很快,程序設計語言的類型也很多,因此學生必須具有一定的自學能力?,F(xiàn)在的教學方式以知識傳授為主,學生被動學習語法知識,壓抑了學生學習的自主性和創(chuàng)造性;不僅如此,通過以往的教學發(fā)現(xiàn),采用傳統(tǒng)的教學方法,簡單地按照從易到難的順序循序漸進地進行教學,學生學習時以各個語法知識點為主,在面對實際問題進行綜合運用時不能做到融會貫通。
3.實驗教學不能培養(yǎng)學生分析解決問題的能力。現(xiàn)在我校的計算機語言實驗內(nèi)容以驗證性實驗為主,主要用于驗證課堂教學所教授的 “知識碎片”,沒有從提高學生編程能力的角度安排實驗內(nèi)容。學生普遍感覺到掌握了很多語法知識,但是面對具體問題進行編程時卻毫無思路,無從下手,不能適應將來的工作需求。
綜上可知,程序設計語言類課程教學的問題主要體現(xiàn)在培養(yǎng)學生學習主動性、積極性、創(chuàng)造性和實際問題的分析解決能力方面。針對這些問題,有必要研究實施更有效的教學方式,提高教學質(zhì)量。
任務驅(qū)動教學模式有利于培養(yǎng)學生的創(chuàng)新能力和分析解決問題的能力,對計算機這門創(chuàng)造性很強的學科來說,為解決教學過程中出現(xiàn)的問題提供了很好的途徑,非常適合計算機類課程的教學。
構(gòu)建主義理論認為知識不是通過教師傳授得到的,而是學習者在一定的情境下,借助他人(包括教師和學習伙伴)的幫助,利用必要的學習資料,通過意義構(gòu)建方式獲得的。[1]
任務驅(qū)動教學模式是基于構(gòu)建主義學習理論的一種教學形式。它強調(diào)學生要在真實情境中帶著任務學習,以探索問題的解決方法來驅(qū)動和維持學習者學習的興趣和動機。所謂“任務驅(qū)動”,就是將所要學習的新知識隱含在一個或幾個任務中,學生通過對任務進行分析討論,明確它所涉及的新知識點,在教師的指導幫助下找出解決問題的辦法。[2]任務驅(qū)動教學法非常適合實踐性和操作性較強的知識和技能的教學工作,學生在整個學習過程中,隨著任務的完成不斷獲得成就感,進而激發(fā)了他們學習的積極性和主動性,培養(yǎng)了他們的創(chuàng)新能力和問題解決能力。
2.任務驅(qū)動教學過程
在教學過程中任務驅(qū)動教學法是以 “設計任務——呈現(xiàn)任務——實現(xiàn)任務——評價任務”的順序組織教學的。[3]
(1)設計任務
利用任務驅(qū)動教學法組織教學時,任務是學習的主線,設計的任務直接關(guān)系到教學效果。因此教師一定要認真分析教材,根據(jù)教學目標、教學的重難點和學生的實際情況,認真設計任務。在任務設計的過程中要注意遵循以下原則。
任務要有系統(tǒng)性:在明確教學目標的情況下,將總目標細分為小的學習模塊,再將每個學習模塊細化為一個個容易掌握的任務。通過小任務的有機組合來體現(xiàn)總的學習目標。我們可以選擇一個小的應用程序,比如:學生成績管理系統(tǒng)。將其與各章節(jié)教學內(nèi)容相結(jié)合,分解成一個個子程序。子程序再根據(jù)每次課的教學目標分解成若干任務。當教學的所有任務完成后,可以將它們組織成“學生成績管理系統(tǒng)”。當學生通過努力獨立完成這個系統(tǒng)時,會感到很有收獲,也會對編程更有自信,為將來參與軟件編程奠定了基礎。
任務要有趣味性:興趣是學生最好的老師,沒有興趣的強制性學習,只會扼殺學生創(chuàng)造性思維的發(fā)展,只有激發(fā)學生的興趣和學習積極性,才能提高學習效率。比如在介紹循環(huán)結(jié)構(gòu)時,如果給出的任務是求解1到100的整數(shù)和,雖然也能完成教學目標,但是學生參與興趣并不濃。如果任務是猜字謎游戲等,學生的積極性顯然提高了很多。
任務要有層次性:學生的認知水平不同,對知識的理解能力和自學的水平各有不同,這是客觀存在的。因此教學過程中要注意因材施教。任務設計時同一個知識點也要按學生的差異,分別設計不同難度的任務,讓不同層次的學生都能做到學有所得。
(2)呈現(xiàn)任務
任務呈現(xiàn)是引發(fā)學生學習興趣及明確學習任務的重要一步。在呈現(xiàn)任務時要創(chuàng)建任務情境,通過講解、示范等教學方法使學生有學習的興趣,而不會引起為難抵觸的心理,在愉快的氛圍中接受任務,而不是當成學習負擔。
(3)實現(xiàn)任務
實現(xiàn)任務的過程是學生在教師的引導下自我探索、掌握新知識的過程。教師不要急于去講解該怎么做或完全放手讓學生自己做,而是要充分發(fā)揮學生的主動性,在學生有困難的時候,即時適當?shù)亟o予建議或指導;在實現(xiàn)任務時,教師要準備好相關(guān)學習資料,可以利用學校的教學平臺,為學生準備好充足的參考資料,方便學生查閱;在學生中提倡協(xié)作學習,尤其是任務比較困難時,可以將學生分組,利用集體力量完成任務,同時也鍛煉了學生與他人協(xié)同工作的能力。
(4)評價任務
學生的學習過程是由任務驅(qū)動的,因此一次學習任務完成后,及時對學生完成任務的情況進行評價是非常重要的。學生完成任務后,雖然也學習到了相關(guān)知識點,但是并不能完整地將其融入自己的知識結(jié)構(gòu),教師可以在此階段對知識點進行總結(jié)與提高。同時學生完成任務后都會有一定的成就感,教師的評價、表揚可以極大地激發(fā)他們的學習熱情,這也是培養(yǎng)學生自信心和成就感的好時機。
總之,任務驅(qū)動教學模式改變了傳統(tǒng)“教師講,學生聽”的教學模式,強調(diào)創(chuàng)新能力的培養(yǎng)和學習能力的全面提高,更適合計算機程序設計語言類課程的教學。
在教學實踐過程中,我對《C語言程序設計》課程進行了教學改革實驗,采用了任務驅(qū)動教學方法進行教學。
在教學過程中,以“學生成績管理系統(tǒng)”為例,將課程知識點貫穿于項目的每個任務模塊中,每個任務模塊又根據(jù)各章節(jié)的不同知識點細化為若干代碼段。引導下“驅(qū)動”學生完成每個任務模塊,最后將每個任務模塊“組裝”成一個完整的項目。
例:學生成績管理系統(tǒng)功能如下:
班級有45名學生,每個學生的信息包括學號、姓名及大學語文、高等數(shù)學、英語、計算機導論四門課程的成績,設計學生成績管理系統(tǒng),使之能提供以下功能:
(1)學生信息錄入功能;
(2)學生信息瀏覽功能;
(3)查詢功能:能按學號進行學生成績查詢;
(4)統(tǒng)計功能:能計算學生的總分及平均分;
(5)排序功能:能按照單科成績或者總成績從高到低輸出學生的成績單;
(6)學生信息的刪除與修改。
因為最后可以完成一個有實際功能,且和班級管理密切相關(guān)的小系統(tǒng),所以學生的興趣很大,學習的積極性和主動性有了明顯的提高。
現(xiàn)以《C語言程序設計》課程中分支結(jié)構(gòu)知識點的教學為例,說明如何在任務驅(qū)動教學法的指導下進行教學內(nèi)容的選擇及完成“設計任務——呈現(xiàn)任務——實現(xiàn)任務——評價任務”整個教學過程的。
1.教學設計
教學內(nèi)容:選裝型程序設計
教學重點:分支程序的基本結(jié)構(gòu)
教學難點:分支結(jié)構(gòu)的嵌套
教學準備:范例,資料,任務,多媒體設備
表1 教學過程
2.教學效果
表2 學生成績分析表
本人在2009~2010年的 《C語言程序設計》中采用了任務驅(qū)動的教學模式,對比傳統(tǒng)的教學方式而言,學生的學習興趣有了明顯提高。最后能將整個“學生成績管理系統(tǒng)”完成的同學占85%;教學效果也比以往有了大幅度提高,在期末考試中,參與本課程學習的148個同學,忽略智力等客觀因素,其考試成績也比以往有了大幅度提高,平均分達到78.5分。
3.教學反思
通過一個學期的教學實踐,有成功的經(jīng)驗也有失敗的教訓,總結(jié)如下:
(1)注意知識系統(tǒng)的完整性和系統(tǒng)性。任務驅(qū)動的教學思想是將新知識分解到一些任務中,難免忽略知識的系統(tǒng)性和完整性。因此在設計任務階段就應該注意從整體上統(tǒng)籌設計,使任務之間、新舊知識之間產(chǎn)生聯(lián)系。這一點通過與實踐項目相結(jié)合,進行任務設計,效果較好;同時在一個單元內(nèi)容完成以后,教師必須引導學生對所學知識進行及時的總結(jié)歸納,加深學生對知識的理解、記憶,以形成知識的系統(tǒng)性。
(2)減少驗證性實驗。以解決實際問題為導向,培養(yǎng)學生的分析和綜合能力。實驗內(nèi)容以一個具體應用為背景,讓學生感到學到的知識不僅僅是驗證某個語法點的用法,而是可以用所學知識解決實際問題的;同時,在實驗內(nèi)容的設置上力求新穎,提高學生的參與熱情,鼓勵學生自己去分析解決問題。
(3)結(jié)合其他教學方法,提高課堂教學效果。在教學過程中,使用的教學方法不是一成不變的,可以根據(jù)教學的實際需要融入其他教學方法,提高教學效果。如案例教學法,可以將復雜、抽象的概念和原理融入案例中使之形象化、具體化,便于學生理解和掌握。如《Java語言程序設計》課程中,對類、對象等基本概念的講述就可以使用案例教學法。
綜上,“任務驅(qū)動”教學法最顯著的特點是以學生“學”為主體,形成了學生主動參與,自主協(xié)作,探索創(chuàng)新的新型教學模式。這種教學方式非常適合計算機類課程的教學,在教學實踐中取得了很好的教學效果。但在具體教學過程中,還需要進一步做好教師的角色轉(zhuǎn)換工作和課程考核方式的改革工作。
[1]謝京力.任務驅(qū)動教學模式的探討[J].九江職業(yè)技術(shù)學院學報,2009,(2):35
[2]徐聯(lián)華,周建華.任務驅(qū)動在計算機公共課教學中的運用研究[J].高教論壇,2006,10(5):98
[3]徐海鷹.“任務驅(qū)動”法在信息技術(shù)活動課中的運用[J].齊齊哈爾師范高等專科學校學報,2005,(1):122
G642.41
A
1009-9530(2011)05-0106-03
2011-01-21
淮南師范學院科研項目(2010lk17)
徐寧(1978-),女,安徽淮南人,淮南師范學院計算機與信息工程系講師。