韓瑞東(運(yùn)城學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系,運(yùn)城 044000)
淺析地方高?!禖語言程序設(shè)計(jì)》的課程教學(xué)
韓瑞東
(運(yùn)城學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系,運(yùn)城044000)
針對《C語言程序設(shè)計(jì)》中普遍存在的問題以及對教學(xué)現(xiàn)狀的分析,在教學(xué)過程中提出傳統(tǒng)教學(xué)與現(xiàn)代化教學(xué)手段相結(jié)合,提高課堂效率。并應(yīng)用任務(wù)驅(qū)動(dòng)引導(dǎo)、案例式、項(xiàng)目、類比以及實(shí)踐教學(xué)等多種方法,激發(fā)學(xué)生的興趣,提高自主學(xué)習(xí)的積極性,以及增強(qiáng)學(xué)生的綜合實(shí)踐處理能力,實(shí)現(xiàn)教學(xué)目標(biāo)。
教學(xué)現(xiàn)狀;教學(xué)手段;教學(xué)方法;綜合實(shí)踐
運(yùn)城學(xué)院131人才專項(xiàng)教改項(xiàng)目(No.JG201642)
《C語言程序設(shè)計(jì)》不僅是計(jì)算機(jī)類相關(guān)專業(yè)的專業(yè)必修課,而且?guī)缀跏撬泄た茖I(yè)的必修課,它的作用不言而喻了。對于地方二本院校的學(xué)生來說,由于C語言難度較大,并且學(xué)生的水平參差不齊(整體水平有點(diǎn)低),學(xué)生接受起來十分困難,學(xué)不懂就會(huì)對這門課失去興趣。該課程是我系大一新生學(xué)習(xí)的第一門專業(yè)基礎(chǔ)課,同時(shí)是他們首次接觸的編程類語言。學(xué)習(xí)C語言,不僅能夠?yàn)橐院笠獙W(xué)的編程類、軟件類等相關(guān)課程奠定基礎(chǔ),也能為學(xué)生的就業(yè)提供一定的保障。為了提高學(xué)生的接受能力,使學(xué)生對這門課產(chǎn)生興趣,針對學(xué)生上課過程中出現(xiàn)的一些問題,通過課堂上的教學(xué)與實(shí)踐,提出了一些教學(xué)方法與建議。
我院作為一所綜合性的地方普通本科院校,當(dāng)前我系開設(shè)了計(jì)算機(jī)科學(xué)與技術(shù)、網(wǎng)絡(luò)工程、信息管理與信息系統(tǒng)、數(shù)字媒體技術(shù)及通信工程5個(gè)專業(yè)。作為入門語言,C語言是各個(gè)專業(yè)開設(shè)的基礎(chǔ)專業(yè)必修課,通過對我院學(xué)生及相關(guān)C語言授課老師的調(diào)查分析,主要存在的問題有以下幾點(diǎn):
(1)對學(xué)生的調(diào)研結(jié)果
學(xué)生認(rèn)為C語言知識(shí)點(diǎn)太抽象、難懂、內(nèi)容枯燥無味、難以理解,漸漸失去興趣,失去學(xué)習(xí)的積極性。他們認(rèn)為學(xué)了C語言,到底有何用,不知道體現(xiàn)在什么地方,能夠解決什么樣的問題,沒有目的。剛開始學(xué)不懂,往后就越來越聽不懂,也就不想再聽了,結(jié)果就導(dǎo)致了對整個(gè)課程失去學(xué)習(xí)的興趣。
(2)對教師的調(diào)研結(jié)果
教師一致認(rèn)為現(xiàn)在的學(xué)生基礎(chǔ)薄弱,難教,課堂會(huì)出現(xiàn)各種問題,如一問三不知、上課睡覺、坐那發(fā)呆不聽課等。一個(gè)班真正學(xué)習(xí)的人非常少,能有20%算是不錯(cuò)了。學(xué)生學(xué)習(xí)的很辛苦,我們教師教的也非常辛苦??荚嚭螅珻語言掛科的人最多。這樣,教師就有了挫敗感,上課也是為了完成相應(yīng)的教學(xué)任務(wù),沒有任何目標(biāo),也就沒有任何提高了。
針對上述出現(xiàn)的這些問題,為了提高學(xué)生對《C語言程序設(shè)計(jì)》的學(xué)習(xí)興趣與積極性,徹底改變當(dāng)前“學(xué)生學(xué)的困難,教師教的更困難”這種情況,筆者著手從教材內(nèi)容安排、教學(xué)手段使用、教學(xué)方法應(yīng)用等方面做出改變,以提高自己的教學(xué)效果。
由于《C語言程序設(shè)計(jì)》面對的是沒有接觸過任何編程類語言的大一學(xué)生,所以在課堂教學(xué)中一定要從以下幾個(gè)方面進(jìn)行注意。
(1)教材內(nèi)容的安排
教學(xué)內(nèi)容的安排與學(xué)生所學(xué)的專業(yè)相關(guān),專業(yè)不同,側(cè)重點(diǎn)也就不一樣,就需要根據(jù)所授學(xué)生的專業(yè)來對教學(xué)目標(biāo)進(jìn)行適當(dāng)?shù)恼{(diào)整。例如,非計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)該課程的目的在于等級考試,往后通常不再學(xué)習(xí)編程類語言,則其側(cè)重點(diǎn)就在于理論與實(shí)踐培養(yǎng);對于計(jì)算機(jī)類專業(yè)學(xué)生來說,就需要重點(diǎn)培養(yǎng)思維能力,創(chuàng)新能力,綜合實(shí)踐能力,還有就是學(xué)生的個(gè)性化發(fā)展。除此之外,作為教師,更應(yīng)該在教學(xué)過程中對教材內(nèi)容進(jìn)行篩選和重新組織,以利于個(gè)人教學(xué)工作的開展。我院作為應(yīng)用型院校,對于教學(xué),更應(yīng)該加快課程體系建設(shè),實(shí)現(xiàn)教學(xué)觀念的改變,從而在課堂上實(shí)現(xiàn)以“教師主講”到以“學(xué)生主學(xué)”的轉(zhuǎn)變,進(jìn)而實(shí)現(xiàn)從“教知識(shí)”到“培養(yǎng)學(xué)生能力”的轉(zhuǎn)變。
(2)教學(xué)手段的使用
①使用傳統(tǒng)教學(xué)與現(xiàn)代化教學(xué)手段相結(jié)合
在課堂教學(xué)過程中,單純的傳統(tǒng)教學(xué)或現(xiàn)代化教學(xué)都不能夠帶動(dòng)課堂的氣氛,無法提高學(xué)生的興趣和積極性。通過課堂實(shí)踐,采用PPT、編程系統(tǒng)演示與傳統(tǒng)板書相結(jié)合的方式激發(fā)了學(xué)生學(xué)習(xí)該課程的興趣,調(diào)動(dòng)了學(xué)生的學(xué)習(xí)性與積極性。對于一般的知識(shí)點(diǎn)采用PPT課件進(jìn)行講解;對于重點(diǎn)與難點(diǎn)采用板書來講授,向?qū)W生展示思維過程,幫助學(xué)生提高抽象思維能力以及解決編程問題能力;程序演示主要是通過編寫C的程序軟件如VC 6.0++、Turbo C等從編寫、編譯、鏈接、運(yùn)行、測試與調(diào)試讓學(xué)生認(rèn)識(shí)并掌握整個(gè)過程。在程序的整個(gè)執(zhí)行過程中,帶領(lǐng)學(xué)生找錯(cuò),講解如何找錯(cuò)與改錯(cuò),這樣學(xué)生的自主學(xué)習(xí)能力與積極性就大大地提高了,也真正實(shí)現(xiàn)了該門課程的教學(xué)宗旨,即理論與實(shí)踐相結(jié)合。
②搭建系統(tǒng)平臺(tái)實(shí)現(xiàn)網(wǎng)絡(luò)教學(xué)
C語言教學(xué)平臺(tái)即將搭建成功,該平臺(tái)為學(xué)生提供了課程簡介、課程教案、進(jìn)度表、PPT課件、教學(xué)大綱、實(shí)驗(yàn)大綱、經(jīng)典習(xí)題、在線測試與答疑等多種資源,為學(xué)生學(xué)好C語言提供了大大的方便,彌補(bǔ)了課堂時(shí)間短的不足。通過搭建這個(gè)平臺(tái)增強(qiáng)了學(xué)生與教師的互動(dòng),學(xué)生的自主學(xué)習(xí)能力也大大提高,豐富了教學(xué)活動(dòng)。
(3)教學(xué)方法的多樣化
在傳統(tǒng)的C語言教學(xué)過程中,主要是以教師講授為主,滿堂灌的這種教學(xué)很容易使學(xué)生產(chǎn)生疲勞,沒有給學(xué)生提供一定的創(chuàng)新思考的空間,容易使學(xué)生失去學(xué)習(xí)的興趣,無法調(diào)動(dòng)學(xué)生的積極性。針對C語言中的重難點(diǎn)等內(nèi)容,要做到應(yīng)用適當(dāng)?shù)慕虒W(xué)方法來講授,以提高課堂質(zhì)量。以下幾種教學(xué)方法是我在C語言課堂上常用的,有不錯(cuò)的效果。
①任務(wù)驅(qū)動(dòng)式引導(dǎo)教學(xué)法
在教學(xué)設(shè)計(jì)中,教師要注重任務(wù)的設(shè)置,學(xué)生通過這些任務(wù)能夠進(jìn)行思考與探索,掌握所授知識(shí),讓課堂氣氛活躍起來。任何時(shí)候,問題都是超好的老師。講解一個(gè)知識(shí)點(diǎn),拋出一個(gè)或幾個(gè)適度的問題都會(huì)引導(dǎo)學(xué)生進(jìn)行深入學(xué)習(xí)。例如,在講解數(shù)組概念時(shí),首先設(shè)置問題:編程計(jì)算10個(gè)學(xué)生的C語言平均成績。學(xué)生會(huì)按照之前所學(xué)的內(nèi)容,想到要用10個(gè)變量來定義10個(gè)學(xué)生的成績。那計(jì)算50個(gè)呢?定義50個(gè)變量就會(huì)使問題復(fù)雜化,學(xué)生此刻就會(huì)討論如何定義變量了。那計(jì)算100個(gè)呢?此時(shí),作為教師,拋出數(shù)組的概念,分析數(shù)組的性質(zhì),這樣學(xué)生就會(huì)很容易記住并理解數(shù)組的性質(zhì),還會(huì)知道在什么樣的情況下使用數(shù)組。通過課堂實(shí)踐證明,該種方法充分激發(fā)了學(xué)生的自主性和學(xué)習(xí)積極性,提高了效率。
②案例式教學(xué)法
案例式教學(xué)法就是在講授某個(gè)知識(shí)點(diǎn)時(shí),以實(shí)際生活中的例子來引入,這樣學(xué)生就會(huì)很快掌握。例如,交換兩個(gè)變量a,b。首先引入例子,如何交換白色盒與彩色盒中的粉筆呢,取出一個(gè)空盒子,把白色盒中的粉筆放入空盒子中,然后把彩色盒中的粉筆放入白色盒中,再把空盒子的粉筆放入彩色盒子中,就完成了交換?;氐嚼},學(xué)生就會(huì)進(jìn)行交換了,定義第三個(gè)變量t,通過t=a;a=b;b=t;這個(gè)操作就實(shí)現(xiàn)了兩個(gè)數(shù)據(jù)的交換。再如,講授關(guān)系運(yùn)算表達(dá)式,(表達(dá)式1)||(表達(dá)式2),如果表達(dá)式1的值為真,則不用計(jì)算表達(dá)式2;(表達(dá)式1)&&(表達(dá)式2),如果表達(dá)式1的值為假,則不用計(jì)算表達(dá)2的值。通過與高中物理中的斷路相關(guān)聯(lián),則很容易理解。
③項(xiàng)目教學(xué)法
對于我系大部分學(xué)生來說,在學(xué)完C語言程序設(shè)計(jì)后,都說聽得懂,但還是不會(huì)編程,項(xiàng)目教學(xué)法在很大程度上為學(xué)生解決了這個(gè)問題。該方法就是結(jié)合理論與實(shí)踐,分步講授一個(gè)完整的C項(xiàng)目程序,重點(diǎn)在于編程思想與算法分析,從而提高學(xué)生處理問題的綜合能力。在課堂初期,主要進(jìn)行的簡單的編程訓(xùn)練,對于不同的編程問題,首先要進(jìn)行分析,然后再進(jìn)行編程。重要的是編程思想,而不是編程。如判斷三個(gè)數(shù)是否能構(gòu)成三角形,并構(gòu)成哪種三角形。首先,要做的是這三個(gè)數(shù)是否能構(gòu)成三角形,然后再根據(jù)三角形的性質(zhì)構(gòu)成何種三角形,分析完后再用C語言編寫程序。在課堂后期,比如學(xué)習(xí)數(shù)組,構(gòu)造數(shù)據(jù)類型,指針等知識(shí)點(diǎn)時(shí),通過簡單的實(shí)訓(xùn)項(xiàng)目來給學(xué)生講授相關(guān)內(nèi)容,與學(xué)生共同編寫相應(yīng)的程序,后一個(gè)項(xiàng)目要以前一個(gè)為基礎(chǔ),循序漸進(jìn)。比如學(xué)完數(shù)組后,我就要求學(xué)生編寫一個(gè)學(xué)生成績小系統(tǒng)程序,求出該班級30個(gè)學(xué)生的最高成績,最低成績,平均成績等。學(xué)完構(gòu)造數(shù)據(jù)類型時(shí),要求在前面的基礎(chǔ)上加入學(xué)生的基本信息等,學(xué)完指針,就要利用指針對這些數(shù)據(jù)或信息進(jìn)行操作,學(xué)完文件,要學(xué)會(huì)通過文件來處理這些數(shù)據(jù)等。通過這種教學(xué)方法就會(huì)使學(xué)生在課堂上變?yōu)橹黧w,而教師則作為主導(dǎo)。該教學(xué)方法能夠使學(xué)生有興趣地加入到課堂討論中,激發(fā)了學(xué)生的學(xué)習(xí)動(dòng)力,提升了學(xué)生的積極性,增強(qiáng)了學(xué)生的編程處理能力。
④類比教學(xué)法
C語言中規(guī)則眾多,概念繁瑣,前后內(nèi)容緊密相關(guān),教師應(yīng)該在課堂教學(xué)中對相似的概念與規(guī)則進(jìn)行對比分析,引導(dǎo)學(xué)生比較這些知識(shí)點(diǎn)的相同點(diǎn)與不同點(diǎn),再根據(jù)某個(gè)不同點(diǎn)來加以區(qū)分,然后讓學(xué)生通過實(shí)例來進(jìn)行歸納總結(jié),最后我再補(bǔ)充。只有這樣,學(xué)生就不會(huì)混淆,并很快理解并掌握這些知識(shí)點(diǎn)。例如,指針數(shù)組與數(shù)組指針,這兩個(gè)概念學(xué)生很難區(qū)別,難度比較大。數(shù)組指針的定義形式為int(*p)[n],指針數(shù)組的定義形式為int*p[n]。有括號(hào)與無括號(hào)怎么區(qū)分呢?學(xué)生很難弄清楚,講解時(shí),首先讓學(xué)生了解加括號(hào)的當(dāng)然優(yōu)先級高了,無括號(hào)的就[]優(yōu)先級高了。通過對概念的比較與講解,學(xué)生就會(huì)知道,數(shù)組指針只是一個(gè)指針變量,它在內(nèi)存中只占一個(gè)指針的空間;而指針數(shù)組是多個(gè)指針變量,占用多個(gè)指針的存儲(chǔ)空間。再比如,在解決一個(gè)編程問題時(shí),如判斷素?cái)?shù),有多種實(shí)現(xiàn)算法,這些算法之間既有聯(lián)系也有區(qū)別,通過對比,學(xué)生很容易理解并學(xué)會(huì)用更高效的算法實(shí)現(xiàn)編程,也就解決了整個(gè)編程問題。
⑤實(shí)踐教學(xué)法
《C語言程序設(shè)計(jì)》該課程不僅要求學(xué)生熟練掌握理論知識(shí),而且要有很強(qiáng)的動(dòng)手實(shí)踐能力,只聽不練完成達(dá)不到這門課程的學(xué)習(xí)目的,提高學(xué)生實(shí)踐能力的唯一辦法就是加強(qiáng)上機(jī)練習(xí)。在上機(jī)實(shí)驗(yàn)中設(shè)置實(shí)驗(yàn)題目時(shí),為了滿足不同層次學(xué)生的接受能力,應(yīng)當(dāng)設(shè)置必做與選做題型。在上實(shí)驗(yàn)課之前,教師應(yīng)當(dāng)充分研究上機(jī)內(nèi)容并明確上機(jī)任務(wù),讓學(xué)生不僅學(xué)生編程還要讓學(xué)生有分析算法的能力。編程完并通過測試過,還要讓學(xué)生想想所實(shí)現(xiàn)的算法是不是最優(yōu)化的,還有改進(jìn)的地方?jīng)]有。每次上完實(shí)驗(yàn)課后,都要書寫實(shí)驗(yàn)報(bào)告來總結(jié)并鞏固所學(xué)知識(shí)。在該課程學(xué)習(xí)完以后,學(xué)生也要分組完成一個(gè)大的綜合性項(xiàng)目,學(xué)生分工完成所實(shí)現(xiàn)的功能,以提高學(xué)生的綜合應(yīng)用能力。
以上通過對《C語言程序設(shè)計(jì)》教學(xué)現(xiàn)狀及問題的分析,以及在課堂中教學(xué)手段與教學(xué)方法的應(yīng)用與實(shí)現(xiàn),不僅提高了學(xué)生的學(xué)習(xí)熱情,讓學(xué)生從被動(dòng)學(xué)習(xí)變?yōu)橹鲃?dòng)學(xué)習(xí),而且加強(qiáng)了學(xué)生的編程處理能力,分析與解決實(shí)際問題的綜合實(shí)踐能力,以及創(chuàng)新能力,真正實(shí)現(xiàn)了該課程的教學(xué)目標(biāo)。
[1]李麗娟.C語言程序設(shè)計(jì)教程(第四版)[M].北京:人民郵電出版社,2013.
[2]李麗萍,王冬梅.C語言教學(xué)改革的探索與實(shí)踐[J].遼寧工業(yè)大學(xué)學(xué)報(bào),2009(2):136-137.
[3]王巧玲,肖媛哦,葉熹.關(guān)于C語言教學(xué)方法的探索和研究[J].井岡山學(xué)院學(xué)報(bào),2008(6):124-126.
Teaching Status;Teaching Means;Teaching Methods;Integrated Practice
Initial Analysis on Course Teaching of C Language Program Design in Local College
HAN Rui-dong
(Department of Computer Science and Technology,Yuncheng University,Yuncheng044000)
Widespread in the C programming language and the teaching present situation analysis,proposes a combination of traditional and modem teaching methods in the teaching process,improves the classroom efficiency.Applies task-driving,case and project,comparison and practice teaching methods,stimulates the interest of students,improves the motivation of learners,and enhances student's practical ability to achieve teaching objectives.
1007-1423(2016)28-0025-04
10.3969/j.issn.1007-1423.2016.28.007
韓瑞東(1988-),男,山西運(yùn)城人,碩士研究生,助教,研究方向?yàn)檐浖_發(fā)技術(shù)
2016-08-23
2016-10-15