覃慶環(huán)
摘 要: 本文針對高職非計算機專業(yè)《C語言程序設計》教學過程中存在的學生基礎知識薄弱而C語言抽象、知識點多等問題,闡述“采用分段、任務驅(qū)動的教學模式,培養(yǎng)學生對C語言程序設計課程的興趣,以實踐訓練和項目設計為手段,突出程序設計思想和方法”的教學理念。
關鍵詞: 教學淺析;任務驅(qū)動;實踐訓練;項目設計
C語言程序設計課程是高職院校各專業(yè)的基礎課,對后續(xù)課程的學習起著舉足輕重的作用。一直以來,C語言教學都是圍繞語法知識這個主線展開,按照數(shù)據(jù)類型、運算符、變量操作的順序來學習基本知識,按照數(shù)組、函數(shù)、結構體的順序來學習程序結構。這種線性教學模式可以循序漸進地把教學內(nèi)容傳授給學生,但是很難鍛煉學生的抽象思維和解決實際問題的能力。也很難使學生形成對編程的興趣,為了改進目前C語言教學的這種現(xiàn)狀,結合本人幾年來的教學經(jīng)驗,談談幾點教學方法。
一、注重實踐,分段教學
C語言是一門實踐性比較強的課程,在課程設置上應該采取課堂教學和上機實踐1:1,使學生在聽了理論內(nèi)容后立即能夠自己進行實踐,學習的目的在于應用,希望學生能夠重視實踐環(huán)節(jié),不滿足于“上課能聽懂,教材能看懂”,而是自己去琢磨程序的思路和方法,鼓勵創(chuàng)新。在教學過程中,對該課程采用分段教學,即將本課程的內(nèi)容按結構分為4個階段,每個階段獨立學習與獨立參加考試,目的是為了讓學生在上一個階段掌握大部分內(nèi)容的基礎上去學習下一個部分,直至全部內(nèi)容系統(tǒng)地學完。
二、以任務驅(qū)動加強程序設計課程的實踐教學,培養(yǎng)學生的學習興趣
(1) 結合學生情況,精心設計任務
任務驅(qū)動實施實踐教學模式,根據(jù)教學目標和學生實際制定具有真實性、整體性、開放性、可操作性、和適應性的任務,在設計任務時,必須考慮到學生現(xiàn)有的知識結構和能力水平,讓學生調(diào)動原有的智力背景來構建新的知識體系。
(2) 分析任務、探索研究
提出任務后,讓學生討論、分析任務,根據(jù)實際情況提出問題,要采用先粗后細,逐步求精的方法,需要學生通過自主探索完成對問題的理解、知識的應用和意義的建構,在完成任務的過程中再去解決相應的問題。
(3) 邊學邊實踐,完成自主學習任務
在任務的引導下,學生邊學邊實踐。精心設計的任務貫穿整個學期,與理論教學進度相一致。邊學邊實踐的過程中,學生始終處于主體地位。在教師的引導下,學生充分發(fā)揮主動性和創(chuàng)造性,不僅讓學生親身感受認知的過程,而且培養(yǎng)提高學生解決問題實際能力和創(chuàng)新意識。實際上任務的完成標志著學生實踐能力的提高,學生也能體驗到任務完成后的成就感,從而激發(fā)他們進一步學習興趣和積極性。
三、項目化教學模式的使用
項目化教學模式采用引導式的教學方法教師在提出項目或任務之后,給學生足夠的時間去分析問題和尋找解決方案。在教學展開初期,學生應該思考如何設計功能,選擇正確的技術來解決問題。當然在這個過程中必然會有很多無法解決的問題,這就需要教師講解,這些講解內(nèi)容往往正是教學的重點和難點。以往的教學重點和難點都是抽象的、難懂的,學生常對其有抵觸情緒,而在項目化教學法中這些問題都是學生提出的,學生對于解決問題是有興趣和動力的,必然會投入更多的熱情。另外,項目化教學采用項目作為引導學生學習的載體,其中蘊涵的模塊化設計和團隊合作的思想也是軟件開發(fā)的精髓所在,學生在教學過程中也潛移默化地積累了系統(tǒng)開發(fā)的經(jīng)驗,這對其他的高級軟件程序設計語言學習也是一個很好的基礎鋪墊。
四、突出程序設計的思想和方法,淡化語法細節(jié)
以程序設計的思想和方法為主線,淡化語法細節(jié)教學。C語言比較抽象且涉及知識點多,若在授課過程中過多地講授C語言的細節(jié),將會導致學生忽略對程序設計基本思想和方法的學習。面對不斷更新的軟件開發(fā)環(huán)境,學生若不能以程序設計的基本思想和方法為指導,將會降低學習新知識的效率,從而對學習和工作產(chǎn)生不利影響。
五、建立立體教學環(huán)境,拓展學生的學習時空。
隨著信息技術和現(xiàn)代教育技術的發(fā)展,網(wǎng)絡、手機、電腦的便捷使用,我們可以建立了課程網(wǎng)站,將課堂講義、課件、習題解答指南、應用項目開發(fā)案例、自我測試題等上傳到網(wǎng)上,并且實現(xiàn)網(wǎng)絡答疑,網(wǎng)上提交作業(yè),開展網(wǎng)絡討論,拓展了學生學習的時空,使學生任何時刻只要有網(wǎng)絡,即可進行學習交流。
六、充分考慮學生的特點,靈活運用各種教學方法與手段。
本課程的教學內(nèi)容中已經(jīng)融入了任務驅(qū)動教學法和項目教學法,充分考慮高職學生學習的特點,我們給學生提供了自主學習的機會,而不是被動地接受知識。當然,由于學生的層次差異,以及自我管理能力的不同,同時也為了進一步強化知識和技能,每次任務和項目進行過程考核外,還會靈活地采用傳統(tǒng)的教學及考核方法。例如,開始入門的時候要求學生抄寫一些典型程序,以理解程序編寫的思路;中間的時候,對于常用的算法,要求學生理解的基礎上加強記憶,因此默寫如冒泡排序等典型算法也是一種考核方法,這些方法的綜合運用,收到了較好的教學效果。
教學中,還要考慮各種教學手段的運用,例如,常用的多媒體課件能夠?qū)㈦y于理解的抽象概念及過程,解釋得更加形象生動。其實,在我們身邊還有更好的可以用來解釋抽象過程的資源,那就是學生。例如,冒泡排序算法,這是教學的一個難點,除了用多媒體課件進行演示外,可以請學生把這個過程進行更加生動有趣的演示,增強算法講解的趣味性,使學生在活動的過程中,掌握冒泡排序算法,加深理解與記憶。
結語
高職院校c語言程序設計課程的教學改革,不是一撮而就的工作,需要經(jīng)過長期的實踐與總結,才能收到較為理想的效果。在改革過程中,我們必須認真研究教學目標、教學對象及教學方法,尤其是教學對象。近年來,高校錄取率不斷提高,學生的個體差異越來越大,使教學的難度也越來越大,因此教學改革將是一項長期探索的工程。