孫惠娟
摘要:在普通高校c語言教學中,多側重于理論講解,以室內課堂教學為主要形式,在知識體系傳授上忽視了對學生實踐技能的培養。c語言作為程序設計基礎課程,因其自身特點在教學中面臨更多的問題。為此,本文將從高校計算機專業角度,從c語言教學現狀及問題入手,來探討相應的改進思路和解決方法,特別是通過實踐性教學,為激發廣大學生對c語言學習的正確認識,理解并主動學習c語言,培養學生的職業技能。
關鍵詞:高校;計算機專業;c語言;教學現狀;改進策略
中圖分類號:G434 文獻識別碼:A 文章編號:1001-828X(2016)004-000454-02
近年來,信息技術的發展成為未來產業升級的重要方向,而計算機技術,尤其是計算機軟件開發人員需求將更大,特別是企業管理現代化對信息技術人才提出更高要求,而具備多種應用技能的復合型人才將是計算機教育專業開展人才培養的重要目標。從全國普通高校計算機專業人才教育現狀來看,無論是非計算機專業還是計算機專業學生,都開設有計算機程序設計課程,這些課程都能夠幫助學生獲得計算機二級考試,也能夠增強學生的信息素養,提升未來崗位就業能力。c語言作為程序設計的基礎理論課程,盡管在高校計算機專業開設多年,但因c語言自身特點,學生在學習中還遇到較多問題,特別是C語言編程及應用,學生并未深刻理解。為此,結合當前c語言教學實際,從專業角度來探討積極的改進教法,并提出有效的教學對策。
一、當前高校c語言教學現狀
高校計算機專業c語言教學是程序設計課程中的基礎,特別是在理工類學科中,C語言已經成為必修課之一。另外,對于其他程序設計語言,如Basic語言、Fnxpm語言多為文管類及藝術類學生的必修課。我們從近年來理工類高校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語言課程與其他專業課程之間的關系,增強學生對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語言上機實訓課程教學應該放到重點,一定要讓學生從課下進行準備,并通過實訓和測試,對于問題進行提出,針對問題進行探討,特別是同學間、師生間的交流,來強化程序設計教學質量。另外,在班級學生分組上,根據人數來進行小組化學習,結合實驗老師的輔導,讓學生從小組探討和互助學習中來解決問題,對于集中的問題再由教師來解決。這樣以來,小組內學習和師生交流能夠強化學生的協作能力,發揮各自積極性,提升教學實效。
三、結語
c語言教學實踐性是其特點,對于實驗教學要給予重視,通過課堂教授與上機實驗,發現學生學習中的問題,并從問題中來優化教學思路,改進教學方法,增強教學效果。需要強調的是,實驗教學在實施中也要注重漸進性,前期可以通過基礎性的實驗題目,讓學生從上機測試中來感受c語言的功能和特點,并激發學生對c語言的學習熱情;在分組實驗上,利用學生對程序設計的興趣,優化不同的程序設計教學作業系統,通過學生課下查閱資料、編寫程序模塊、上機調試程序、完成編程作業、撰寫編程報告等流程,從發現問題、分析問題、解決問題中增強對程序設計的邏輯思維能力,尤其是在學生間、師生間交流互助學習中,強化學生團隊協作能力、創新精神的養成。