摘要:《C語言程序設計》作為計算機程序設計的基礎,是理工科類本科學生的一門必修課。文章將傳統教學模式和“任務驅動式”教學模式進行了比較,指出:在《C語言程序設計》課程教學中,教師應該把“適用、實用”作為教學的首要目標,將“任務驅動”教學方法用于《C語言程序設計》課程的教學實踐;知識及技能的傳授應以完成典型“任務”為主,以便提高教學效果和教學質量。
關鍵詞:教學模式;任務驅動;c語言程序設計;教學實踐
0 引言
《C語言程序設計》作為計算機程序設計的基礎,是理工類本科學生的一門必修課,尤其是C語言對計算機硬件具有很好的編程能力,使其在工科教學中的生命力越來越強。我們學院在C語言的教學上基本上還是采取傳統的教學模式:按照C語言教材自身的內容上課、上機,采取筆試形式考試。這樣的教學模式使得學生過分注重C的語法、語句等規則,而忽視了對編程思路的培養,學生獨立分析問題和解決問題的能力沒有很大的提高,給學生參加全國等級考試以至后續課程的學習留下了隱患。下面就作者在C語言教學過程中的經驗談談想法。
1 傳統教學模式
傳統教學模式是以教師作為課堂的中心,以廣大學生為講授對象,以課本作為講授的主線。雖然現在教學環境大都采用多媒體大屏幕,操作方便,易于控制教學內容和節奏,能在規定課時內呈現較多信息量;但是學生往往處于被動學習狀態,教學內容難以適應學生的個體差異,所有學生被迫按照老師的講授速度進行學習,不利于培養思維能力與創造能力。
上機實踐課上通常老師會事先布置幾道編程題,但是學生上機目標不是很明確,問的問題多數是屬于同一類問題。老師不停地在機房各處一一解答,既浪費時間,也沒取到很好的效果。學生在機房沒有緊迫感,甚至有些學生覺得無事可做,就會打游戲等。這種上機方式不利于培養學生的動手能力和自我解決問題的能力。
學生學不好C語言主要是因為C語言教學的重點不是放在如何解決問題上,而是把大部分的時間放在講解語法規則和語句格式上,其后果就是學生一拿到任務后首先琢磨如何定義變量,用什么語句,而不是對問題進行合理的分析,考慮最佳算法,這樣當然覺得很難而且也設計不出好的程序。學生參加全國等級考試的通過率很低也就不足為怪了。
2 “任務驅動式”教學模式
采用“任務驅動式”的教學方法,知識及技能的傳授以完成典型“任務”為主,有利于提高學生利用計算機進行自主學習與解決問題的能力。
2.1 教學內容的改革
我們把通過全國計算機二級考試作為學習c語言的目標,針對等級考試大綱來確定教學計劃以及教學內容。為此,我們從第一堂課起就強調并要求學生通過全國二級考試,既讓學生明確短期學習目標,又放眼長遠的努力方向,以激發學生進行自主學習的主動性。我們將教學內容分離為幾個相對獨立的模塊,即結構模塊、數組模塊、指針模塊、函數模塊和文件模塊。模塊的內容要循序漸進,把握好由易到難,由簡單到復雜的教學過程,否則容易使學生一開始就產生一種畏懼情緒,失去學習興趣。然后,力求概念準確,分散難點。各模塊的教學目標要十分明確,教學量適中,讓學生很容易把握住教學要點,理解和掌握教學內容。
2.2 設計好實驗任務
實驗任務的設計包括任務的提出與分解、最終達到的目標、解決問題的方法等。目的性要強,任務要明確,這樣才能很好地緩解計算機基礎課程實驗教學中學生無事可做,玩游戲、上網聊天等現象。要培養學生限時編程的良好習慣,要求學生在規定的時間內編寫和調試好給定的程序。通過這些基本功的訓練,學生在具備了扎實的計算機程序設計能力后,就較容易通過全國計算機二級考試。
在程序設計語言教學中,算法是程序設計的靈魂,學生編寫不出程序的首要原因是設計不出—個合適的算法。因此,在教學中應對常用的算法結合典型實例進行詳細地講解,強調算法的步驟,讓學生對算法有比較深刻地了解,并鼓勵學生從不同角度去思考問題,對于同一個問題的解決用多種方法來實現。這樣有助于拓展學生的思維,增加學生對學習C語言的興趣。
例如:計算n!
我們可以采用遞歸法:

2.3 學習成績評價方式的改革
采用“筆試+上機考試”的評價方法可以提前讓學生體驗全國等級考試的過程。同時,兩種形式考試都通過才算這門課程通過,也能促使學生在學習c語言的基本知識之外加強編程實踐,讓學生學到c語言的語法規則的同時也掌握了程序設計的方法。
3 結束語
C語言是一門實踐性很強的學科,除課堂上的理論講解外,實踐教學也是非常重要的。采取“任務驅動式”教學方法,對學生每一節課上完成的“任務”打分,可以激發學生的興趣,使得學生在學習過程中不僅學到了理論的知識,而且掌握了為完成一個任務而需要的各方面的知識和技巧,同時也培養了學生的創新意識、創新能力以及自主學習的習慣,讓他們學會如何去發現問題、思考問題、并且尋找解決問題的方法。盡可能地多讓學生上機實踐,以便應用和鞏固所學內容,更為今后學習其它專業知識及開發程序打下堅實的基礎。