C語言程序設計課程是一門計算機專業(yè)程序設計語言類的基礎課程,如何將枯燥復雜的語法、單調抽象的函數(shù)讓學生們有興趣學習、研究。文章通過在C語言程序設計這門課教學的設計,淺談了自己的見解和方法。
大多數(shù)計算機專業(yè)學生首先開設的編程語言類課程就是C語言。不少同學覺得C語言學習比較困難,因為是第一次接觸計算機程序語言,與計算機進行編程對話,掌握對話的語法格式確實需要一個過程。而且C語言的語法知識廣泛,需要學生反復地做算法類的編程練習,就容易使學生不感興趣,不愿寫程序,進而覺得入門困難。但是C語言是學習其他語言的基礎,其語法結構同其他語言有50%以上的相似度。而各種程序語言程序設計的思想基本相同,都是通過分析功能、組織算法、編碼實現(xiàn)。所以C語言程序設計這門課程主要任務是培養(yǎng)學生掌握C語言的語法結構,了解功能分析、設計、編碼實現(xiàn)的過程,培養(yǎng)學生分析問題解決問題以及邏輯思維的能力。這些能力的形成與學生的學習過程密切相關,而學生的學習過程很大程度上又決定于教師的教學方法。
1任務驅動式教學法在“C語言程序設計”課程教學中的運用
1.1 任務驅動式教學法介紹
在實際教學中發(fā)現(xiàn),教師講授知識點、語法,學生聽講、記筆記這種單一的講授教學方式,當下的學生已經(jīng)非常不喜歡且不適應被動的教學方式,他們渴望通過自己的努力去建構知識,利用知識去解決實際的問題。任務驅動式教學法在課程中穿插如具有實際意義的功能項目,并將項目進一步細化為子任務的方式,以驅動學生有效學習的教學方法。
理論知識是項目任務驅動教學法的基礎:在進入每章課程學習之前,先概括本章重要知識點,然后導入和這些知識點相關的具有實際意義的項目,作為本章內容的貫穿實例。這樣帶著任務有目的的學習,增強學生自主學習能力。這種教學模式能將理論和實踐緊密的結合見效快、教學效果明顯。任務驅動法強調的是教師在教學過程中以案例為主體,讓學生在案例分析的過程中生成任務感,并以任務完成為動力對學生實施的教育。
1.2實踐任務設計
在C語言程序設計這門課的教學實施過程中,根據(jù)主要知識點,將“超級工具”這個C語言程序作為整個課程的項目實例。超級工具中包括算術計算器、體質測量器、圖形面積體積統(tǒng)計、數(shù)據(jù)加密、彩票號生成器、日常消費統(tǒng)計等工具。實例中涵蓋絕大多數(shù)理論知識點,以理論知識點為基礎,以“模塊化程序設計”為主線,讓學生在做中學,在學中做。
1.2.1 理論知識鋪墊
程序設計語言類課程理論知識是進行程序設計的基礎,首先學生要將基礎知識掌握扎實。實例的運用也是為了讓學生產生興趣,理解理論知識究竟如何應用,而不是將知識學死。所以在理論課知識點講授之前,先將應用的實例進行簡單介紹,讓學生自己先查詢資料,進行預習,帶著目的學習理論知識。這樣當老師在課堂上進行知識點講解時,學生更容易理解。將項目實例需要的理論知識講解之后,留給學生獨立思考項目功能,組織解決方法的時間,使學生更好地消化理論知識,真正掌握應用方法。理論知識一定要掌握扎實,這樣才能在功能實現(xiàn)時靈活應用。
1.2.2 任務功能分析分解
C語言程序設計課程要求學生掌握模塊化的程序設計方法。具有實際應用價值的功能項目的引入,激發(fā)了學生的學習興趣。在進行項目分析時,教師還可以結合實際生活中其他領域的模塊化設計思路,以讓學生初步體驗何為模塊化分析方法。學生在計算機語言學習過程中觸及模塊化思想時,會增加學習積極性。而且模塊化設計的應用實際上降低了學生對程序語言的畏難心理,明白一個完整功能通過模塊化的思路如何轉化為多個小任務來完成。而這樣的思路形成,又為任務驅動奠定了基礎。
2、任務驅動式教學實施
2.1 課程內容優(yōu)化
C語言課程理論基礎知識多,內容抽象,而且是學生最先接觸的編程語言類課程,課程內容的設計上應該根據(jù)學生特點及本專業(yè)后續(xù)多門專業(yè)課程的相關性對教學內容進行優(yōu)化。以難度適中、知識夠用為原則,提煉C語言重點講授內容,幫助學生從宏觀上掌握編寫計算機程序的方法。例如C語言的基礎語法、程序設計結構、數(shù)組的使用、結構的定義方法、函數(shù)的定義及調用都要在授課內容中重點覆蓋到。而難度較大的指針,則可以根據(jù)學生基本情況概講、略講。
2.2 課程實踐實現(xiàn)
將課程分為理論課和實踐課兩部分,兩部分所占的比例,可根據(jù)項目任務的規(guī)模靈活調整。
首先進行理論課,開始上課就先介紹通過本堂課的知識,大家要完成怎樣的任務項目,讓學生明確自己要實現(xiàn)的目標。由于授課時長為一個半小時,再介紹完任務項目后,就進行相關理論知識的講解。堂課時間分配為理論知識點講解、教師實例編程、學生知識點代碼訓練比例為3:1:1,讓學生通過代碼實例理解知識點,為任務項目功能實現(xiàn)打好理論基礎。
實驗課是將一個具體任務項目付諸于實現(xiàn)的關鍵過程,為了更好地調動學生的學習積極性及相互溝通合作能力,可以將班級學生分為若干個小組,以小組為單位進行任務分析、實現(xiàn)。按照程序設計步驟首先分析任務的主要功能,討論實現(xiàn)功能所要應用的關鍵技術,最后應用理論知識點解決實際問題。以生成隨機彩票號的應用為例,根據(jù)功能分析結果為“每張彩票組成數(shù)由1至22個數(shù)字中隨機產生5個,并將這5個數(shù)字進行從大到小的排序”。為實現(xiàn)該功能需求需應用的知識點包括隨機產生指定范圍內數(shù)字的方法及將給定一組數(shù)字如何進行排序。這樣學生通過理論課和實踐課的相輔相成,才能真正掌握每個任務的從分析問題到找出解決方法,到最后付諸以實現(xiàn)的完整過程。
3.結語
從實際教學效果來看,通過任務驅動式教學法在C語言程序設計課程中的應用,增強學生學習的積極性和主動性。學生不但對理論知識有了深刻的理解,更能夠根據(jù)實際任務應用對應知識解決,大大提高了學生的程序設計思維和編程能力。
參考文獻
[1]曹莎莎.C語言教學研究與思考[J].價值工程,2012(1).
[2]金秋春;童小利.C程序設計教學方法探索[J].科技信息,2012(4).
[3]高春穎;張云峰;馬慧敏.《C語言程序設計》教學中存在問題及改革探索[J].電腦知識與技術,2011(17).
作者簡介:潘艷祿(1976.3.12),女,漢族,遼寧,講師,碩士,主要從事軟件工程教育研究。