摘要: 從任務設計、任務分析、任務實施和任務評價四個方面介紹任務驅動教學法在C語言程序設計中的應用,教學實踐表明,任務驅動教學法對于激發(fā)學生的學習興趣,培養(yǎng)學生程序設計的能力,提高教學質(zhì)量作用明顯。
關鍵詞: 任務驅動; C語言; 程序設計; 教學質(zhì)量
中圖分類號:G642 文獻標志碼:A 文章編號:1006-8228(2012)10-53-02
0 引言
C語言是高校計算機專業(yè)及相關專業(yè)的學生必須掌握的一種高級程序設計語言。它具有語言簡潔緊湊、數(shù)據(jù)結構豐富、使用靈活方便、功能強大、目標程序效率高、可移植性好等特點。通過C語言程序設計課程的教學,不僅要求學生掌握C語言的基本語法及其使用方法,更要求學生能運用C語言結構化的程序設計方法和技巧,初步建立程序設計的思想,養(yǎng)成良好的編程風格,使學習者具有一定的分析程序、設計程序的能力。
傳統(tǒng)的教學方法注重理論知識的傳授,缺少程序設計能力的培養(yǎng),教師通常采用“講概念-分析概念-例題講解-上機演示”的教學模式。在整個教學過程中,以教師講授為主,學生處于被動的接受狀態(tài)。對于部分難以理解的概念、繁多的語法規(guī)則和枯燥的例題,學生感覺找不到頭緒,從而失去學習興趣和學習動機,容易產(chǎn)生厭學思想。因此,如何改進教學方法,以激發(fā)學生的學習興趣,培養(yǎng)學生的編程能力,提高教學質(zhì)量,是C語言教師值得思考的問題。筆者根據(jù)實際教學過程中的體會,在文中探討如何將任務驅動教學法應用于教學過程中。
1 任務驅動教學法的實施
任務驅動教學是以“任務為主線,教師為主導,學生為主體”的一種教學方式,要求教師將教學內(nèi)容隱含在一個或多個具有代表性的任務中,學生處于主體地位,在教師的引導下,運用學習資源,進行自主和協(xié)作學習,完成既定的任務。這種教學方法與以傳授知識為主的傳統(tǒng)教學方法相比較,轉變了教學理念,以解決問題、完成任務為目的,使學生處于主動的學習狀態(tài),在完成任務的過程中掌握理論知識、程序設計方法和技巧。任務驅動教學法主要包括四部分:任務設計、任務分析、任務實施和任務評價。
1.1 任務設計
在教學中,任務直接影響教學效果,所以,任務的設計和編排成為任務驅動教學的關鍵。一個較好的任務設計,不僅要能用到已學的知識點,還要能引出新的內(nèi)容。在設計任務時要注意以下三點。
第一,任務要吸引學生。興趣是最好的老師,要設計讓學生感興趣的任務。任務的內(nèi)容最好與學生生活密切相關,那些實用的任務容易引起學生的興趣,激發(fā)學生的學習欲望。
第二,任務要難度適中。在任務的設計過程中,要根據(jù)學生的實際情況及現(xiàn)有的知識水平,設計合理的任務。每個任務包含的知識點不宜過多,一般不要多于兩個重點或難點,否則學生會因為難度大,解決不了而挫敗,進而降低學習積極性;如果任務過于簡單,學生能夠輕易完成,也不能達到教學大綱的要求。
第三,任務要分層次。學生在學習過程中,因多種原因知識接受能力會有所不同。教師應根據(jù)學生的個體差異,把任務劃分為不同的層次。比如,可將任務分為基本任務和擴展任務。在完成基本任務后,學生可自行選擇是否執(zhí)行擴展任務。
例如,在講解數(shù)組時,掌握數(shù)組的使用方法及相關算法是教學重點,運用數(shù)組解決實際問題是教學難點。圍繞重點和難點,我們提出與學生學習相關的任務:將10名學生的成績由高分到低分進行排序。為了適用于不同層次的學生,可將任務分成多個子任務:①10名學生的成績用什么方式存儲·②用冒泡算法對分數(shù)進行排序。③采用不同的排序算法對分數(shù)進行排序。
其中,任務①、②為基本任務,要求學生完成,任務③為擴展任務,學生可量力而為。
1.2 任務分析
這一階段主要由教師引導學生對任務進行分析,明確任務所要實現(xiàn)的操作和所要達到的目的,尋找解決問題的方案。在分析任務的過程中,教師適時引入任務所涉及的知識點,講授相關的理論知識和操作步驟,逐步展開教學活動。
⑴ 任務①分析
假設用變量來存儲分數(shù),需要定義10個變量?;仡櫼阎v過的例題:三個變量a、b、c,從大到小進行排序。按照相同的算法,執(zhí)行10個分數(shù)的排序,得出結論:用變量存儲多個數(shù)據(jù)進行排序,步驟太繁瑣。因此,引入數(shù)組的概念:按序排列的相同類型數(shù)據(jù)的集合。而學生成績這組數(shù)據(jù)具有相同的數(shù)據(jù)類型,并且排列有先后順序,它們滿足用數(shù)組來存儲的條件。在此基礎上,教師展開關于數(shù)組的定義、初始化和引用方式等知識的介紹。
⑵ 任務②分析
以冒泡排序算法為例,分析用數(shù)組存儲數(shù)據(jù),進行排序的思路。基本算法:將10名學生的成績保存到score數(shù)組中,從第1個學生的成績score[0]開始,對第1個學生和第2個學生成績進行比較,若發(fā)現(xiàn)第1個學生的成績小于第2個學生的成績,則交換兩者的位置,然后比較第2個數(shù)和第3個數(shù),以此類推,把較大的數(shù)交換到前面。當?shù)谝惶私Y束后,最小的數(shù)放到了最后;第二趟比較仍然從第1個數(shù)開始,一直到倒數(shù)第2個數(shù),進行兩兩比較,如此下去,重復以上過程,直至最終完成排序。
在任務分析階段,學生了解了解決問題涉及的理論知識和算法,明確了解決問題的操作步驟,就可以具體執(zhí)行任務了。
1.3 任務實施
任務實施階段是提高學生自主學習能力和解決問題能力的階段。教師要提供充足的時間,讓學生運用已掌握的相關知識,自主完成具體的任務。學生可以獨立探索完成,也可以采用協(xié)作、討論等方式完成任務。在學生遇到困難時,教師應該進行有效的指導和點撥。
對成績進行排序,學生可按照以下步驟編寫相應代碼:
學生在教師的引導下,由簡到繁,由易到難,循序漸進地完成一系列任務。在此過程中,學生不斷獲得成就感,激發(fā)了更多的求知欲望,并提高了分析問題和解決問題的能力。此外,學生在完成任務時,可以互相學習,互相探討,從而能夠學習到更多的技巧和方法。
1.4 任務評價
當學生完成任務后,教師要及時進行評價和歸納。對任務完成順利的學生給予充分的肯定,評價完成任務的所用的方法;對于沒有完成任務的學生,教師給予鼓勵和提示,幫助他們分析方案的不足之處;對于解題思路有創(chuàng)新的學生,教師給予表揚。通過教師客觀、具體和積極的評價,學生不僅可以了解自己掌握知識的情況,確定下一步努力的方向,而且能增強自信心,保持學習的積極性,激發(fā)學習興趣。另外,由于學生在完成任務的過程中,對知識的學習是零散的,不系統(tǒng)的,所以,教師應加強課堂小結和知識點的回顧,幫助學生梳理知識,更好地理解、吸收和記憶所學的知識和技巧。
當然,教師也可以組織學生進行教學評價和自我評價。一方面,教師可以根據(jù)學生對教學效果的評價,將下一次的教學活動進行適當?shù)恼{(diào)整;另一方面,學生在總結學習感受和收獲的同時,可以鍛煉自我表達能力和自我評價能力。
2 結束語
教學實踐證明,以任務為驅動的教學模式充分促進了師生互動,培養(yǎng)了學生的自主學習習慣,提高了學生分析問題和解決問題的能力。學生完成任務后,能感受到成功的喜悅,增強了學習興趣和學習欲望。與傳統(tǒng)的教學模式相比,任務驅動教學模式優(yōu)勢明顯,同時,對教師的主導作用提出了更高的要求。隨著教學改革的不斷深入,這種以“任務為主線,學生為主體,教師為主導”的教學模式,將會得到更為廣泛的應用。
參考文獻:
[1] 譚浩強.C語言程序設計(第四版)[M].清華大學出版社,2010.
[2] 劉志凱.任務驅動教學法在VFP程序設計中的應用[J].計算機光盤軟件與應用,2011.15:227
[3] 王琳艷.“任務驅動”教學法在《大學計算機基礎》課程中的應用[J].電腦知識與技術,2011.7(25):6277
[4] 王文浩.“任務驅動”教學法探究[J].科技信息,2008.18:171
[5] 劉延輝.如何使“任務驅動教學法”更有效[J].信息技術教學與研究,2011.60:162