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