摘要:任務驅動教學法是以學生為對象,以任務為驅動的教學方式。通過C語言課程教學示例,闡述了任務驅動式教學的實施步驟及達到的效果。
關鍵詞:任務驅動;C語言;教學;能力;
中圖分類號:G642.0 文獻標識碼:A文章編號:1009-3044(2009)25-7167-02
Application of Duty Actuation Teaching Method in C Language Programming
WANG Lin-yan
(Mathematics Computer Science College, JiangHan University, Wuhan 430056, China)
Abstract: Duty actuation teaching method takes the students as the object, and duty as the actuation. The paper elaborates its implementing procedures and desired results through examples in C Language.
Key words: duty actuation; c Language; teaching; ability
1 任務驅動教學法的提出
“任務驅動”教學法是以建構主義的認知靈活性理論為基礎的一種教學方法。它將教學內容設計成學生感興趣的、有意義的具體任務,教學中以完成任務為主線,把知識點巧妙隱含在任務中,由教師引導學生,學生借助教師的引導和同學的幫助,利用必要的學習資料,通過意義建構方式獲得知識,達到教學目的。
C語言程序設計是高等學校重要的計算機基礎課程,該課程教學目的是培養學生程序設計的思想和方法,提高學生對問題求解和編程的應用能力。由于C語言既具有高級語言的特性,又具有低級語言的許多特點,目前已被許多高校列為程序設計課程的首選語言。在C語言程序設計課程教學中,由于與其它基礎課程相比,學習方式和思維方式有較大的改變,另外還由于其概念復雜、函數眾多、使用靈活,使一些同學望而生畏,容易喪失學習興趣。如果采用傳統的教學方法,教師處于整個教學活動中心位置,教學中只是對自己熟悉的程序進行講解,而學生在學習過程中被動接受知識,在認知上容易產生依賴性,難以對知識進行擴展,容易感到枯燥,產生厭學思想。為此,采用“任務驅動”法可較好的解決C語言程序設計教學中存在的問題。
“任務驅動”教學法應用于C語言程序設計課程教學中,它是以學生為對象,以任務為驅動,使學生在教師創建的任務中完成知識的學習與鞏固。學生在教師的指導下,積極參與到任務的完成中,通過對任務的分析,選擇合適的解決辦法完成新知識的掌握,進而完成知識的建構,達到完成C語言程序設計教學任務的目的。
2 C語言課程“任務驅動”教學實施
“任務驅動”教學法運用于C語言教學,大致可分為五個階段:明確目標、設計任務→分析任務、自主學習→ 正確引導、幫助梳理→完成任務、分析歸納→再設任務、提升能力。
2.1 明確目標、設計任務
在C語言程序設計教學中,教師應根據教學目標和教學內容,結合學生特點,盡可能地設計出具有趣味性、實用性的任務,將所要學習的知識巧妙地隱含其中,使學生在完成任務的過程中達到理解學科知識、掌握技能的目的。如在學習循環結構章節后,可設計以下任務:編程,對輸入的一個正整數n,判斷其是否為素數并輸出。
2.2 分析任務、自主學習
任務提出后,不是由教師直接告訴學生如何去解決問題,而是由教師向學生提供解決問題的有關線索。學生接受任務的同時,應結合自己掌握的書本知識,收集資料,在此基礎上再根據題目的要求邊看書,邊整理資料,尋找編程任務的解決方法。如:素數的概念、數據處理所涉及的輸入輸出函數、完成任務應采用的程序結構等。
2.3 正確引導、幫助梳理
學生在完成任務的過程中,教師要以一個普通者的身份參與其中,以教師個人的經驗引導學生的思維走向,指導學生梳理相關的知識要點,并適當的加以講解。對提出的任務,可作如下的梳理:
1) 素數的概念:素數是除1和它本身不能被其它任何整數整除的正整數。
2) 輸入輸出處理函數:輸入函數scanf()、輸出函數printf()函數,數據類型為整型,格式控制符為%d。
3) 程序結構:循環結構。循環的初始值為2,終止值為n-1,步長為1。依次查看n能否被2到n-1之間的數除盡,若都除不盡,則n是素數。
2.4 完成任務、分析歸納
這一階段,學生根據設計思想實施編程,并用計算機操作完成程序的錄入、調試、運行、得出正確結果。以下是完成任務具有代表性的一個程序:
/*程序功能: 對輸入的一個正整數n,判斷其是否為素數并輸出。*/
#include
main()
{
int n,i,yes=1;
printf(“please enter a integer:”);
scanf(“%d”,n);
for (i=2;i<=n-1;i++)
if (n%i==0)
{yes=0;
break;}
if (yes) printf(“%d 是素數. \”,n);
else printf(“%d 不是素數. \”,n);
}
學生完成任務后,教師要及時進行客觀歸納和評價。“任務驅動”教學過程中,教師的評價要客觀、具體、積極。對“任務驅動”學習順利的學生,給予充分的肯定,并指明下一步學習的方向;對學習過程中遇到困難的學生,要幫助他們分析知識的缺陷和方法的不合理,指明下一步努力的方向,讓學生保持學習的積極性。
2.5 再設任務、提升能力
學生基本掌握教學內容,教師可以設計新任務。新設計的任務,要求具有綜合性、創造性,給學生創新實踐的機會,培養他們程序設計綜合應用的能力。
再設任務:編程,將100以內所有的素數存入一維數組并以文件形式保存。
對再設任務,應根據前面已完成任務的情況,確認達到對基本編程能力的要求后,可進一步提出數組、指針及各種構造類型的混合運用、文件的使用、并用結構化程序設計思想實現復雜問題的編程和基本算法等內容。學生在編寫程序的過程中,可能會碰到新的問題,這必將促使他們進一步思考,通過查資料,共同討論找到解決問題的方法。通過完成任務,培養了學生自主學習和探究的能力,全面提高學生的綜合素質。
3 任務驅動教學法的應用要求
3.1 教師的要求
任課教師不僅要熟悉計算機專業的相關課程內容,還要熟悉軟件開發過程,有應用軟件開發的經歷。這樣才能合理地根據教學內容的安排和知識點提出任務。學生在完成任務的過程中遇到困難時,才能給予正確的指導。同時,教師還必須對所教授班級學生的專業背景有一定的了解,以便合理地根據知識點提出與學生所學專業相對應的任務,使學生在完成任務的過程中對程序設計在本專業的應用有進一步的了解。
3.2 實踐時間要求
由于C語言程序設計課程的實踐性很強,學生必須通過大量的編程訓練和較多的時間來調試程序,從而在實踐中掌握語言知識,培養程序設計的基本能力。由于每個學生不一定都擁有自己的計算機,所以在教學過程中要安排較為充足的上機時間,對本科層次學生,一般安排24學時的實踐時間,同時要注重提高實踐效率。
3.3 答疑要求
學生在完成任務的過程中,如果碰到問題,不應只告知答案,而是通過對問題的分析,引導學生自己解決。在學生確實不能解決時,教師可引導學生尋找解決的辦法,如提示查找相關資料或以相似的程序進行講解,以充分調動學生的學習主動性。
4 結束語
在C語言程序設計教學中,“任務驅動”教學法,將教學內容巧妙地隱含在任務之中,使大多數學生有共同參與的機會,優化了課堂教學過程,調動了學生學習的積極性。“任務驅動”教學過程中,學生是主體,通過這一教學方法的實施,提高了學生學習的能動性,給了學生更多的探究和實踐的機會,培養了學生的綜合能力,同時也幫助學生形成了更為自信的心理品質。“授之以魚,不如授之以漁”,教師在教會學生知識的同時,更重要的教會學生學習方法。“任務驅動”法正好給了學生這樣一個機會,不斷提出新的任務,激勵著學生去學習、去探索、去創作更美妙的“精品”。
參考文獻:
[1] 吳雅琴.運用任務驅動教學法提高教學效果[J].中國醫學教育技術,2007(2):30-32.
[2] 高應波.“計算機應用基礎”教學任務驅動教學法的應用研究[J].教育技術導刊,2007(2):23-25.
[3] 黃博軍.任務驅動教學法在《C語言程序設計》課程中的應用[J].襄樊職業技術學院學報,2007(3):68-69.
[4] 譚浩強.C語言程序設計[M].北京:清華大學出版社,2001.