楊 樺 楊小燕
文章編號:1672-5913(2009)08-0078-03
摘要:目前在我國職業(yè)教育中推廣任務驅動教學法,該教學法用于程序設計語言教學成效顯著。筆者就任務驅動教學法在程序設計語言類教學中的應用做了初步的實踐與探索,認為在程序設計語言類教學中采用任務驅動教學法,相對于傳統(tǒng)教學而言優(yōu)勢明顯,能有效組織實施教學。
關鍵詞:任務驅動;程序設計語言;任務情景
中圖分類號:G642
文獻標識碼:B
1引言
“C語言程序設計”、“C++程序設計”、“JAVA程序設計”、“VB.net程序設計”、“C#程序設計”等課程是軟件開發(fā)類學生的必修專業(yè)課程,此類課程傳統(tǒng)的教學采用理論和實踐脫節(jié)的教學法,老師感覺教學實施很困難,學生感覺不能理解所教內容,沒法獨立完成簡單程序的編碼任務。而任務驅動教學法可以把理論教學和實踐教學很好地結合起來,將其運用在程序設計語言類課程中,可以改變老師難教,學生難學的現(xiàn)狀,使學生成為教學的主體,容易激發(fā)學生的學習熱情,達到自主學習的目的。程序設計語言作為基本的軟件開發(fā)工具之一,學生的知識結構、操作技能和分析問題、解決問題的能力是學生專業(yè)學習的著重點。本文就任務驅動教學法如何在程序設計語言類課程中的實施談談筆者的初淺認識與實踐體會。
2任務驅動教學法及其對程序設計語言教學的適應性
任務驅動教學法是基于建構主義學習理論的一種教學方法。它強調學生要在真實情景中的任務驅動下,在探索任務和完成任務的過程中,在自主學習和團隊協(xié)作的環(huán)境下,在討論和會話的氛圍中,進行學習活動。這樣學生不僅能學到知識、提高技能,還能培養(yǎng)實踐動手能力,提高學生的探索創(chuàng)新精神。學生在完成任務的過程中始終處于主體地位。教師的角色是學習情景和學習任務的設計者、學習資源的提供者、學習活動的組織者和學習方法的指導者。任務驅動教學法給學生提供了充分的自由,使學生成為學習的主體,改變了“教師講、學生聽”的傳統(tǒng)的講授型教學模式,創(chuàng)造了以學定教、學生主動參與、自主學習、團隊協(xié)作,探索創(chuàng)新的新型的學習方式。
任務驅動教學法對程序設計語言教學的適應性主要表現(xiàn)在一下幾方面:
2.1探究教學策略
在實踐中筆者發(fā)現(xiàn),學生感覺編程類課程枯燥乏味,又難以理解,許多知識點抽象空洞,不能和實際應用結合起來。學生學習沒有興趣,光憑教師的講解學生也難于理解。而任務驅動的教學方法能激發(fā)學生學習的積極性和主動性,提高課堂教學的效益,幫助學生熟練掌握和運用知識,起到事半功倍之效率。根據任務驅動教學法是基于建構主義教學理論教師以任務鏈的方式合理的呈現(xiàn)任務并有效地組織學生合作交流,使學生通過自主活動來建構知識和完善自己認知結構的特點,探究有效的教學策略為:任務提出→自主探索、合作交流→引入知識點→任務解決。
2.2設計任務情境,激活學習積極性
如何提高學生學習積極性和主動性?如何將枯燥的編程知識與實際應用及開發(fā)結合起來?筆者通過實踐分析發(fā)現(xiàn)通過任務驅動的教學方式可以提高學生的學習積極性和思考問題的主動性。在這種任務驅動的教學方法實施下,學生通過自主探索與合作交流,可以提高自身分析問題與解決問題的能力。通過師生互動,在角色平等中共同進步,通過多方互動在多方協(xié)助中成長。結合所要講授的知識點,授課教師可創(chuàng)設相關知識點所對應的任務情境,以某個人物角色貫穿整個任務情境。使學生感覺問題貼近現(xiàn)實生活,能夠學以致用。
2.3以項目驅動的方式融合課程所需知識點,形成支撐課程的知識鏈
通過任務驅動的方式引入知識點的講授,以項目驅動
的方式融合所講授的知識點,將分散的知識點串成知識鏈。在課程的知識點講授的同時,讓學生分組分工完成一綜合項目——例如“猜數游戲”、“酒店管理系統(tǒng)”、“航空公司客戶管理系統(tǒng)”等的設計與實現(xiàn),在具體任務的解決過程中,能培養(yǎng)學生的團隊協(xié)作、溝通能力以及對知識的理解和掌握能力。
3任務驅動教學法教學實施
筆者就以Java程序設計語言中程序控制結構這部分內容的學習為例,闡述任務驅動教學法在程序設計語言類課程中的運用與實踐以及與傳統(tǒng)教學的區(qū)別。
3.1任務驅動教學法在Java程序設計中程序控制結構部分的教學實施
(1) 任務提出
教師創(chuàng)設一問題情境,通過編寫游戲的方式,激發(fā)學生興趣,引入需要學生掌握的程序控制結構的知識介紹。
【問題情境】用Java語言編寫一個猜數字的游戲,由電腦隨機產生一個100以內的整數,讓用戶去猜,如果用戶猜的比電腦大,則輸出“大了,再小點!”,反之則輸出“小了,再大點!”,用戶總共只能猜十次,并根據用戶正確猜出答案所用的次數輸出相應的信息,如:只用一次就猜對,輸出“你是個天才!”,6次以內猜對,則輸出“還將就”,八次才猜對,輸出“過關了,不過還要努力!”,如果十次還沒有猜對,則游戲結束!
(2) 自主探索、合作交流
在該環(huán)節(jié),學生被分為了若干小組,分別對已有知識的掌握進行自主探索,分組交流,找出該問題的解決方案。通過學生的分組交流和對知識的自主探索,學生得出需要用到的知識結構如下:
●循環(huán)控制結構,用于控制輸入的次數不超過10次,每次輸入與電腦產生的數進行比較;
●條件判斷結構,用于判斷輸入的數是否與電腦產生的數一致;
●條件判斷結構,用于判斷輸入的次數是否為小于2,大于2同時小于6,大于6同時小于8,大于8同時小于10,以此來顯示對游戲者的評語。
(3) 教師點評,并引入知識點
在解決該問題的過程中,需要用到程序控制結構中的循環(huán)控制以及條件判斷結構,由于游戲者輸入的次數只有10次,建議用for循環(huán)來實現(xiàn)游戲次數的控制。判斷游戲者是否猜對以及對其的游戲評語可以用if-else語句及其嵌套來實現(xiàn)判斷操作。
(4) 問題解決
通過學生的自主交流、探索與教師的點評,得出該游戲的如下解決方案:
import java.util.*;
import java.io.*;
public class CaiShu{
public static void main(String[] args) throws IOException{
Random a=new Random();
int num=a.nextInt(100);
System.out.println("請輸入一個100以內的整數:");
for (int i=0;i<=9;i++){
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
String str=bf.readLine();
int shu=Integer.parseInt(str);
if (shu>num)
System.out.println("輸入的數大了,輸小點的!");
else if (shu System.out.println("輸入的數小了,輸大點的!"); else { System.out.println("恭喜你,猜對了!"); if (i<=2) System.out.println("你真是個天才!"); else if (i<=6)
System.out.println("還將就,你過關了!");
else if (i<=8)
System.out.println("但是你還……真笨!");
else
System.out.println("對你......無語了!");
break;}
} } }
3.2傳統(tǒng)教學法與任務驅動教學法在該內容上的教學比較
傳統(tǒng)教學法與任務教學法在教學內容設計,教師與學生活動法上都發(fā)生了很大的變化,產生了不同的教學效果(如表1所示)。
4教學反思
在任務驅動下的教學實施中教師教學方式和學生學習方式都發(fā)生了很大變化,筆者感受到任務驅動教學法的設計及實施在“程序控制結構”這講內容中是有效的、可行的,真正促進了學生自主學習,也讓學生深刻理解到所學知識運用于何處,將理論知識與實際生活中的具體問題有效結合起來。
4.1任務驅動下的教學實施中教師教學方式地轉變
課堂組織通過教師設計的任務驅動下的教學流程讓學生在自身認知經驗的基礎上自主地體驗一個游戲程序需要運用的知識,尤其是如何更好的運用程序控制結構在實際問題中。學生可以嘗試運用符合自己認知經驗的方法來解決實際問題。教學實施過程中學生能較好地在體驗、探究、實踐和質疑中學習。在課堂教學實踐中,教師的作用主要體現(xiàn)在以下幾點:
(1) 創(chuàng)設合適的學習情境;
(2) 幫助學生設計恰當的學習活動;
(3) 幫助學生學會利用學習資源;
(4) 幫助學生對自己的學習過程進行評價反饋;
(5) 幫助找到自己的差距與學習目標。
某些傳統(tǒng)教學的重點與難點,教師往往在設計的時候找不到著眼點,而現(xiàn)在通過精心設計的任務,學生成了學習的主體,教學的中心成為了學生探索解決方案的過程,實際問題的合理運用,可以縮短較難的程序開發(fā)思想與學生認知水平之間的距離,實現(xiàn)更富于啟發(fā)性、開放性以及探索性的教學。在傳統(tǒng)教學中,由于教師一味的進行知識灌輸,不能很好的調動學生的積極性,在課堂上不可避免地忽略了一些學生。但在任務的驅動下,學生能夠自主學習,民主地發(fā)表自己的見解,勇敢地提出質疑,平等地相互交流,積極地建構自己的認知結構。
4.2任務驅動下的教學實施中學習方式地轉變
情境學習理論認為,有用知識的獲得必須鑲嵌在相關或“真實”的情境中。它強調情感和活動相互聯(lián)系所產生的教學價值。本節(jié)課教學設計中設置的學習情境為學生的合作交流提供了空間。從教學實踐來看,體現(xiàn)了學生的學習方式在以下這些方面發(fā)生了轉變:
(1) 從被動接受知識到主動探索知識和經驗地轉化;
(2) 學生所學的知識從枯燥乏味的向有趣的、有意義地轉化;
(3) 學生在教學實施中由非主體向主體轉化;
(4) 學生在課堂上從單一的理論知識向多元的情境學習地轉化。
通過學生自主探索的結論的展示與交流,充分展現(xiàn)了學生的認知過程。教師參與探究時有效地點撥以及師生、學生間的互動營造一個融洽的、高效的研究氛圍。學生在這種和諧的環(huán)境中大膽、積極主動地發(fā)表自己的認識和見解。由于教師影響力的減弱,教師反而可以放手讓學生展現(xiàn)各種認知沖突。在合作探究的討論過程中,在師生的互動中,促進學生完成了知識的掌握及技能的培養(yǎng)。
5結束語
運用任務驅動教學法,體現(xiàn)了以人為本的觀念。尊重學生的主體價值,創(chuàng)造適合學生個性發(fā)展的條件,激發(fā)全體學生的積極性,使每個學生都學有所得,享受成功的喜悅。這是尊重學生,愛護學生,將學生視為學習和發(fā)展主體的基本要求。學生是有自尊心和活生生的、不斷成長中的人。他們需要理解、尊重和鼓勵。讓學生主動而不是被動地學習,讓學生學會學習,是新形式下,進行職業(yè)教育
課程改革及教學設計的新要求。
運用任務驅動教學法,是從學生的認知結構為出發(fā)點,重視教師與學生、學生與學生的相互作用,靈活地運用科學而有效的教學方法,激發(fā)學生的主觀能動性,讓學生在一定的問題情景中獨立鉆研和集思廣益,合作解決問題,以培養(yǎng)學生善于閱讀材料,分析、解決問題的能力和創(chuàng)造能力。
初步實踐證明,任務驅動教學法在程序設計語言類教學中的運用是成功的?;诮嬛髁x教學理論基礎上的任務驅動教學法,很值得繼續(xù)實踐和探索,運用在其他課程的教學實施中。
參考文獻:
[1] 錢曉菩,馬玉娟. 試論任務驅動[J]. 中國電化教育,2002,(9).
[2] 姜振安. “任務驅動”教學法與學生實踐能力培養(yǎng)[J]. 職教通訊,2003,(7).
[3] 周小山. 教師教學究竟先靠什么--談新課程的教學觀[M]. 北京:北京大學出版社,2003.
[4] 王升. 研究性學習的理論與實踐[M]. 北京:教育科學出版社,2003.