龐潤芳 鄭坤燦 張煥香 胡曉燕(內(nèi)蒙古科技大學(xué),包頭 014010)
高等院校C語言課程教學(xué)改革探析
龐潤芳鄭坤燦張煥香胡曉燕
(內(nèi)蒙古科技大學(xué),包頭014010)
目前我國部分高校C語言教學(xué)普遍存在重理論輕實(shí)踐的教學(xué)現(xiàn)狀,導(dǎo)致課堂枯燥乏味,學(xué)生積極性、主動(dòng)性不足。本文結(jié)合我校近年來C語言程序設(shè)計(jì)課程教學(xué)實(shí)踐經(jīng)驗(yàn),從程序設(shè)計(jì)課程本身的趣味性、實(shí)用性、實(shí)踐性、挑戰(zhàn)性和創(chuàng)新性的特點(diǎn)出發(fā),提出了“以學(xué)生為主體,教師為引導(dǎo),案例為驅(qū)動(dòng),實(shí)踐為主線,應(yīng)用為目標(biāo)”的教學(xué)體系和具體措施。
高等院校;C語言;教學(xué)改革
C語言對高校理工科的學(xué)生來說不失為一種最佳的編程入門語言,C語言程序設(shè)計(jì)的教學(xué)對信息技術(shù)能力的培養(yǎng)起到了至關(guān)重要的作用[1]。C語言程序設(shè)計(jì)經(jīng)過多年的探索和教學(xué)改革,已經(jīng)積累了豐富的教學(xué)經(jīng)驗(yàn),在軟件和硬件方面都有了較大的發(fā)展。然而隨著社會(huì)發(fā)展對計(jì)算機(jī)人才需求的進(jìn)一步提高,C語言程序設(shè)計(jì)教學(xué)仍然存在很多問題,比如大多高校仍采用理論教學(xué)與實(shí)驗(yàn)分離的傳統(tǒng)教學(xué)模式,重理論輕實(shí)驗(yàn),實(shí)驗(yàn)時(shí)數(shù)安排不足,課堂教學(xué)模式單一僵化,學(xué)生積極性和主動(dòng)性差,學(xué)生動(dòng)手能力不足等等。
許多高校開始引入西方先進(jìn)教育理念,基于建構(gòu)主義和CDIO工程教育理念的項(xiàng)目法教學(xué)方式,采用案例任務(wù)驅(qū)動(dòng)的教學(xué)改革,對學(xué)生積極性、主動(dòng)性和綜合應(yīng)用能力都有所提高。部分高校開始對西方教育理論消化吸收,并結(jié)合我國及自己院校特點(diǎn),甚至利用微課堂,提出以學(xué)生為主體、教師為導(dǎo)向、應(yīng)用為目標(biāo)、培養(yǎng)學(xué)生的實(shí)踐動(dòng)手能力為著力點(diǎn)的教學(xué)理念和教學(xué)體系,消化CDIO工程教育理念構(gòu)建“粗、精、仿、練、操”五步教學(xué)法具有很強(qiáng)的可操作性,使學(xué)生既掌握基本的知識(shí)點(diǎn),又掌握學(xué)習(xí)方法。這些新的教改成果與傳統(tǒng)的教學(xué)法相比有很大的區(qū)別,主要表現(xiàn)在改變了傳統(tǒng)的三個(gè)中心——由以教師為中心轉(zhuǎn)變?yōu)橐詫W(xué)生為中心,由以課本為中心轉(zhuǎn)變?yōu)橐浴绊?xiàng)目”為中心,由以零散知識(shí)點(diǎn)的學(xué)習(xí)為中心轉(zhuǎn)變?yōu)橐詫?shí)際任務(wù)目標(biāo)完成為中心。
個(gè)人認(rèn)為三個(gè)中心中尤其以學(xué)生中心的轉(zhuǎn)變?yōu)楦荆绾误w現(xiàn),應(yīng)該以學(xué)生主動(dòng)學(xué)習(xí)的程度或占有的時(shí)間來考量。最初由于計(jì)算機(jī)資源短缺,理論課和上機(jī)是分離的,連上課演示都難以做到,因而學(xué)生計(jì)算機(jī)知識(shí)基本停留在書本上。后來上機(jī)學(xué)時(shí)逐年增加,目前上課學(xué)生可以人手一機(jī)了,所以完全可以實(shí)現(xiàn)以學(xué)生為中心的教學(xué)轉(zhuǎn)變,而且計(jì)算機(jī)本身就是實(shí)踐性極強(qiáng)的課程,所有程序可以直接在電腦上調(diào)試、運(yùn)行并看到結(jié)果。許多學(xué)生可以在電腦上自學(xué)完成,甚至不需要老師,況且計(jì)算機(jī)語言本身提供了各種嘗試的可能,這樣既能激發(fā)學(xué)生的好奇心,又能調(diào)動(dòng)學(xué)生積極性和主動(dòng)性?;诖耍娒溃?]提出“精講多練”,魯紅英[9]等在國家級精品課程“C/C++語言程序設(shè)計(jì)”建設(shè)過程中,將教師講課課時(shí)調(diào)整為課堂學(xué)時(shí)的1/3,其余2/3用于學(xué)生實(shí)踐操作。
我們在近幾年的C語言教學(xué)探索發(fā)現(xiàn),教師講課學(xué)時(shí)還可以繼續(xù)縮短,對語法少講和精講,甚至許多語法不用講,學(xué)生自己在編程時(shí)通過嘗試即能學(xué)明白,主講編程思想和方法即可。這樣,學(xué)生主動(dòng)性和積極性明顯增強(qiáng)。本文根據(jù)我們近年來的C語言教學(xué)改革經(jīng)驗(yàn),設(shè)計(jì)了一套“以學(xué)生為主體,教師為引導(dǎo),案例為驅(qū)動(dòng),實(shí)踐為主線,應(yīng)用為目標(biāo)”C語言教學(xué)模式。
C語言程序設(shè)計(jì)教學(xué)主要存在以下三個(gè)方面的突出問題。根據(jù)與相關(guān)院校的交流和查閱大量文獻(xiàn)調(diào)研,發(fā)現(xiàn)這些問題在許多高校C語言程序設(shè)計(jì)教學(xué)中也同樣存在。
第一,教學(xué)方法沒有創(chuàng)新。目前在C語言程序設(shè)計(jì)課程的教學(xué)中主要仍以講授為主,練習(xí)為輔。這種傳統(tǒng)的教學(xué)方式會(huì)導(dǎo)致教師與學(xué)生之間的教學(xué)互動(dòng)性不足;學(xué)生的學(xué)習(xí)主動(dòng)性不夠;動(dòng)手能力差;個(gè)性難以發(fā)揮;更難激發(fā)學(xué)生的創(chuàng)新性。
第二,C語言概念抽象,知識(shí)點(diǎn)多,學(xué)生在學(xué)習(xí)中對一些復(fù)雜、靈活、綜合性的算法難以理解,獨(dú)立編程時(shí)不知從何入手,漸漸失去學(xué)習(xí)的興趣。
第三,對學(xué)習(xí)重視程度不夠。由于和專業(yè)脫節(jié),很多學(xué)生認(rèn)為,這只是一門基礎(chǔ)課,在以后的學(xué)習(xí)和實(shí)際工作中作用不大,在程序設(shè)計(jì)工作崗位中很少會(huì)使用到C語言,因此從心理上抗拒這門課程的學(xué)習(xí)。
為了提高學(xué)生的學(xué)習(xí)興趣,增強(qiáng)學(xué)習(xí)自主性,最終達(dá)到提高教學(xué)質(zhì)量的目的,內(nèi)蒙古科技大學(xué)工程訓(xùn)練中心近年來推行了“以學(xué)生為主體,教師為引導(dǎo),案例為驅(qū)動(dòng),實(shí)踐為主線,應(yīng)用為目標(biāo)”的課程教學(xué)改革研究。其中“以學(xué)生為主體”的思想主要體現(xiàn)學(xué)生學(xué)習(xí)的中心地位和主體地位,學(xué)習(xí)是學(xué)習(xí)者本人的事,應(yīng)讓他積極主動(dòng)地進(jìn)行,親自實(shí)踐,有問題去請教老師,而不是老師去告之,不能淪為聽課的機(jī)器。教學(xué)方法上要體現(xiàn)因材施教,對優(yōu)等生和基礎(chǔ)差的學(xué)生均要重點(diǎn)關(guān)注,前者以啟發(fā)和鼓勵(lì)為主,后者還要結(jié)合引導(dǎo)和督促。具體教改思路是把C語言程序設(shè)計(jì)課程的教學(xué)分為兩個(gè)階段:基礎(chǔ)內(nèi)容教學(xué)和綜合實(shí)訓(xùn)?;A(chǔ)內(nèi)容即傳統(tǒng)教學(xué)內(nèi)容,包括數(shù)據(jù)類型、表達(dá)式、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、函數(shù)、數(shù)組、指針、結(jié)構(gòu)體、共用體和文件等。在完成基礎(chǔ)內(nèi)容教學(xué)后,為了加強(qiáng)教學(xué)內(nèi)容的實(shí)用性、適用性及趣味性,結(jié)合學(xué)生的專業(yè),設(shè)置相應(yīng)的綜合實(shí)訓(xùn)項(xiàng)目,進(jìn)一步鞏固所學(xué)的知識(shí),提高學(xué)生編程能力。
1.C語言課程基礎(chǔ)教學(xué)內(nèi)容和方法設(shè)計(jì)
(1)教學(xué)內(nèi)容設(shè)計(jì):知識(shí)結(jié)構(gòu)—知識(shí)點(diǎn)—經(jīng)典案例—小練習(xí)
根據(jù)C語言程序設(shè)計(jì)課程知識(shí)結(jié)構(gòu)的內(nèi)在聯(lián)系和教學(xué)目標(biāo),依次安排基礎(chǔ)教學(xué)內(nèi)容,提煉知識(shí)點(diǎn),對主要知識(shí)點(diǎn)進(jìn)行分類和有機(jī)重組,每組知識(shí)點(diǎn)設(shè)計(jì)一個(gè)相應(yīng)的經(jīng)典小案例,同時(shí)配一個(gè)有趣或有用的練習(xí)題目,如表1所示。
(2)C語言課程基礎(chǔ)教學(xué)方法設(shè)計(jì)
我們知道,傳統(tǒng)教學(xué)模式一般都以教師講授為主,學(xué)生被動(dòng)的聽課,這種填鴨式的教學(xué)方式問題越來越突出,在程序設(shè)計(jì)教學(xué)中尤甚。課堂沉悶、乏味和無趣,學(xué)生昏昏欲睡,味同嚼蠟,缺乏活力,更談不上積極性、主動(dòng)性和創(chuàng)新思想。程序設(shè)計(jì)本身是實(shí)踐性很強(qiáng)的課程,很多知識(shí)都能直接在計(jì)算機(jī)上測試驗(yàn)證,很多結(jié)果都能直接在計(jì)算機(jī)上展示和完成,知識(shí)學(xué)過后立刻就能遷移到相關(guān)的生活和工程應(yīng)用中。所以程序設(shè)計(jì)課程本身就極具趣味性、實(shí)用性、實(shí)踐性、挑戰(zhàn)性和創(chuàng)新性。因此,我們抓住這一特點(diǎn),進(jìn)行了教學(xué)方法的重新設(shè)計(jì),讓學(xué)生從幕后走向前臺(tái),從被動(dòng)聽講變?yōu)橹鲃?dòng)實(shí)踐,從實(shí)踐中學(xué)習(xí)。而老師從臺(tái)前到了幕后,當(dāng)然不是變?yōu)楸粍?dòng),而是更加主動(dòng),重在引導(dǎo)、管理、解答和評判。具體的教學(xué)過程和方法設(shè)計(jì)如圖1所示。首先,教師分配1/4學(xué)時(shí)精講,圍繞案例展開,講主要知識(shí)點(diǎn)、算法及實(shí)現(xiàn),然后把3/4學(xué)時(shí)用于學(xué)生動(dòng)手測試、驗(yàn)證、展示程序結(jié)果和嘗試新的應(yīng)用。教師在此期間進(jìn)行引導(dǎo)和解決疑惑,鼓勵(lì)學(xué)生進(jìn)行各種編程嘗試,對學(xué)生的積極性、主動(dòng)性和創(chuàng)新行為給予及時(shí)的反饋。不過該方法用于一個(gè)教師帶1到2個(gè)班是可以的,1個(gè)班最好,我們目前調(diào)整到1個(gè)自然班大概40人,但對于3個(gè)班(100人)及以上的大班授課效果不好,答疑輔導(dǎo)不能及時(shí)解決,不適宜采用這樣的方法。
表1 基礎(chǔ)教學(xué)內(nèi)容設(shè)計(jì)
圖1 基礎(chǔ)內(nèi)容教學(xué)過程和方法設(shè)計(jì)
2.C語言課程綜合訓(xùn)練內(nèi)容和方法設(shè)計(jì)
綜合實(shí)訓(xùn)是在基礎(chǔ)內(nèi)容教學(xué)結(jié)束后,利用部分課內(nèi)時(shí)間,一般課內(nèi)4學(xué)時(shí),持續(xù)時(shí)間在1-2周(因?yàn)镃語言課程安排每周2學(xué)時(shí)),在此期間,學(xué)生要根據(jù)所選題目的難度額外安排10-15小時(shí)的課外時(shí)間,計(jì)算機(jī)使用情況是上課在機(jī)房,一人一臺(tái)電腦,課后可以使用自己的電腦,也可以在中心提供的開放機(jī)房進(jìn)行。綜合實(shí)訓(xùn)的目的是通過一個(gè)綜合的專業(yè)應(yīng)用題目,培養(yǎng)學(xué)生綜合運(yùn)用知識(shí)的能力、綜合程序設(shè)計(jì)能力、分析問題和解決問題能力,以及團(tuán)隊(duì)合作能力。具體實(shí)施方法是:首先,教師結(jié)合學(xué)生的專業(yè)背景給出4-6個(gè)與自身專業(yè)有關(guān)的應(yīng)用題目;然后,學(xué)生5-6人為一組,在給定的題目中選擇一項(xiàng),也可以自行擬定其他的題目;最后,當(dāng)學(xué)生完成題目后由任課教師驗(yàn)收,給出實(shí)訓(xùn)成績。在教學(xué)方法上,教師指導(dǎo)學(xué)生分析問題,查閱文獻(xiàn),引導(dǎo)學(xué)生組內(nèi)討論確定算法,協(xié)助學(xué)生完成程序編寫和調(diào)試,同時(shí)對學(xué)生進(jìn)行評價(jià)判斷。
3.考核方式
內(nèi)蒙古科技大學(xué)工程訓(xùn)練中心“C語言程序設(shè)計(jì)”課程考核體系是過程考核和期末考試相結(jié)合,過程考核和期末考試各占總成績的50%,在過程式考核中,出勤和課堂表現(xiàn)占20%,課外實(shí)踐(自主學(xué)習(xí)園地)占10%,實(shí)訓(xùn)項(xiàng)目占20%,對實(shí)訓(xùn)項(xiàng)目和課外實(shí)踐中表現(xiàn)特別突出的,可看出其已經(jīng)掌握基本知識(shí)和編程方法同時(shí)能夠很好的應(yīng)用于具體問題解決的學(xué)生,可以直接免試并給予優(yōu)以上的成績。期末考試的形式為機(jī)試,考察基礎(chǔ)知識(shí)和編程能力。
4.教學(xué)效果分析
我們至今已進(jìn)行了三個(gè)學(xué)年的改革實(shí)踐,通過對2014-2015年第二學(xué)期的C語言課程綜合成績分析可以看到如下教學(xué)成果。
本學(xué)期選修C語言課程的學(xué)生共2501人,其中847人參與了教學(xué)改革,我們選取了平均分、不及格率、重點(diǎn)難點(diǎn)掌握程度作為評價(jià)指標(biāo),詳細(xì)結(jié)果見表2。從表中可以看出,參與改革的學(xué)生平均成績提高了近7個(gè)百分點(diǎn),不及格率降低了約5個(gè)百分點(diǎn),重難點(diǎn)理解掌握程度有了較大幅度提高。成績只是學(xué)生學(xué)習(xí)效果的一方面的反映,參與改革的學(xué)生更多的是表現(xiàn)在學(xué)習(xí)方法、學(xué)習(xí)積極性主動(dòng)性和動(dòng)手實(shí)踐能力方面的提高,這對學(xué)生是受益匪淺的。
表2 參與教改和未參與教改班級考試成績分析表
通過一段時(shí)間的實(shí)踐,學(xué)生積極性和主動(dòng)性增強(qiáng)了,編程能力、綜合實(shí)踐能力和創(chuàng)新能力有了明顯提高。但問題還有不少,比如教師精講學(xué)時(shí)的控制,綜合實(shí)訓(xùn)中學(xué)生課后學(xué)時(shí)的保證,實(shí)訓(xùn)題目的難易程度等。鑒于此,我中心會(huì)在以后的教學(xué)實(shí)踐中繼續(xù)總結(jié)經(jīng)驗(yàn)、不斷完善和探索新的方法,以提高學(xué)生用C語言解決實(shí)際問題的綜合能力。
[1]國家教委高教司.加強(qiáng)工科非計(jì)算機(jī)專業(yè)計(jì)算機(jī)基礎(chǔ)教學(xué)工作的幾點(diǎn)意見教育司 ([1997]155號)[EB/OL]http://dean.lzptc.edu.cn/news/news_view.asp?newsid=47.
[2]吳敏,俞瓊,許棣華,等.基于建構(gòu)主義的獨(dú)立學(xué)院C語言課程教學(xué)改革實(shí)踐[J].計(jì)算機(jī)教育,2012(22).
[3]項(xiàng)響琴.德國理念指導(dǎo)下的教學(xué)方法改革——以C語言課程為例[J].計(jì)算機(jī)教育,2013(21).
[4]鐘美.培養(yǎng)應(yīng)用型人才為目標(biāo)的C語言教學(xué)改革[J].計(jì)算機(jī)教育,2013(16).
[5]張蕾.基于項(xiàng)目化教學(xué)的“C語言程序設(shè)計(jì)”課程改革[J].計(jì)算機(jī)教育,2013(2).
[6]李文娟.項(xiàng)目驅(qū)動(dòng)模式在高職《C語言程序設(shè)計(jì)》課程教學(xué)中的應(yīng)用[J].軟件導(dǎo)刊,2014(12).
[7]胡楓.《C語言程序設(shè)計(jì)》的案例式教學(xué)的設(shè)計(jì)[J].青海師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2010(4).
[8]林志陽,王兆暉,張莉.淺談《C語言程序設(shè)計(jì)》教學(xué)與實(shí)踐[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014(21).
[9]魯紅英,肖思和,孫淑霞.“C/C++語言程序設(shè)計(jì)”課程教學(xué)改革與實(shí)踐[J].計(jì)算機(jī)教育,2013(7).
[10]方紅琴.立體式C語言程序設(shè)計(jì)教學(xué)改革探討[J].計(jì)算機(jī)教育,2012(12).
[11]張麗華,葉利華.基于微課程的C語言程序設(shè)計(jì)教學(xué)改革探索[J].計(jì)算機(jī)教育,2014(6).
[12]吳永芬,陳衛(wèi)衛(wèi),李志剛,等.面向創(chuàng)新實(shí)踐能力培養(yǎng)的C語言程序設(shè)計(jì)實(shí)踐教學(xué)改革[J].計(jì)算機(jī)教育,2014(3).
Teaching Reform in C Language Course
PANG Runfang,ZHENG Kuncan,ZHANG Huanxiang,HU Xiaoyan
(Inner Mongolia University of Science and Technology,Baotou 014010,China)
There is a common phenomenon in C language teaching among some of our universities and colleges:theory is emphasized,while practice is neglected.As a result,the course is not interesting and the students are not motivated.Based on our teaching experience in the past few years,we have developed a series of new teaching principles and activities,aimed to make the course more interesting,practical,challenging and innovative.The new way of teaching is students centered,while teachers serve as facilitator and collaborator.The new way of teaching is case driven,practice focused and targeted on application.
university and college;C language;teaching reform
G642.0
龐潤芳(1973—),女,副教授,研究方向:數(shù)字圖像處理。
2014年內(nèi)蒙古科技大學(xué)教學(xué)(教改)研究項(xiàng)目(JY2014123);內(nèi)蒙古科技大學(xué)精品課程支持項(xiàng)目(JP2015009)。