趙曉紅
(武漢鐵路職業技術學院,湖北 武漢430205)
隨著計算機專業的逐漸成熟,計算機人才在社會各個崗位上發揮著重要作用。而C語言作為當前最為流行的程序設計語言之一,綜合了高級語言和匯編語言的特點,具有很強的實用性,因此高職院校開設C語言教學是必然。目前,大多數高職院校將C語言課程開設為計算機專業的公共基礎課,也就是計算機專業學生的必修科目,這是對C語言教學的重要性的認可。但是C語言這塊難啃的骨頭卻經常讓計算機教師皺眉頭,主要由于C語言與其他的高級計算機語言所不同,它與系統的底層軟件資源更為接近,在學習編程時讓學生雖然可以直接控制計算機的底層硬件,深入到系統底層,但無形中增加了教學難度,使得教學任務不易完成。
在大多數高職院校,C語言是新生入學所開設的第一門課,一方面C語言操作靈活、功能豐富、表達能力強,另一方面,由邏輯性強、數據類型多所帶來的教學困難一直存在。筆者結合自身教學經驗,從以下幾點分析C語言教學現狀:
其一,受傳統“填鴨式”教學方法的影響,教師依舊以講授為主,不注重引導學生主動學習,使得學生在知識的學習過程中被動,久而久之,學生也懶于思考,最終失去了學習興趣。
其二,高職學生入學成績普遍偏低,基礎較差,知識的積累不足,因此C語言成為計算機教學中的一個薄弱環節。再加上學生缺乏學習興趣,課上不積極參與,課后不及時復習,學生的學習潛能沒有完全被激發出來,因而越學越難懂,最終使C語言課程淪為晦澀難懂、枯燥無味的一份子。
其三,忽視教學實踐。在高職院校,C語言學習普遍存在“重理論,輕實踐”的問題,學生只知道學習課本內容,而沒有將課本內容用于實踐的意識,缺乏動手能力。據筆者觀察,大多數學生在機房上機實踐是為了完成教師布置的作業,遇見不懂的問題時,很少有學生主動詢問教師,大多都是得過且過,無視操作中得邏輯錯誤與語法錯誤;有些學生甚至還把寶貴的上機時間大把大把地浪費掉,玩游戲、逛網頁、聽歌,即使課程學完了也不會基本的操作。
C語言是一門較難的課程,而且常常是新生入學的第一課,如何引導學生正視C語言的學習,讓學生對這種來勢洶洶的開端感興趣,是教師應該做好的工作。教師一方面要擺正自己的位子,做好角色定位,另一方面還要循序善誘地鼓勵學生愛上C語言教學,在學習中主動探究,開展互動,達到“事半功倍”的效果。
首先,重視教材,讓學生對教材感興趣。在第一次上課時,教師可以多給學生講一講C語言這門學科的研究與應用現狀,并結合學生的專業談一談C語言這門課程的重要性,適當“吹捧吹捧”C語言的專業地位。
其次,重視教學中案例分析。如果教師只是干巴巴地講理論知識,學生的熱情就會很快消耗殆盡,這時教師就可以避開枯燥的理論知識,在課堂上展示相關的案例,比如“黑白棋游戲”、“泡泡堂”等利用C語言開發的游戲項目,分析這些游戲的圖形界面和動畫效果,使學生因為好奇而再次形成學習興趣,從而將書本枯燥呆板的理論陳述削弱掉,值得注意的是,有些案例因為過于復雜,多行代碼也會引起學生對C語言學科的恐懼,這時教師就應該簡化案例,現場演示編制帶有輸入及輸出的幾個簡單案例,并鼓勵學生模仿老師的步驟一起學習,一旦學生看到了自己的學習成果,就會立即調動起學習熱情。
最后,培養學生自主探究的能力。學生的探究興趣與自主學習常常是同步進行的,教師在教學過程中,不僅要將理論知識講解到位,還應該傳授給學生學習方法,通過與學生交流學習經驗讓學生學會自學,并給予學生學習方向,讓他們學會聽課,并主動練習編程。比如在學生剛開始接觸到C語言時,教師應該避免讓學生自己編程,這樣很容易使學生因而難度太大而產生畏懼。這一階段,教師更應該花更多的時間教會學生“讀程序”,在讀程序的過程中,學生不僅會對C語言有一個整體的把握,而且還能夠熟悉一些專業術語,因而“讀程序”是C語言學習最快的入門方法。
多元化的C語言教學方法有助于突出教學重點。在實用性方面,教師可以利用“淡化語法,強調算法”的方法完成教學;而在一些比較抽象的內容,教師可以多利用多媒體教學,通過動態模擬直觀地感受抽象的內容。
筆者將以“選手得分排序”這一單元為例,簡述多元化的教學方法:
一方面,利用情境教學增強直觀感受。排序的算法是“選手得分排序”這一單元的重難點,直接按照教材上得內容來教學,學生可能會聽得云里霧里,而要想教好排序算法,筆者選用了情境教學的方法。在課堂開始之前,我會隨機找幾個同學,讓他們自由組合,站成一排,然后再請一個同學起來“指揮”,以高矮順序來排隊,然后將“比身高、互換位置”的過程記錄下來。完成這一系列行為之后,筆者開始總結:“這就是一個排序的過程,而描述這個流程的過程就是排序的算法”。在情景教學中,教學難點被轉換成教學的興趣點和亮點,課堂的氣氛也比較輕松和諧,不僅教會學生排序算法,也促進了學生解決問題能力的提高。
另一方面,巧用多媒體。多媒體課件集聲音、畫面、視頻于一體,具有直觀、生動的特點。C語言教師應該在備課時能夠制作聲情并茂的多媒體課件,用動態模擬情境的方式還原流程算法的推導過程,對于需要注意的語法知識也給予相應的提示,就能夠有效地吸引學生注意力,使學生全神貫注地學習,并在課后運用C語言的相關語句練習程序代碼的簡單編寫。
教師還可以結合案例與任務,通過“案例+任務”的形式帶動教學,以學習任務為導向驅動教學的開展。其中“任務”的安排必須與學生的學習狀況相符合,難易合理搭配。在完成任務的過程中,還應該重視學生的主體地位,當學生遇到難易理解的問題時,教師應該耐心指導,不可打罵、侮辱學生。另外,教師還可以結合生活實際,將“案例+任務”的教學方法以主題任務的形式呈現出來,讓其發揮出現實意義,幫助學生在動態的學習過程中思考、探索。比如教師可以將制作檔案管理系統的任務安排給學生,在做好基本功能的分析之后,讓學生以小組為單位制作檔案系統,并在現實生活中運用。
總之,高職C語言教師應該認清C語言教學的現狀,更新教學思想和方法,以“教師為主導、學生為主體”為原則,重視學生的學習興趣,并運用多元化的教學方法來完善教學課堂,耐心引導學生,使學生在良好的教學氛圍中愉快地學習。
[1]沈俊慧.高職院校C語言教學方法探索[J].淮陰師范學院學報:自然科學版,2013,3.
[2]戚娜.高職院校C語言實踐教學質量提升的探討[J].河北能源職業技術學院學報,2014,1.
[3]劉宇容.高職院?!禖語言程序設計》課程教學改革與實踐[J].廣東農工商職業技術學院學報,2014,1.
[4]劉瑛.高職院校C語言教學改革探討與實踐[J].網友世界,2013,13.
[5]張梅嬌.初探高職高專院校C語言教學方法[J].計算機光盤軟件與應用,2012,5.