王竹云
(浙江財經(jīng)大學 信息管理與人工智能學院,浙江 杭州 310018)
“C語言程序設計”是計算機專業(yè)及相關專業(yè)重要的專業(yè)基礎課。C語言功能豐富,表達能力強,使用靈活,應用面廣,目標程序效率高,可移植性好,既具有高級語言的優(yōu)點,又兼有低級語言的特長。因此C語言既適用于應用軟件開發(fā)編寫,同時也適用于系統(tǒng)軟件研制的編寫。該門課程主要培養(yǎng)學生的程序設計理念,使學生掌握程序設計的基本方法,為后續(xù)專業(yè)課程(數(shù)據(jù)結構、C++、C#、Java等)打下堅實的基礎,并培養(yǎng)學生利用C語言解決實際問題的能力。同時,該課程也是全國計算機軟件資格與水平考試、浙江省計算機等級考試的程序員必考課目,在計算機專業(yè)及相關專業(yè)中是一門舉足輕重的課程。但在“C語言程序設計”課程教學中,許多教師和學生都認為C語言涉及的概念比較復雜、規(guī)則繁多、容易出錯,教師教學和學生學習都感到有一定的困難,并產(chǎn)生不同程度的畏難心理。特別是我們大多數(shù)高校將C語言作為計算機專業(yè)進校后首先接觸的第一門專業(yè)基礎課,這種現(xiàn)象尤為明顯。在教學過程中,筆者根據(jù)多年來的教學實踐,積極地進行了教材選擇以及教學內(nèi)容、教學方法、教學手段和考核方式的改革,取得了一定的成效。
對學生來說,教材不只是學習的起點和基礎,它還應該是學習的一條線索。筆者認為,“C語言程序設計”課程的教材應具有如下特點:理論上講解清晰,實踐上有章可循,循序激進,深入淺出;有習題可供實踐、有問題可供思考,例題要精選。按上述思路,我們選定了由電子科技大學出版社出版、王希杰主編的《C語言程序設計》教材[1]。該教材根據(jù)建構主義思想設計,形式新穎,采用梯度結構,層次分明,目標明確;在每一章節(jié)里都設置足夠多的例題、疑點、問題,讓學生帶著問題看書、學習,能充分調(diào)動他們學習的主動性;通過做習題使學生自己知道對學習內(nèi)容的掌握程度,以便調(diào)整學習時間和學習進度,實現(xiàn)學完一章掌握一章。
“C語言程序設計”課程教學內(nèi)容圍繞兩個目的進行組織:一是打好程序設計基礎,為今后從事軟件開發(fā)提供必要的學習支持;二是培養(yǎng)學生形成良好的邏輯思維能力,提高分析問題的能力。該課程重點在于培養(yǎng)學生C語言的基本應用和編程能力,弱化部分難、偏的內(nèi)容。因此,應研究每塊教學內(nèi)容的教學目標、重點、難點及案例,認真分析實驗內(nèi)容,使教學內(nèi)容重點突出,難點分散,能啟發(fā)學生思維、培養(yǎng)學生能力和引導學生創(chuàng)新。
由于計算機技術發(fā)展相當迅速,作為教師,應該認真分析專業(yè)需要,不斷地更新課程體系和教學內(nèi)容,補充先進知識。在教學內(nèi)容的安排上,突出課程中的重點難點,淡化不重要的內(nèi)容,突出3大結構化程序設計內(nèi)容(順序、選擇、循環(huán)),要求講精、講細、講深;突出3大應用模塊(數(shù)組、結構、文件),要求舉一反三、實例鞏固。同時,加大算法分析內(nèi)容,將部分計算機經(jīng)典算法引入課堂中,增加程序編寫的趣味性與靈活性。
一是在課堂中運用啟發(fā)式、任務式、案例式的教學方法,始終讓學生帶著問題思考、帶著任務做題,以案例驅(qū)動教學,激發(fā)學生學習興趣,發(fā)揮學習的主動性和創(chuàng)造性。
二是采用現(xiàn)代化教學手段進行輔助教學,實施多媒體課件與板書相結合的教學模式。從學生反映看,課件畫面清晰,內(nèi)容簡練,不但上課時能獲得重要知識點,同樣適合課后復習用。同時改變了原來“教室講課,機房實驗”的單一形式,加大了課堂教學內(nèi)容,對一些特定要求的章節(jié),安排到機房教學,通過邊講邊練習開展教學活動。
C語言程序設計是一門實踐性很強的課程,既要掌握概念,又要動手編程、上機調(diào)試運行,教師應重視實踐環(huán)節(jié),多指導學生編制程序和調(diào)試程序。
該課程實踐環(huán)節(jié)以提高學生獨立解決實際問題的能力為目標,進行問題分析、選定算法、編制程序、上機調(diào)試、文檔資料收集等程序設計過程的訓練,使學生在鞏固書本理論知識的基礎上,加深對程序設計基本概念和編程思想的理解和掌握。實踐內(nèi)容分為上機實踐和課程設計兩部分,有統(tǒng)一實驗大綱和課程設計大綱,并配有教師自編的實驗指導書。實驗內(nèi)容按照由淺入深的認知過程進行設置,每個實驗項目均設置驗證實驗和設計實驗兩個層次。
在上機前,弄清上機實驗的指導思想和要求,編寫好程序,認真檢查、反復思考。上機時,輸入程序并完成語法檢查,再運行程序,檢查運行結果。實習結束,完成實驗報告,重點是調(diào)試程序的過程及經(jīng)驗總結。
C語言上機是把自己的智慧在電腦上實現(xiàn)運行的過程,同時可以提高實踐能力和培養(yǎng)興趣,對進一步理解C語言具有很好的促進作用。通過調(diào)試程序,暴露和發(fā)現(xiàn)編程過程中的習慣性錯誤,也有利于培養(yǎng)良好的編程習慣。教師在指導實驗時,應讓學生獨立解決問題。在學生解決問題和探索的過程中遇到困難不能獨立完成時,教師給予及時的指導與解答。這樣既鍛煉了學生獨立調(diào)試程序的能力,又增強了學生解決困難調(diào)試程序問題的信心。
同時,對學生的實驗課當堂考核,對實驗報告及時批改,大大提升了實驗教學效率和教學效果。此外,為提高學生的綜合設計能力,增加了綜合設計內(nèi)容,很好地鍛煉了學生的編程能力和獨立解決問題的能力。
C語言程序考試的基本要求是:掌握程序設計的基礎知識;掌握基本數(shù)據(jù)結構和常用算法,熟悉算法描述工具——流程圖的使用;熟練使用C語言編寫完整的程序;掌握程序調(diào)試方法并進行程序調(diào)試。
C語言統(tǒng)一考試的試題多為標準題(選擇題、填空題)、上機編程及改錯形式。然而,標準題主要為了便于大規(guī)模統(tǒng)一考試的組織和判分,不應該認為能正確答出標準題,就等于深入掌握了程序設計的全部知識和具有很好的編程能力了。所以課程考試還應以掌握C語言程序設計編程方法和提高程序調(diào)試能力為目的。上機編程及改錯題是對動手能力和程序調(diào)試能力的測試,只有通過平時程序調(diào)試能力的訓練,不斷積累調(diào)試方法才能獲得良好的效果。
考試方式改革:一是改革以往的考試由任課教師自己命題并且考核成績?yōu)槠綍r成績(30%)+考試成績(70%)的模式,實現(xiàn)教考分離,建立網(wǎng)上考試系統(tǒng),把平時測驗和期末考試有機結合起來;二是嚴格按教學大綱要求建立高質(zhì)量的試題庫,并根據(jù)教學發(fā)展積極探索考試內(nèi)容和方法的改進,不斷充實和完善試題庫。
“雙師型”的教師,要求教師既要能將課上好,又要能將實際應用帶入課程,使教學活動從實踐中來,又服務于實踐。隨著教學改革的深入,現(xiàn)代教育技術和成果的深入應用,以及應用型人才培養(yǎng)的需要,對老師素質(zhì)提出了更高要求。將實驗平臺搭建在課堂上,由于需要在課堂上編寫程序,而不是已編寫好的程序的展示,這就要求教師具有良好的計算機編程工具使用能力、字符輸入能力和程序設計能力及調(diào)試過程中程序出錯時的快速定位查錯與及時訂正、修改能力。對此,我們要求教師在日常工作中狠下苦功,勤練基本功,積極參與到教學改革實踐中,通過參與社會工程項目實踐、與IT企業(yè)合作、到企業(yè)中鍛煉以及與企業(yè)合作開發(fā)等方式,不斷積累項目開發(fā)經(jīng)驗,按“雙師型”要求提高自己,以項目、案例式教學為主,滿足了教學的需要。
C語言是計算機編程中最實用的一門程序設計語言。在教學中正確地掌握好教與學的環(huán)節(jié),相信一定能將“C語言程序設計”這門課程教好,使學生學好這門課。
教學實踐證明,本著教學內(nèi)容突出基礎理論知識應用和實踐能力培養(yǎng)的原則,緊緊圍繞著應用型人才培養(yǎng)的主線,培養(yǎng)學生程序設計的思想,提高學生程序設計能力,培養(yǎng)學生應用C語言開發(fā)軟件的能力,并在認真分析和研究的基礎上設計并實踐教改方案,以應用為目的,以“必需、夠用”為度,加強課程教學的針對性和實用性,效果顯著。