胡瑞鵬


摘要:本文根據《C程序設計》課程特點,并且以具體案例處理為例,闡述了多層次任務驅動教學模式在本課程教學中的應用,著重探索了該教學模式必須把握的關鍵環節,并通過合理的教學內容設置,促進“教”與“學”相輔相成、和諧統一,以達到提高學生的學習興趣和綜合應用能力。
關鍵詞:多層次任務驅動;C程序設計;教學模式;教學任務
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2015)28-0134-02
《C程序設計》是高校各類學科專業中都至少開設的一門程序設計語言課程,也是計算機專業的學生進一步學習其他程序設計課程的基礎。課程教學的目的是使學生領會程序設計的基本思想與方法,具備運用計算機求解實際問題的能力。但是傳統的教學方法往往以教師、課堂為中心,缺乏與學生的互動,不利于學生主動性的發揮。筆者結合自己多年在從事這門課程的實際教學過程中出現的具體問題和情況,探索出著重于“以學生為中心、以任務為總線、以能力為本位”的多層次任務驅動的教學模式。
一、多層次任務驅動教學模式
所謂“任務驅動”就是在學習知識的過程中,學生在教師的幫助下,緊緊圍繞一個共同的任務活動中心,在強烈的問題動機的驅動下,通過對學習資源的積極主動應用,進行自主探索和互動協作的學習,并在完成既定任務的同時,引導學生產生一種學習實踐活動[1]。“任務驅動”是一種建立在建構主義教學理論基礎上的教學法[2]。它要求“任務”的目標性和教學情境的創建,使學生帶著真實的任務在探索中學習。任務驅動教學法適用于培養學生的創新能力、獨立分析問題和解決問題的能力。而多層次任務驅動教學模式與任務驅動教學相比較,任務的設計更注重學生的個性特點和認知能力,遵循由淺入深、由表及里、循序漸進等原則,避免呆板的“填鴨式”講授,以學生為中心,設身處地地為學生著想,預見性的設計任務。各層次任務和教學目標設置如圖1所示。
二、多層次任務驅動教學法在《C程序設計》課程教學中的應用
《C程序設計》課程內容包括數據類型、運算符與表達式、三大結構(順序、選擇、循環)、數組、函數、指針、文件等。每一個教學內容都可以設計成一個子任務,每一個子任務組合在一起就是一個完成的任務,也就是要求學生在學完這幾個教學內容后能將子任務組合成一個大的整體的任務。結合本課程的實際教學,以“楊輝三角形”這個具體案例來講授“二維數組”這一教學內容,按多層次任務驅動教學的模式進行教學行為、教學任務的劃分。
第一層:基本任務。教師:給出第一個4*4的矩陣,要求學生觀察該矩陣的構成特點。學生:通過觀察和討論,發現該矩陣的構成特點:有4行4列,并且每個元素的值均為1。老師:提出問題。運用以前的知識點可否實現該4*4矩陣的賦值。學生:可以運用前面學過的一維數組或普通變量、循環結構等實現。老師:分析學生實現語句的優劣,引出二維數組這個概念,介紹二維數組的定義、元素表示方法,賦值、輸出等,并指出運用二維數組解決此類問題的優勢。實現語句如下:
for (i=0;i<4;i++)
for (j=0;j<4;j++)
a[i][j]=1
第二層:案例任務。教師:給出第二個4*4的矩陣,要求學生觀察該矩陣的構成特點。學生:通過觀察和討論,發現該矩陣的構成特點也是4行4列,但只給出對角線下半部分元素賦值。老師:提出問題。運用新知識點“二維數組”以及以前的知識點,如何實現該4*4矩陣的賦值。學生:可以運用剛介紹的二維數組、循環結構等實現。實現語句如下:
for (i=0;i<4;i++)
for (j=0;j<=i;j++)
a[i][j]=1
第三層:設計任務。教師:給出第三個4*4的矩陣,即“楊輝三角形”,要求學生觀察該矩陣的構成特點。學生:通過觀察和討論,發現該矩陣的構成特點為:如第一列元素和對角線元素賦值為1,其他每個元素按規則a[i][j]=a[i-1][j]+a[i-1][j-1]賦值。老師:提出問題。如何給“楊輝三角形”的第一列和對角線元素賦值?如何給其他元素賦值?如何輸出“楊輝三角形”?學生:加深對二維數組理解,利用二維數組、循環結構等實現“楊輝三角形”的賦值。第一步:給第一列和對角線元素賦值為1,實現語句如下:
for (i=0;i<4;i++)
{ a[i][0]=1;
a[i][i]=1;
}
第二步:給“楊輝三角形”中的其他元素賦值,此時可借鑒第二層任務中操作,稍加修改即可實現語句如下:
for (i=2;i<4;i++)
for (j=1;j
a[i][j]=a[i-1][j]+a[i-1][j-1]
至此,有關二維數組內容的“楊輝三角形”這個經典的問題得以實現,并且以任務驅動的模式,循序漸進地引導學生理解并解決了這個問題。
第四層:創作任務。此階段,教師布置課外作業,鼓勵學生以組為單位,討論并實現所布置的創造任務。創作任務如下。
第五層:任務評價。老師:總結創作任務中出現的新算法和算法實現技巧,逐一評價每組學生運用適當和不當的地方。學生:學生之間也可以相互評價,并且需要在評價中收獲經驗。
三、多層次任務驅動教學過程中必須把握的幾個關鍵環節
(一)要合理設計多層次的教學任務
在教學過程中,教師應認真把握教材,分析學生的認知水平和理解能力。根據每章內容設計出一個大任務,再將它分成幾個子任務。每個子任務中將教學知識與技能訓練包含進去。任務的提出首先要有綜合性,它應該把舊知識和新知識融入進去,使學生既能學到新知識,又能鞏固舊知識,還能綜合運用新舊知識。其次任務要在基本知識點的基礎上具有可拓展性,以滿足不同層次學生的需求。
(二)科學有效地改革課堂教學
在教學實踐中,教師應以學生為本,科學、有效地進行課堂教學改革,使學習方式更符合學生特點和認知規律,使課堂教學過程真正成為教師與學生之間有機的互動過程,真正成為教師引導學生進行有效活動的過程,真正成為師生共同發展的過程。
(三)培養學生的創新能力、實際動手能力和發散性思維能力
正確把握教學中的“教、扶、放”的關系,把科學的思維方法納入到學生的認知結構中去,使學生產生更廣泛的遷移,以教法啟發引導學法,多方法、多角度、多層次地培養學生主動參與學習的能力和應用能力。例如在課堂上有針對性地對個別學生的程序進行評價,同時也可以組織學生進行互評、相互討論、交換觀點,吸取優秀程序的精華,并對自己的程序反思,以激發自身的創新力,進而達到相互學習的目的。
四、結語
在運用多層次任務驅動講授《C程序設計》課程時,教師要明確教學目的,全面考慮學生的實際情況,針對不同層次的學生精心選擇和組織不同的教學任務,更新教學方法,并對其過程和結果進行客觀、科學的評價,這樣才能達到“任務驅動”的實際意義,最大程度地調動學生的動手能力、思維能力和設計能力,從而培養出具有自主性、創造性及協作精神的技能型人才。
參考文獻:
[1]王沛,康廷虎.建構主義學習理論述評[J].教師教育研究,2004,(5):17-21.
[2]譚浩強.C程序設計[M].第四版.北京:清華出版社,2010.