郭凌云
摘要:對高職學(xué)生開設(shè)C程序設(shè)計課程是為了提高他們利用計算機解決實際問題的能力,但是在實際教學(xué)中,學(xué)生獨立編寫、調(diào)試程序的能力和用C語言解決實際問題的能力較差,主要原因是學(xué)生學(xué)習(xí)的積極性不夠,教師在教學(xué)過程中沒有很好地激發(fā)學(xué)生的學(xué)習(xí)興趣,對實踐課程也不夠重視。筆者根據(jù)實踐教學(xué)經(jīng)驗,針對高職學(xué)生C語言程序設(shè)計課程教學(xué)過程中存在的問題進行了改革探索,并通過明確教學(xué)目標(biāo)、改革教學(xué)方法、加強實踐教學(xué)和改革考核方式等方法提高教學(xué)質(zhì)量,取得了良好效果。
關(guān)鍵詞:C語言;教學(xué)改革;綜合編程
中圖分類號:G642.0 ? ? 文獻標(biāo)志碼:A ? ? 文章編號:1674-9324(2015)23-0068-02
一、引言
隨著計算機技術(shù)逐步應(yīng)用到各個領(lǐng)域,如何全面增強學(xué)生的計算機應(yīng)用能力,是計算機教學(xué)的重點之一。目前程序設(shè)計類課程在多數(shù)高校已成為必修課,其中C程序以其語言簡練、數(shù)據(jù)類型豐富等優(yōu)點在系統(tǒng)軟件和應(yīng)用程序中應(yīng)用廣泛。C程序完全結(jié)構(gòu)化、邏輯性強,非常適合教學(xué),許多院校把C語言作為程序設(shè)計的入門課程,它是計算機專業(yè)的必修課,也是很多非計算機專業(yè)的公共基礎(chǔ)課,其重要性可見一斑。
高校的擴招以及各行業(yè)對各類人才需求增加,高職類院校學(xué)生人數(shù)也逐年增加。相比普通高等院校,高職院校更重在培養(yǎng)學(xué)生的實際工作能力,而相比普通高等院校的學(xué)生,高職學(xué)生有一定的文化知識儲備,動手實踐能力較強,但部分學(xué)生的文化素養(yǎng)偏低、意志力較差、缺乏學(xué)習(xí)興趣。針對高職院校學(xué)生開設(shè)C程序設(shè)計課程,教學(xué)效果往往事倍功半。
C程序教學(xué)過程中普遍存在教學(xué)學(xué)時緊張的問題,教師為了在有限的學(xué)時內(nèi)完成培養(yǎng)方案中要求的教學(xué)內(nèi)容,多借助多媒體課件進行講授,較少在課堂上示范編程及程序調(diào)試過程,而程序語言的概念、語法多而細,算法結(jié)構(gòu)枯燥難懂,學(xué)生較難入門;實踐性教學(xué)環(huán)節(jié)薄弱,缺乏針對專業(yè)要求的訓(xùn)練,學(xué)生主要對課堂上講過的例題或相似的習(xí)題進行驗證性實驗,不能很好地發(fā)現(xiàn)編程中會出現(xiàn)的問題,造成學(xué)生實踐動手能力差,難以實現(xiàn)技能培養(yǎng)目標(biāo);考核大多通過筆試的方式進行,不能有效地評價學(xué)生的學(xué)習(xí)情況,也不能很好地促進學(xué)生的實踐性學(xué)習(xí),也無法鍛煉學(xué)生應(yīng)用編程解決實際問題的能力。
本文針對我校軟件學(xué)院專科學(xué)生在C語言程序設(shè)計課程理論教學(xué)、實踐教學(xué)和教學(xué)考核等環(huán)節(jié)中存在的問題提出了改革方法,應(yīng)用在實際教學(xué)過程中獲得了良好效果。
二、教學(xué)改革探索
1.明確教學(xué)目標(biāo),精選教學(xué)內(nèi)容,改革教學(xué)方法。傳統(tǒng)C語言教學(xué)的目標(biāo)更多的是教學(xué)生程序設(shè)計語言,卻非程序設(shè)計,而高職學(xué)生在實際需求中更注重程序設(shè)計的能力。因此本課程改革的教學(xué)目標(biāo)是希望學(xué)生掌握簡單的數(shù)據(jù)抽象問題建模和簡單的算法等基礎(chǔ)知識,養(yǎng)成解決問題的能力和程序設(shè)計的能力,養(yǎng)成自我學(xué)習(xí)專業(yè)知識的能力,學(xué)會學(xué)習(xí)一門語言,熟練使用語言及其開發(fā)環(huán)境進行程序開發(fā)與測試的技能。C語言的計算能力強,語法知識豐富而細致,上機調(diào)試容易出錯,是一門比較難學(xué)的課程,C語言程序設(shè)計一般安排在大一第一學(xué)期,與它相關(guān)的課程沒有上,這也增加了學(xué)習(xí)的難度,學(xué)生比較難入門。因此,在開始學(xué)習(xí)的前幾節(jié)課,教師一定要注重激發(fā)學(xué)生學(xué)習(xí)興趣和學(xué)習(xí)主動性。提高教師自身素質(zhì),對所教課程鉆研精通,教學(xué)方法得當(dāng),精選教學(xué)內(nèi)容,精心設(shè)計課件,課堂演示編程和調(diào)試過程,提高學(xué)生的學(xué)習(xí)興趣。C語言語法豐富,但是如果過度強調(diào)語法知識的細節(jié)和容易出錯的地方,特別容易使學(xué)生陷入過度關(guān)注細節(jié),而忽略學(xué)習(xí)C語言的目標(biāo)在于應(yīng)用。在實際教學(xué)中要重點突出,把不常用的函數(shù)只簡單介紹,避免展開分析。在每節(jié)課之前,教師要對本節(jié)內(nèi)容進行精心設(shè)計,針對本小節(jié)的內(nèi)容提出一個與現(xiàn)實生活聯(lián)系較緊密且難度適中的問題,使用案例式教學(xué)法,分析問題,提出解決問題的方法,在分析問題、解決問題的過程中強化學(xué)生用編程解決實際問題的意識,在學(xué)生對該問題的程序所涉及的知識點和函數(shù)有了宏觀的認識后,然后講授與此相關(guān)的語法和函數(shù),演示編程和調(diào)試的過程,最終給出相應(yīng)的程序。另外,在教學(xué)過程中不應(yīng)過度依賴PPT等多媒體教學(xué)設(shè)備,也要發(fā)揮傳統(tǒng)教學(xué)媒體的作用,利用黑板對關(guān)鍵內(nèi)容進行板書演示,加強學(xué)生對主要內(nèi)容的理解和對知識點的消化吸收。在課堂上提出問題、分析問題的過程符合學(xué)生的思維特點,也符合程序設(shè)計的本質(zhì)要求,編程思想在理論教學(xué)中逐步加強,演示編程和調(diào)試過程,使枯燥的語法在解決實際問題的編程過程中得到具體應(yīng)用。
2.加強實踐教學(xué),針對不同的學(xué)生因材施教。C語言是實踐性很強的課程,大量的語法和算法應(yīng)該在實踐教學(xué)中得到應(yīng)用和鞏固,而編程思想也必須在實踐中逐步形成。在課內(nèi)外,教師要經(jīng)常通過各種方式與學(xué)生溝通,了解學(xué)生的計算機水平、對本課程的學(xué)習(xí)情況,以及在本課程學(xué)習(xí)中遇到的問題,對不同的學(xué)生實行因材施教,對學(xué)生集中反映的問題及時解決。在實踐教學(xué)過程中要對學(xué)生提出具體詳細的要求,使每個學(xué)生能夠盡其所能提高自己的實踐技能,避免學(xué)生在有限的實踐教學(xué)時間內(nèi)因為沒有具體的實踐任務(wù)而降低實踐教學(xué)的效果。我們將實踐教學(xué)分成入門技能、基本技能和綜合技能三個階段,在不同的階段對學(xué)生提出具體的不同要求,并且根據(jù)不同學(xué)生的能力靈活調(diào)整實踐學(xué)習(xí)的要求。(1)編程入門技能。這一階段主要是練習(xí)C語言基礎(chǔ)知識、各類運算符、表達式、輸入輸出語句。首先要求學(xué)生能夠看懂課本的例題,在編輯器VC++6.0中輸入例題中的程序,并調(diào)試運行出結(jié)果。在學(xué)習(xí)初期,學(xué)生一般會出現(xiàn)各種語法錯誤,在此階段可以強化學(xué)生的語法知識。一個好的程序一般是經(jīng)過多次修改和調(diào)試才能夠很好地實現(xiàn)它的功能,因此在C語言學(xué)習(xí)過程中,調(diào)試程序、改錯是一個重要的部分,學(xué)生熟悉課本例題后,教師可以給定一些能夠?qū)崿F(xiàn)特定功能的程序,要求學(xué)生改錯,直至調(diào)試運行出正確結(jié)果。這一階段可以是學(xué)生熟練掌握語法知識,獲得學(xué)習(xí)程序設(shè)計的成就感,并激發(fā)強烈的學(xué)習(xí)興趣。(2)基本編程技能。本階段教學(xué)內(nèi)容包括函數(shù)、數(shù)組和指針,在實踐教學(xué)中要求學(xué)生需要完成簡單的編程任務(wù)。這一階段要求學(xué)生能夠看懂程序的流程圖,給定程序后,學(xué)生應(yīng)該能夠清楚的知道程序的執(zhí)行順序,通過練習(xí)學(xué)會使用順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),改編課本例題、擴展原有的程序?qū)崿F(xiàn)更加完善的功能,使用數(shù)組、指針等新技能實現(xiàn)原有程序,實現(xiàn)一題多解,擴展解決問題的思路。教師給定實際生活中相對簡單的問題,用編程的思想對問題抽象建模,畫出流程圖,設(shè)計算法,并寫出相應(yīng)的程序來實現(xiàn)。(3)綜合編程技能。程序設(shè)計不能陷入到單純學(xué)習(xí)語言語法的誤區(qū),程序設(shè)計的語法是重要的,但是更重要的是用編程來解決實際問題。綜合編程階段教學(xué)內(nèi)容深入到結(jié)構(gòu)體、共用體和文件,在實踐教學(xué)過程中學(xué)生除了練習(xí)本階段編程的基礎(chǔ)知識外,教師提出實際問題,引導(dǎo)學(xué)生應(yīng)用所學(xué)知識分工合作解決問題,達到學(xué)習(xí)知識點、掌握編程技能的效果。教師在布置具體試驗任務(wù)時要考慮問題的難易度和趣味性,可以布置難易程度不同的多個任務(wù),學(xué)生根據(jù)自己的能力選擇不同的任務(wù)來完成,以充分發(fā)揮學(xué)生的主動性,避免能力較強的學(xué)生快速完成后浪費時間,同時也避免了水平較差的學(xué)生對實踐課程喪失信心和興趣,讓學(xué)生在學(xué)習(xí)中獲得成就感,在課堂上發(fā)揮主體作用。endprint
3.改革考核方式。教師在教學(xué)評價體系中增加對學(xué)生動手能力的激勵機制,能夠有效促進學(xué)生的實際動手操作的主動性。改變考試方式并不是一個教師所能進行的教學(xué)改革,但教師應(yīng)該在能力范圍之內(nèi)探索教學(xué)改革,增強學(xué)生的學(xué)習(xí)效果。我校的學(xué)生的成績評定中平時成績占30%,平時成績不應(yīng)該是學(xué)生出勤率的簡單體現(xiàn),而應(yīng)是多種因素的共同結(jié)果,教師應(yīng)注重對學(xué)生學(xué)習(xí)過程的評價,并將其作為平時成績的重要參考。實踐教學(xué)一般采用驗證性實驗和綜合性實驗的方式考核。驗證性實驗由學(xué)生獨立完成,綜合性實驗則分小組進行,學(xué)生對實驗的情況撰寫實驗報告,描述需求分析、算法設(shè)計、編寫程序和上機調(diào)試的過程,總結(jié)出現(xiàn)的問題和解決方法。教師針對不同學(xué)生的不同設(shè)計方案和不同問題做一些關(guān)鍵性的指導(dǎo),形成一個以學(xué)生自己動手為主,教師引導(dǎo)與點評相結(jié)合的啟發(fā)式教學(xué)模式。在實踐教學(xué)時增加隨堂測驗,要求學(xué)生現(xiàn)場完成編寫調(diào)試程序。在評價過程中避免單一考核實驗結(jié)果的正確性,要建立面向過程,注重實踐操作能力和創(chuàng)新能力的考核機制,考核機制應(yīng)能夠反映學(xué)生實踐課程的學(xué)習(xí)態(tài)度和實驗任務(wù)的完成情況,鼓勵學(xué)生主動分析問題,嘗試用不同的方法完成實驗任務(wù),鍛煉學(xué)生創(chuàng)新能力。
三、結(jié)語
計算機應(yīng)用廣泛,學(xué)生普遍對計算機水平有了更高的要求,學(xué)習(xí)程序設(shè)計難度較大,這就要求教師在教學(xué)過程中不斷探索和改進教學(xué)方法,促進學(xué)生的高效學(xué)習(xí)。結(jié)合高職院校學(xué)生的特點,從C語言課程的教學(xué)目標(biāo)、教學(xué)方法、實踐教學(xué)環(huán)節(jié)和考核方式等方面進行分析,探討教學(xué)改革的方法,經(jīng)過教學(xué)實踐,取得了較好效果,今后將在理論教學(xué)的案例教學(xué)和合作學(xué)習(xí)方面進行更加深入的探討和嘗試。
參考文獻:
[1]周軍妮,楊潤玲,江莉.C語言的多維立體教學(xué)系統(tǒng)[J].計算機教育,2013,(2):79-82.
[2]辛秀.高職院校C語言合作學(xué)習(xí)的教學(xué)實踐與反思[D].大連:遼寧師范大學(xué),2012.
[3]黃淼,高敬禮,單冬紅,熊蜀峰.C#程序設(shè)計課程教學(xué)改革研究[J].計算機教育,2010,(18):21-24.
[4]周世平,童向榮,盧云宏.程序設(shè)計基礎(chǔ)課程改革方案探討[J].計算機教育,2015,(3):84-86.
[5]李學(xué)會.C程序設(shè)計教學(xué)改革與實踐[J].實驗室科學(xué),2010,13(2):33-34.endprint