前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的c語言程序設(shè)計主題范文,僅供參考,歡迎閱讀并收藏。
[關(guān)鍵詞]C語言程序設(shè)計 改革 實踐
引言
C語言程序設(shè)計課程足以C語言為平臺,使學(xué)生全面了解程序設(shè)計的總體思路、程序沒計的基本算法、C語言的語法規(guī)則以及使用C語言進(jìn)行構(gòu)化程序沒計的方法,并具有一定的程序設(shè)計和程序調(diào)試的能力,為今后使用C語言解決實際問題打下良好的基礎(chǔ) 由于C語言涉及的概念比較復(fù)雜,規(guī)則繁多,使用靈活,容易出錯,同時該課程又是學(xué)生首先接觸的第一門程序沒計課程,所以很多學(xué)生學(xué)習(xí)起來都感到困難和吃力.并不同程度產(chǎn)生畏懼心理。
在C語言程序設(shè)計的教學(xué)工作中,我們發(fā)現(xiàn),學(xué)生的學(xué)習(xí)熱情不高,更談不上綜合應(yīng)用能力的培養(yǎng)與提高。我們C語言課程教學(xué)組通過對我校C語言程序設(shè)計課程教學(xué)現(xiàn)狀的調(diào)查分析,總結(jié)出了教學(xué)效果較差的主要原因,并從教材內(nèi)容、教學(xué)方法、教學(xué)手段和、上機實踐和考核評價體系五個方面進(jìn)行了大膽的改革與實踐,并取得了較好的教學(xué)效果。
一、C語言程序設(shè)計課程教學(xué)現(xiàn)狀分析
為了實時掌握學(xué)生的真實學(xué)習(xí)情況,任課教師對學(xué)生進(jìn)行了問卷調(diào)查。根據(jù)問卷結(jié)果及各位教師的教學(xué)經(jīng)驗,總結(jié)出我校C語言程序設(shè)計課程教學(xué)效果較差的主要原因有以下幾點。
(1)內(nèi)容抽象、枯燥,學(xué)生學(xué)習(xí)興趣度低。相比第一學(xué)期已經(jīng)或多或少有所接觸并有一定基礎(chǔ)的大學(xué)計算機課程而言,第二學(xué)期開設(shè)的程序設(shè)計課程是一種截然不同的全新的課程,出現(xiàn)了大量的新概念、新名詞和新方法。上機時好不容易敲上了一個程序,一運行就會出現(xiàn)一堆錯誤。62.4%的學(xué)生看不懂錯誤提示,84.76%的同學(xué)不會使用單步跟蹤、Watch窗口等基本調(diào)試工具,22.3%的同學(xué)竟然根本不知道這些調(diào)試工具。于是學(xué)生對該課程的學(xué)習(xí)舉步維艱,學(xué)習(xí)的熱情急速降溫。
(2)實用性不強。近80%的同學(xué)認(rèn)為C語言的語法知識學(xué)了一大堆,但不知道學(xué)這些語法有什么用,和自己的專業(yè)知識有什么聯(lián)系。因此,多年積累下來,對C語言程序設(shè)計課程的普遍看法是:這是一門無用的公共課,混混過去就算了。于是,很多同學(xué)上課不聽講、下課不預(yù)習(xí)、不復(fù)習(xí),周而復(fù)始,形成惡性循環(huán)。
(3)進(jìn)度過于緩慢。C語言程序設(shè)計每周4學(xué)時,其中,2學(xué)時多媒體教室的課堂教學(xué),2學(xué)時計算中心機房的上機實踐。計算中心機房為多個班級公用,且無屏幕轉(zhuǎn)播設(shè)施,因此教師的教學(xué)僅限于2學(xué)時的課堂教學(xué)。課時太少,加上學(xué)生興趣度低,往往一學(xué)期下來指針剛講了基本概念就結(jié)束了。有些為參加全國計算機等級二級c語言考試而努力學(xué)習(xí)的同學(xué)也因為指針內(nèi)容學(xué)習(xí)太少而難以過關(guān)。
針對上述C語言程序設(shè)計教學(xué)效果差的原因,我中心C語言課程組的各位教師認(rèn)真研讀了“研究式學(xué)習(xí)”、“CDIO教學(xué)模式”、“計算思維”等理論及各種教學(xué)方法和實踐方式,借鑒了哈工大全國精品課程“C語言程序設(shè)計”課程的先進(jìn)教學(xué)經(jīng)驗,并結(jié)合各位教師多年的教學(xué)經(jīng)驗,制定了C語言程序設(shè)汁課程教學(xué)體系的改革方案。該教學(xué)體系改革方案從教材內(nèi)容、教學(xué)方法、教學(xué)手段、上機實踐和考核評價體系五個方面展開。
二、編寫優(yōu)質(zhì)配套教材,實施教材改革
我們按照研究性學(xué)習(xí)的內(nèi)涵編寫了《研究式學(xué)習(xí)——C語言程序設(shè)計》教材,目前正在進(jìn)行面向“計算思維”的新版教材的編寫。該系列教材具備以下特點:
(1) 編寫理念科學(xué)性強
整套教材的編寫以“研究式學(xué)習(xí)”理念為指導(dǎo),研究性學(xué)習(xí)是一種建構(gòu)性的、追求協(xié)商的、尊重個性的、以人為本的“體驗式學(xué)習(xí)”。在2006年的《國家精品課程評估指標(biāo)》中新增了一條指標(biāo):“重視研究性學(xué)習(xí)、探究性學(xué)習(xí)、協(xié)作學(xué)習(xí)等現(xiàn)代教育理念在教學(xué)中的應(yīng)用;能夠根據(jù)課程內(nèi)容和學(xué)生特征,對教學(xué)方法和教學(xué)評價進(jìn)行設(shè)計。”所以研究性學(xué)習(xí)是以人為本的高等教育價值觀的體現(xiàn),是社會變革和教育發(fā)展的要求,也是精品課程的要求。研究性學(xué)習(xí)的關(guān)鍵是要在學(xué)習(xí)的各個階段提出適當(dāng)?shù)难芯繂栴},以便在學(xué)習(xí)過程中為學(xué)生創(chuàng)造能親臨體驗地進(jìn)行研究學(xué)習(xí)的平臺,問題的提出貫穿在課堂教學(xué)、實驗教學(xué)、課后作業(yè)、綜合性作業(yè)以及評價的整個教學(xué)過程中。我們自2004年開始就致力于打造C語言程序設(shè)計精品課程,所有的教學(xué)和改革都圍繞該指導(dǎo)思想進(jìn)行。2007年以C語言程序設(shè)計為主體的“程序設(shè)計與計算機語言”被評為省級精品課程,2010年由教材主編主持申報到了省級質(zhì)量工程教改項目“Inquiry Learning體系在程序設(shè)計課程中的運用”研究。這一系列的改革和研究都是以學(xué)生為主體,以培養(yǎng)和提高學(xué)生的計算機素養(yǎng)為最終目的而制定的。在教學(xué)過程中我們經(jīng)常與學(xué)生座談和交流,了解學(xué)生的需求,完善我們的教學(xué),使我們的教材和教學(xué)模式能與時俱進(jìn),保持很好的前瞻性和科學(xué)性。
(2) 內(nèi)容組織創(chuàng)新性強
本教材用“提出問題—分析問題—給出相關(guān)知識—舉一反三”的研究式學(xué)習(xí)方式來組織“C語言程序設(shè)計”這門課程,在注重語言知識培養(yǎng)的同時,更注重邏輯思維能力、程序設(shè)計能力及創(chuàng)新能力的培養(yǎng)。內(nèi)容組織方式新穎,符合認(rèn)識規(guī)律,富有啟發(fā)性,便于學(xué)習(xí),有利于激發(fā)學(xué)生學(xué)習(xí)興趣及各種能力的培養(yǎng)。本教材每章都通過4個步驟來完成學(xué)習(xí):
第1步,通過提出問題、分析問題來激發(fā)學(xué)生的興趣,引起學(xué)生的思考。
第2步,通過問題的解決、相關(guān)知識點的跟進(jìn),使學(xué)生能逐步提升程序設(shè)計的能力,掌握C語言的知識,引導(dǎo)學(xué)生深入思考。
第3步,用一定數(shù)量的編程實例使學(xué)生深入理解和掌握所學(xué)知識,用具有趣味性的綜合應(yīng)用編程實例培養(yǎng)學(xué)生的邏輯思維能力和編程能力,挖掘?qū)W生的創(chuàng)新能力。
第4步,對每部分的知識進(jìn)行小結(jié),以便學(xué)生進(jìn)一步鞏固應(yīng)掌握的知識。
每章后面都有“綜合應(yīng)用”部分,讓學(xué)生對所學(xué)知識的具體運用有明確的認(rèn)識,并能在此基礎(chǔ)上進(jìn)一步鞏固和提升。
三、采取多樣性方法,實施教學(xué)方法的改革
(1)任務(wù)驅(qū)動教學(xué)方法
大多數(shù)學(xué)生反映C語言概念眾多,許多知識點抽象且難以理解,學(xué)生不能將理論和實際應(yīng)用結(jié)合起米, 任務(wù)驅(qū)動教學(xué)法是一種建立在建構(gòu)主義學(xué)習(xí)理論基礎(chǔ)上的教學(xué)法,它將以往以傳授知識為主的傳統(tǒng)教學(xué)理念,轉(zhuǎn)變?yōu)橐越鉀Q問題、完成任務(wù)為主的多維巨動式的教學(xué)理念;將再現(xiàn)式教學(xué)轉(zhuǎn)變?yōu)樘骄渴綄W(xué)習(xí),使學(xué)生處于積極的學(xué)習(xí)狀態(tài),每一位學(xué)生都能根據(jù)自己對當(dāng)前問題的理解,運用共有的知識和自己特有的經(jīng)驗提出方案、解決問題。在c語言程寧沒計課中.體現(xiàn)“任務(wù)驅(qū)動”就是讓學(xué)生在一個個典型的程序“任務(wù)”驅(qū)動下,教師引導(dǎo)幫助學(xué)生完成一系列程序“任務(wù)”,把知識的學(xué)習(xí)和知識的應(yīng)用有機地融合在一起,讓學(xué)生達(dá)到融會貫通、一點帶面的效果。例如,在講授C語言循環(huán)語句的教學(xué)時,按任務(wù)驅(qū)動教學(xué)模式不是孤立地介紹格式、作用和使用方法,而是將這一知識點設(shè)計為“計算1+2+3+……+1 00=?”這一具體的任務(wù)。首先,教師通過提出“任務(wù)”讓學(xué)生把握教學(xué)內(nèi)容,同學(xué)們會想象怎么完成這個任務(wù),頭腦里對前而的所學(xué)內(nèi)容進(jìn)行回顧,但前面學(xué)過的知識沒法完成這種任務(wù)。接下來教師再講解如何使用循環(huán)語句等具體操作方法,這樣教學(xué),學(xué)生學(xué)得快、學(xué)得牢。通過實踐發(fā)現(xiàn)“任務(wù)驅(qū)動”法有利于激發(fā)學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生的分析問題、解決問題的能力,提高學(xué)生自主學(xué)習(xí)及與他人協(xié)作的能力,縮短了學(xué)習(xí)周期。
(2) 項目教學(xué)法
很多學(xué)生在學(xué)完C語言程序沒汁課程后,其結(jié)果是聽得懂、卻編不出程序來。針對這一情況,我們在教學(xué)過程中采用項目教學(xué)法。項目教學(xué)法是通過實施一個完整的項目而進(jìn)行的教學(xué)活動,其目的是在課堂教學(xué)中把理論與實踐有機地結(jié)合起來,充分發(fā)掘?qū)W生的創(chuàng)造潛能,提高學(xué)生解決實際問題的綜合能力。在課程初期.主要是進(jìn)行單項的編程練習(xí),重在掌握C語言的基本數(shù)據(jù)類型、語句與程序結(jié)構(gòu)等。在進(jìn)入函數(shù)、數(shù)組、指針、結(jié)構(gòu)體和文件內(nèi)容教學(xué)時,開始綜合實訓(xùn)項日的編程設(shè)計,每一個實訓(xùn)項日都呵以用前一個實訓(xùn)項目為基礎(chǔ)。通過一個項目的層層遞進(jìn),引入課程內(nèi)容,使得學(xué)生的學(xué)習(xí)循序漸進(jìn),螺旋式地上升,效果很好,開闊學(xué)生的思維,使得學(xué)生在課堂上真正地成為“主體”,教師則扮演“主導(dǎo)”角色。該教學(xué)方法使學(xué)生積極參與到教學(xué)過程中,變被動為主動,有效地調(diào)動了學(xué)生學(xué)習(xí)的積極性,深受學(xué)生好評。
(3)比較教學(xué)法
C語言中的概念比較復(fù)雜,規(guī)則繁多.而且內(nèi)容前后聯(lián)系緊密,教學(xué)過程中教師通過對比的方式對相關(guān)的概念或類似的程序代碼進(jìn)行比較,進(jìn)而明確差異,然后進(jìn)行歸納總結(jié),方便學(xué)生理解,將會收到事半功倍的效果 例如,C語言中的指針是教學(xué)中的一個難點.這一部分涉及的概念較多,如指向變量的指針、指向數(shù)組的指針、指向字符串的指針、指向函數(shù)的指針等。這些概念很容易混淆,但是將這些概念對比起來講解,學(xué)生就很容易理解了。這些概念的共性都是指針,那么它們不同的地方在哪呢?關(guān)鍵在于指針變量的指向不同,指針?biāo)赶蜃兞康臄?shù)據(jù)類型決定了指針變量的用法。通過這樣的講解,概念的定義就很容易理解,概念的用法也就可以統(tǒng)一了。再如,數(shù)據(jù)的排序問題有多種算法,典型的有冒泡排序、選擇排序、插入排序等,求解方程的根的算法也有多種,有迭代法、牛頓迭代法、二分法和弦截法等。這些算法之間既有聯(lián)系又有區(qū)別,講清楚了算法的聯(lián)系和區(qū)別,也就解決了整個問題。
(4)啟發(fā)式教學(xué)法
啟發(fā)式教學(xué)法就是通過教師的啟發(fā)教學(xué)充分調(diào)動學(xué)生的積極性、主動性和創(chuàng)造性,引導(dǎo)學(xué)生主動學(xué)習(xí)。例如,在學(xué)習(xí)printf()和scanf()函數(shù)時,通過比較式啟發(fā)方法講解兩函數(shù)的功能、格式、使用特性等方面的異同,通過比較使學(xué)生更好地把握兩函數(shù)的特征。在學(xué)習(xí)選擇排序算法時,使用模擬式啟發(fā)方法,讓l0個學(xué)生隨機坐在相鄰的l0個位子上,然后現(xiàn)場模擬排序過程;在學(xué)習(xí)數(shù)據(jù)交換算法時,使用比喻式和問題式啟發(fā)方法,將兩個變量比喻成兩個瓶子,將里面存放的數(shù)據(jù)比喻成醋和醬油,然后提問:如果將兩個瓶子中的醋和醬油交換一下,應(yīng)如何操作。
(5)“魚漁兼授式”教學(xué)方法。C語言只是一種表述工具,如果只有扎實的語法知識,沒有程序設(shè)計思想,根本就不可能寫出程序;而如果有程序設(shè)計思想,但語法知識不扎實,勢必在程序的編寫、運行過程中遇到一系列的問題,從而影響學(xué)生的學(xué)習(xí)熱情。而“魚漁兼授式”教學(xué)方法可以在基礎(chǔ)語法知識和程序設(shè)計方法之問找到一個平衡點,使之相輔相成。例如,在講解數(shù)據(jù)類型時著重講解為什么數(shù)據(jù)要分不同的數(shù)據(jù)類型,需要從哪幾個角度學(xué)習(xí)不同數(shù)據(jù)類型的特性;講解具體算法時著重講解遇到類似問題時應(yīng)從哪些角度分析問題,用什么方法進(jìn)行程序設(shè)計從而解決問題;在課前精心設(shè)計一些錯誤,尤其是邏輯錯誤,然后講解遇到錯誤可以采用什么手段去剖析、定位錯誤。
四、建立立體化教學(xué)體系,實施教學(xué)手段的改革
我們從2006年就開始了立體化教學(xué)體系的建設(shè),我們建立了精品課程網(wǎng)站,實現(xiàn)了“在線教育”,現(xiàn)在我們課程的課件、課堂教學(xué)錄像、軟件、二級等考及相關(guān)閱讀等教學(xué)資源都放在了網(wǎng)絡(luò)上,作業(yè)也通過網(wǎng)絡(luò)來實現(xiàn)布置、提交和批閱。師生之間可以通過教學(xué)郵箱和課程論壇進(jìn)行交流,任課教師可以自己定制調(diào)查問卷,隨時了解學(xué)生的動態(tài)和需求,還可以隨時進(jìn)行在線測試,課程考試已經(jīng)完全實現(xiàn)了網(wǎng)絡(luò)無紙化模式。學(xué)生可根據(jù)自身的情況進(jìn)行課后自主學(xué)習(xí)、自測學(xué)習(xí)、互相學(xué)習(xí)或下載資料、上交作業(yè),有助于學(xué)生的個性化發(fā)展和創(chuàng)新能力的培養(yǎng)。設(shè)計出包含驗證型、引導(dǎo)型、擴(kuò)充型和設(shè)計型等多種類型的實驗,在實踐中充分體現(xiàn)學(xué)生的自主性,有目的、分層次地培養(yǎng)學(xué)生的實踐能力,使學(xué)生學(xué)會從實驗過程中獲取知識,積累經(jīng)驗。通過綜合設(shè)計,為學(xué)生自己構(gòu)建、發(fā)展并完善自己的知識體系創(chuàng)造機會,使學(xué)生具備獲取知識和應(yīng)用知識的能力,激發(fā)學(xué)生的創(chuàng)新精神,培養(yǎng)學(xué)生的團(tuán)隊精神和協(xié)作能力,全面提高學(xué)生的實踐能力。
教學(xué)實踐證明:學(xué)生在課程網(wǎng)站上作業(yè)及報告的提交率達(dá)到98%以上,問卷調(diào)查的訪問量達(dá)到了85%以上,優(yōu)秀設(shè)計作業(yè)的訪問率達(dá)到90%以上,其他資料的訪問率也高于60%。由此可見,立體化教學(xué)體系很好的實現(xiàn)了不受時間、地點限制的開放式教學(xué)。
五、上機環(huán)節(jié)的改革與實踐
上機環(huán)節(jié)是教學(xué)活動的重要環(huán)節(jié),是對學(xué)生進(jìn)行基本技能訓(xùn)練、增強學(xué)生實踐能力的關(guān)鍵環(huán)節(jié),是培養(yǎng)學(xué)生創(chuàng)新精神的重要手段。本科實踐教學(xué)的目的是優(yōu)化學(xué)生的素質(zhì)結(jié)構(gòu)、能力結(jié)構(gòu)和知識結(jié)構(gòu),讓其具備獲取知識、應(yīng)用知識的能力和創(chuàng)新能力。對于《程序設(shè)計與計算機語言》課程,以往的實踐教學(xué)內(nèi)容和題目以驗證型和設(shè)計型為主。驗證型的題目只要求學(xué)生按照書本上的指示,輸入程序,填寫結(jié)果即可,學(xué)生處于被動接受的地位,學(xué)生覺得無趣,毫無創(chuàng)意;設(shè)計型的題目對于非計算機專業(yè)學(xué)生來說,難度太大,學(xué)生無從下手。為了全面提高學(xué)生的實踐能力和應(yīng)用能力,使實踐教學(xué)能滿足不同層次學(xué)生自主學(xué)習(xí)的需求,我們制定并實施了以下改革措施:
(1)改革上機實踐的教學(xué)模式:將以理論教學(xué)為主的教學(xué)模式改為由理論教學(xué)和實踐教學(xué)相互聯(lián)系、相互交叉、彼此滲透、有機結(jié)合、同步發(fā)展的教學(xué)模式,確立了實踐教學(xué)在《程序設(shè)計基礎(chǔ)》課程中的重要地位。
(2)設(shè)計多種類型的實驗題目:針對學(xué)生存在基礎(chǔ)不同、接受能力不同、個性有差異等問題,設(shè)計出包含驗證型、引導(dǎo)型、擴(kuò)充型和設(shè)計型共四種類型的實驗,題目盡可能做到覆蓋知識點,切合實際、生動有趣。通過完成不同類型的實驗,有目的、分層次地培養(yǎng)學(xué)生的實踐能力,使學(xué)生學(xué)會從實驗過程中獲取知識,積累經(jīng)驗。
(3)在實踐中充分體現(xiàn)學(xué)生的自主性:實驗課的實驗任務(wù)由規(guī)定實驗內(nèi)容和自主實驗內(nèi)容兩部分組成。學(xué)生在完成規(guī)定的實驗任務(wù)后,可根據(jù)自己的興趣和愛好,自主設(shè)計一些實驗任務(wù),在教師的指導(dǎo)和幫助下加以完成和實現(xiàn)。通過自主學(xué)習(xí)和自主設(shè)計,能有效地培養(yǎng)學(xué)生應(yīng)用知識的能力和探索精神,極大地激發(fā)學(xué)生的學(xué)習(xí)主動性。
(4) 啟發(fā)引導(dǎo)學(xué)生的創(chuàng)造性,培養(yǎng)學(xué)生的團(tuán)隊協(xié)作精神:本課程要求學(xué)生以小組(3~5人)為單位進(jìn)行綜合性程序設(shè)計,設(shè)計題目主要由學(xué)生自己按綜合設(shè)計要求來確定,每個小組推選出一名小組長,負(fù)責(zé)協(xié)調(diào)程序的開發(fā)、與教師和組員的聯(lián)系、提交總的設(shè)計報告和完整的源程序等工作。在綜合設(shè)計過程中,學(xué)生處于主導(dǎo)地位,是核心。學(xué)習(xí)小組的組建,綜合設(shè)計題目的選擇或確定,各組員任務(wù)的分配與協(xié)調(diào),任務(wù)完成后的總結(jié)與成績的自評等,主要是按學(xué)生的意愿來進(jìn)行。教師只負(fù)責(zé)宏觀指導(dǎo)和一些條件支持。當(dāng)學(xué)生的選題不符合要求或系統(tǒng)功能設(shè)計不合理時,教師會立即指出,并幫助他們修改和完善;當(dāng)學(xué)生調(diào)不通程序或程序中有錯誤時,教師會向他們介紹調(diào)試方法和查錯方法,教會他們調(diào)試程序。對學(xué)習(xí)好、能力強的優(yōu)秀學(xué)生,教師會注重開擴(kuò)他們的思路,啟發(fā)他們的思維,引導(dǎo)他們?nèi)カ@取新知識、去探索新問題,激發(fā)他們的創(chuàng)新欲望,使他們能完成高水平的綜合設(shè)計。通過綜合設(shè)計,可充分體現(xiàn)以學(xué)生為中心的教學(xué)方法,為學(xué)生自己構(gòu)建、發(fā)展并完善自己的知識體系創(chuàng)造機會,使學(xué)生具備獲取知識和應(yīng)用知識的能力,激發(fā)學(xué)生的創(chuàng)新精神,培養(yǎng)學(xué)生的團(tuán)隊精神和協(xié)作能力,全面提高學(xué)生的實踐能力,從而有效地提高《程序設(shè)計與計算機語言》課程的教學(xué)質(zhì)量。
六、考核評價體系的改革
我校C語言程序設(shè)計課程的成績分為理論和實踐兩個分?jǐn)?shù),各2個學(xué)分,兩項成績都合格即可獲得該課程的4個學(xué)分。其中:
理論課綜合成績(百分制)=平時(百分制)*(50%)+末考(百分制)*50%;
上機實踐綜合成績(百分制)=平時(百分制)*(60%)+綜合設(shè)計(百分制)*40%;
理論成績由平時成績和末考成績組成。其中:平時成績由上課考勤、作業(yè)提交、階段性實驗報告組成,占總成績的50%;末考指的是期末閉卷無紙化考試,末考側(cè)重于基礎(chǔ)知識測試,考核學(xué)生對基本概念的掌握。題型包括:判斷題、選擇題、填空題和編程題,判斷題題型重點考察學(xué)生對基本知識點的掌握程度,選擇題和填空題重點考察學(xué)生對程序的閱讀、理解和分析能力,編程題則重點考察學(xué)生編寫程序的能力。
無紙化考試采用的是我們中心自己研發(fā)的考試系統(tǒng),但該系統(tǒng)存在一點缺陷,就是編程題需要人工閱卷。因此,我們于2012年開設(shè)了一個試點班,本著提高學(xué)生編程能力的目的出發(fā),從平時的教學(xué)和最后的考試都試用了哈工大研發(fā)的《C語言編程題自動評分系統(tǒng)》。該系統(tǒng)允許學(xué)生借助于 C編譯系統(tǒng)調(diào)試程序,學(xué)生將自己編寫并調(diào)試過的程序由客戶端提交給服務(wù)器端后,服務(wù)器端立即根據(jù)學(xué)生程序的結(jié)構(gòu)和語義進(jìn)行評分,并將評分返回給客戶端,使學(xué)生在提交程序之后立即看到自己的分?jǐn)?shù)。
上機實踐成績則由平時成績和綜合設(shè)計成績構(gòu)成。其中:平時成績由上機考勤、在線單元測試組成,占總成績的60%;課程最后提交的綜合設(shè)計則占到了40%。
該考核評價體系涉及到教學(xué)實施過程中的每一個環(huán)節(jié),有利于對學(xué)生進(jìn)行科學(xué)、客觀的評價,從而避免了一張考卷定乾坤帶來的弊病。
該體系在實施過程中顯現(xiàn)出了其科學(xué)性,但是目前存在的問題就是教師的負(fù)擔(dān)太重。一個學(xué)生一學(xué)期一般要提交12份報告,每位教師一般帶兩個班,每個班約88位同學(xué),這樣每位教師一個學(xué)期只報告一項就要批閱約2000份,工作量太大。現(xiàn)在正在努力尋求更加合理的解決方法。
七、結(jié)束語
教學(xué)實踐證明,以上改革措施能夠有效解決我校C語言程序設(shè)計教學(xué)過程中存在的問題。此教學(xué)模式下,教學(xué)內(nèi)容符合學(xué)生專業(yè)特點,能夠滿足理工科專業(yè)學(xué)生對計算機技術(shù)的需求;教學(xué)方法行之有效,教學(xué)效果有明顯提高;教學(xué)實踐方法與措施切實可行,能夠有效促進(jìn)學(xué)生分析問題解決問題能力、實踐能力及團(tuán)隊合作能力等能力的培養(yǎng)與提高。當(dāng)然,該模式仍然存在一些不盡如人意的地方,這就需要我們堅持不懈,繼續(xù)努力去改進(jìn)和完善。
項目來源:云南省高校質(zhì)量工程教改項目“Inquiry learning體系在程序設(shè)計中的運用”(云教高[2010]96號)。
[參考文獻(xiàn)]
[1]王剛.CDIO工程教育模式的解讀與思考[J].中國高教研究,2009(5).
[2]謝延紅.C語言程序設(shè)計公共課教學(xué)模式改革與實踐[J].計算機時代,2010(12).
[3]馬新.《C語言程序設(shè)計》課程教學(xué)方法與手段的改革與實踐[J].科技信息,2010(33).
關(guān)鍵詞:C語言 程序設(shè)計 算法 興趣
中圖分類號:G64 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2012)09(b)-0164-02
《C語言程序設(shè)計》是我校計算機類各專業(yè)開設(shè)的一門專業(yè)基礎(chǔ)課程,也是非計算機專業(yè)理工科開設(shè)的一門公共基礎(chǔ)課程。主要講授C程序設(shè)計語言的基本知識和程序設(shè)計的方法與技術(shù)。通過本課程的學(xué)習(xí),使學(xué)生掌握計算機程序設(shè)計的思想和方法,初步具有在各領(lǐng)域應(yīng)用計算機的能力,并為后續(xù)課程的學(xué)習(xí)創(chuàng)造條件。但從教學(xué)過程來看,學(xué)生們普遍反映C語言難學(xué),概念難理解,學(xué)完后編程不知如何入手等問題,因此,學(xué)習(xí)失去興趣,掛科率一直高居不下,使學(xué)生對該課程產(chǎn)生了畏懼心理。教師教學(xué)效果不理想。在此,結(jié)合教學(xué)實踐,根據(jù)遇到的一些問題提出自己的解決思路。
1 激發(fā)學(xué)生的學(xué)習(xí)興趣
要想學(xué)生學(xué)好C語言,提高學(xué)生的學(xué)習(xí)興趣,首先必須讓學(xué)生對課程有個全局的認(rèn)識。學(xué)生在接觸一門新課程前,最關(guān)心的問題就是這門課程是學(xué)什么、學(xué)完之后可以做什么[1]。因此,在教學(xué)之初,教師應(yīng)首先使學(xué)生明確學(xué)習(xí)這門課程的目的、要求以及目標(biāo),使學(xué)生初步了解該課程在本專業(yè)中處于什么位置,為什么要學(xué)習(xí)該課程,學(xué)好該課程對于個人的專業(yè)發(fā)展有什么作用,教師可以結(jié)合程序設(shè)計在本專業(yè)中應(yīng)用的實例,使學(xué)生明白學(xué)習(xí)該課程的重要性和必要性,從而激發(fā)學(xué)習(xí)興趣。另外,由于C語言的概念比較抽象,在每一章初期概念講解階段,可以多舉一些與生活密切相關(guān)的例子,為概念的引入做準(zhǔn)備,以激發(fā)學(xué)生的學(xué)習(xí)興趣。例如,在介紹數(shù)組這個概念時,由于數(shù)組是一種新的數(shù)據(jù)類型,為加深學(xué)生的理解,可以提出一個問題讓同學(xué)們思考:一個班學(xué)生的學(xué)習(xí)成績應(yīng)該如何存儲呢?并提示學(xué)生這些數(shù)據(jù)有何特點,從而引出在C語言中如何存儲,從而引出數(shù)組這個概念。這種方法能夠發(fā)展學(xué)生的探索能力,避免了直接的理論說教,不僅能激發(fā)學(xué)生的學(xué)習(xí)興趣,還能加深學(xué)生對新知識點的理解。此外,在教學(xué)過程中,布置一些有趣味性的編程題目,積極鼓勵有能力的同學(xué)參加軟件設(shè)計大賽,使學(xué)生通過獨立或團(tuán)體完成一個軟件設(shè)計,增強他們的學(xué)習(xí)自信,調(diào)動學(xué)習(xí)熱情,提高學(xué)習(xí)興趣。
2 注重知識的歸納總結(jié)
和自然語言一樣,許多字詞可能是相近的、相反的或者是相同的,字詞間存在著內(nèi)在的聯(lián)系[2]。在C語言中,涉及到此類的知識點時,可以采用歸納總結(jié)的方法進(jìn)行教學(xué)。例如,循環(huán)結(jié)構(gòu)中的while語句,do-while語句和for語句。在學(xué)生充分掌握三種語句的基礎(chǔ)上,教師對這三種循環(huán)語句進(jìn)行歸納總結(jié),歸納三種語句的異同點,并針對同一程序詳細(xì)介紹如何用這三種語句分別實現(xiàn)。便于學(xué)生對循環(huán)結(jié)構(gòu)的靈活掌握。另外,C語言中學(xué)到的知識點都是零星、片面的,有些甚至是容易混淆的,比如說運算符的優(yōu)先級和結(jié)合性,教師在課堂中對此類知識點進(jìn)行歸納總結(jié),方便學(xué)生的比較與記憶。并且在新的一章開始學(xué)習(xí)之前,對上一章的內(nèi)容進(jìn)行重點、難點以及小結(jié)的歸納總結(jié),便于學(xué)生溫故而知新,避免學(xué)生邊學(xué)邊忘,前后知識不銜接的問題。
3 注重算法思維的培養(yǎng)
算法是程序設(shè)計的靈魂,在程序設(shè)計中要設(shè)計一個好的程序首先要對程序的算法有較詳細(xì)的了解,其次才是采用編程語言對算法的實現(xiàn)。但很多學(xué)生學(xué)完C語言課程后不會編程,甚至不知道從何下手。造成這一現(xiàn)象的主要原因是由于程序設(shè)計的思想與學(xué)生傳統(tǒng)的思維方式不一致,學(xué)生缺乏對算法的抽象思維能力,因此不會分析問題,無法寫出算法,這就需要教師在介紹程序范例時注重學(xué)生算法思維能力的培養(yǎng)。教師首先提出問題,可以選擇一些與實際生活貼近的小例子,如雞兔同籠問題,引發(fā)學(xué)生進(jìn)行思考,然后詳細(xì)分析問題,啟發(fā)學(xué)生用現(xiàn)有的思維方式去思考如何解決,得到解決問題方法后再啟發(fā)學(xué)生將其轉(zhuǎn)化為算法,并可以改變現(xiàn)有條件,使學(xué)生在對新問題的思考過程中,培養(yǎng)學(xué)生對算法舉一反三的能力,最后教師對算法進(jìn)行總結(jié)歸納,加深學(xué)生對這類問題的理解。將具體問題和學(xué)生的現(xiàn)有知識聯(lián)系起來,有利于克服學(xué)生的畏難情緒,也有利于使學(xué)生快速掌握算法。
4 認(rèn)真上好實驗課
《C語言程序設(shè)計》是一門實踐性很強的課程,“邊學(xué)邊練”是掌握這門課程的最好方法。因此,我們根據(jù)理論教學(xué)進(jìn)度安排了實驗課,并制定了專門的實驗指導(dǎo)書,實驗指導(dǎo)書明確了上機實驗?zāi)康暮鸵螅贫藢嶒瀮?nèi)容和詳細(xì)的操作步驟,并為程度較高的學(xué)生設(shè)置了選做題目。在實驗過程中,注重以學(xué)生為主體,教師為主導(dǎo),安排的實驗內(nèi)容循序漸進(jìn),采用模仿-改正-編程的實踐訓(xùn)練思路來培養(yǎng)學(xué)生[3],使學(xué)生在運行程序和調(diào)試程序中鍛煉分析問題和解決問題的能力,對于實驗過程中學(xué)生提出的疑難問題,教師首先加以引導(dǎo)或者提示,啟發(fā)他們獨立思考解決問題,經(jīng)過自己思考解決問題往往印象比較深,也能激發(fā)學(xué)生的學(xué)習(xí)熱情,對于實驗中存在問題比較多的題目,教師及時進(jìn)行總結(jié),并在課堂中統(tǒng)一進(jìn)行指導(dǎo),不僅節(jié)約時間,滿足同學(xué)們的需要,而且對知識的掌握起到鞏固加強的目的。
5 提高教師素質(zhì)
由于《C語言程序設(shè)計》課程教學(xué)任務(wù)較重,所以計算機專業(yè)老師難以承擔(dān)所有的課程教學(xué)任務(wù),造成許多任課老師都是各個院系的非專業(yè)老師,缺乏系統(tǒng)的程序設(shè)計思想。針對這一情況,學(xué)校每學(xué)年都多次組織計算機學(xué)院多年從事課程教學(xué)并且經(jīng)驗豐富的專業(yè)老師對任課教師進(jìn)行培訓(xùn),針對課程內(nèi)容進(jìn)行串講,在串講過程中,任課老師可以對在教學(xué)過程中的疑難問題以及教材中出現(xiàn)的問題進(jìn)行討論。促進(jìn)教師之間的教學(xué)交流,并創(chuàng)建了QQ群以及網(wǎng)絡(luò)平臺,便于老師們之間的信息共享以及交流,努力提高教師素質(zhì)。另外,學(xué)校每學(xué)年組織《C語言程序設(shè)計》教學(xué)競賽,教師教學(xué)的積極性顯著提高,使教師不斷擴(kuò)充自己的知識水平和能力,不斷學(xué)習(xí)新的教學(xué)方法和手段,從而提高課堂教學(xué)效果。
6 改革考核方式
為了扎實推進(jìn)學(xué)校教學(xué)改革,切實提高《C語言程序設(shè)計》課程教學(xué)質(zhì)量,對《C語言程序設(shè)計》課程考試環(huán)節(jié)進(jìn)行了改革,在傳統(tǒng)的考核方式理論成績(70%)和平時成績(30%)基礎(chǔ)上,新增了上機考試環(huán)節(jié),課程成績由平時成績(15%)、理論成績(70%)、機試成績(15%)等3部分組成。理論考試重點考核學(xué)生的C語言基礎(chǔ)知識、編程思想和算法分析能力,上機考試重點考核學(xué)生的動手編程操作能力和程序調(diào)試能力。機試的考試系統(tǒng)由學(xué)校自主開發(fā),學(xué)生考試時由系統(tǒng)自動從100套試題庫中隨機抽題進(jìn)行考試,做到了嚴(yán)格的公平公正。實踐后表明,這種考核方式能夠更加客觀地反映學(xué)生的知識掌握程度,同時能夠促進(jìn)學(xué)生主動學(xué)習(xí),提高學(xué)生的動手操作能力。
實踐證明,C語言的教學(xué)改進(jìn)可以提高學(xué)生的學(xué)習(xí)興趣,有利于學(xué)生對相關(guān)概念的理解以及編程能力的培養(yǎng),使學(xué)生逐步掌握分析問題、解決問題的思維能力,同時也為非計算機類專業(yè)學(xué)生將程序設(shè)計思想靈活運用到自己的專業(yè)領(lǐng)域打下了基礎(chǔ)。
參考文獻(xiàn)
[1] 胡丹.非計算機專業(yè)《C語言程序設(shè)計》教學(xué)探討[J].電腦知識與技術(shù),2011,7(34):8983-8985.
關(guān)鍵詞:C語言程序設(shè)計;教學(xué)改革;創(chuàng)新教育;自主創(chuàng)新;現(xiàn)代教學(xué)
中圖分類號:G642文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2012)26-6310-03
The C Language Program Design Teaching Strategies and Effect
WANG Xiao-xia
Abstract: Using the full text discusses the idea of the innovation education C program design science research and practice teach? ing reform. First of all this teaching reform theoretical basis and purpose. Analysis C language program design characteristics. Based on this the independent innovation of teaching reform mode.
Key words: C program design; education reform; innovation education; independent innovation; the modern teaching
隨著科學(xué)技術(shù)和社會的發(fā)展和進(jìn)步,教育作為社會文化的重要載體,人們對高質(zhì)量的現(xiàn)代教育需求尤為突出。我國的傳統(tǒng)的教育模式是已經(jīng)遠(yuǎn)不能滿足當(dāng)前受教育者的需求,特別是《國家中長期教育改革和發(fā)展規(guī)劃綱要》中提出了“創(chuàng)新人才培養(yǎng)模式。適應(yīng)國家和社會發(fā)展需要,遵循教育規(guī)律和人才成長規(guī)律。深化教育教學(xué)改革,創(chuàng)新教育教學(xué)方法,探索多種培養(yǎng)方式。注重學(xué)思結(jié)合。倡導(dǎo)啟發(fā)式、探究式、討論式、參與式教學(xué),幫助學(xué)生學(xué)會學(xué)習(xí),激發(fā)學(xué)生的好奇心,培養(yǎng)學(xué)生的興趣愛好,營造獨立思考、自由探索、勇于創(chuàng)新的良好環(huán)境,適應(yīng)經(jīng)濟(jì)社會發(fā)展和科技進(jìn)步的要求,推進(jìn)課程改革。充分發(fā)揮現(xiàn)代信息技術(shù)作用,促進(jìn)優(yōu)質(zhì)教學(xué)資源共享。把改革創(chuàng)新作為教育發(fā)展的強大動力。教育要發(fā)展,根本靠改革。把提高質(zhì)量作為教育改革發(fā)展的核心任務(wù)。”
《C語言程序設(shè)計》課程是計算機專業(yè)中重要的專業(yè)基礎(chǔ)課,它是計算機專業(yè)和相關(guān)專業(yè)的必修課,是廣泛應(yīng)用的高級程序設(shè)計語言之一。它具有功能齊全強大、結(jié)構(gòu)性能強、內(nèi)容抽象,概念很復(fù)雜、規(guī)則比較多,易于出錯,具有豐富的數(shù)據(jù)類型等。《C語言程序設(shè)計》的重要特點給教學(xué)帶來極大難度。
依據(jù)《教育規(guī)劃綱要》和教學(xué)現(xiàn)狀突出問題,在《C語言程序設(shè)計》課程教學(xué)中進(jìn)行深化改革更具有重要性和必要性。教學(xué)改革的關(guān)鍵是自主創(chuàng)新。自主創(chuàng)新是相對于技術(shù)引進(jìn)、模仿而言的一種創(chuàng)造活動,是指通過擁有自主知識產(chǎn)權(quán)的獨特的核心技術(shù)以及在此基礎(chǔ)上實現(xiàn)新產(chǎn)品的價值的過程。因此,《C語言程序設(shè)計》課程教學(xué)應(yīng)著重于創(chuàng)新教學(xué)方法,不斷提高自主創(chuàng)新能力,提升教學(xué)品質(zhì),創(chuàng)新人才培養(yǎng)模式,構(gòu)建自主創(chuàng)新的現(xiàn)代教學(xué)模式。
1現(xiàn)代教學(xué)觀
教學(xué)是培養(yǎng)學(xué)生的創(chuàng)造性活動。現(xiàn)代教學(xué)不僅是傳授知識,更重要的是全面提高學(xué)生素質(zhì),發(fā)展學(xué)生的智力和潛能。這就要求創(chuàng)新教學(xué)方法體系。深化教學(xué)改革的目標(biāo)是全面育人。因此,教學(xué)中應(yīng)具有教育性、創(chuàng)造性、科學(xué)性和實踐性,應(yīng)是教師主導(dǎo)作用與學(xué)生主體作用相結(jié)合的過程,應(yīng)是從“以教師為中心”轉(zhuǎn)向“以學(xué)生為中心”和“做中教,做中學(xué)”的過程,教學(xué)應(yīng)培養(yǎng)學(xué)生自主學(xué)習(xí)和促進(jìn)學(xué)生的全面發(fā)展。
2現(xiàn)代教學(xué)手段
科學(xué)技術(shù)的進(jìn)步和發(fā)展使陳舊的教學(xué)行為與現(xiàn)代社會要求不相適應(yīng)的。現(xiàn)代教學(xué)手段就是將現(xiàn)代的先進(jìn)科學(xué)技術(shù)引用到教學(xué)活動中,運用多媒體技術(shù)進(jìn)行教學(xué)授課、演示操作、測試、制作教學(xué)課件和電子教案等。將各種教學(xué)手段有機融合在教學(xué)活動中,使教學(xué)科學(xué)化、規(guī)范化和現(xiàn)代化,并提高“質(zhì)重于量”的教學(xué)效率,現(xiàn)代教學(xué)手段是現(xiàn)代科學(xué)技術(shù)在教學(xué)中的重要應(yīng)用,是教學(xué)技術(shù)的重要進(jìn)步。
3現(xiàn)代教學(xué)法
3.1以突破“函數(shù)、數(shù)組、指針”作為教學(xué)切入點
C程序是由函數(shù)組成的,函數(shù)是C程序中的重要概念和核心部分,也是程序設(shè)計中的重要手段,使用函數(shù)可以提高程序設(shè)計的效率。數(shù)組是C語言提供的一種常用的結(jié)構(gòu)型數(shù)據(jù)類型。指針是C語言具有代表性特征的功能之一,使用指針可以編制出簡潔明快、功能強的程序,指針的概念比較復(fù)雜,使用也很靈活。數(shù)組和指針在《C語言程序設(shè)計》中具有極其重要的作用,是《C語言》程序中重要核心內(nèi)容,是學(xué)習(xí)C語言的難點和重點之一,學(xué)生很難于理解。因此,突出重點講解和強化突破“函數(shù)、數(shù)組與指針”概念的理解和運用是學(xué)生深刻理解和熟練掌握《C語言程序設(shè)計》的關(guān)鍵,起到化解難點的作用,使學(xué)生學(xué)習(xí)《C語言》獲得事半功倍和非常輕松的效果。
3.2組合式教學(xué)法
組合式教學(xué)法就是將啟發(fā)式、探究式、討論式、參與式、實例式、課題式和實驗式教學(xué)法有機結(jié)合并貫穿于全部課程教學(xué)中。
3.2.1啟發(fā)式教學(xué)
教學(xué)中引用相關(guān)的知識和實例并運用多媒體技術(shù)現(xiàn)代教學(xué)手段等進(jìn)行演示講析。
3.2.2探究式教學(xué)
教學(xué)中提出課題進(jìn)行探索研究。
3.2.3討論式教學(xué)
教學(xué)中針對學(xué)習(xí)課題師生之間進(jìn)行研究分析和解決。
3.2.4參與式教學(xué)
教學(xué)中引導(dǎo)學(xué)生進(jìn)行解析學(xué)習(xí)課題。
3.2.5實驗式教學(xué)
教學(xué)中引入實驗、課程設(shè)計等,對教學(xué)課題進(jìn)行實際操作。
教學(xué)中針對教學(xué)課題內(nèi)容適時運用組合式教學(xué)法,其重要特點是教學(xué)方法靈活、有的放矢,培養(yǎng)學(xué)生自主學(xué)習(xí)和學(xué)會學(xué)習(xí),培養(yǎng)學(xué)生的動手能力和實踐能力,提高學(xué)生的分析問題和解決問題能力,做中教和做中學(xué)相結(jié)合,理論教學(xué)和實踐教學(xué)有機結(jié)合,課堂教學(xué)與學(xué)生自主學(xué)習(xí)相結(jié)合,調(diào)動學(xué)生學(xué)習(xí)的積極性和主動性,增強學(xué)生的學(xué)習(xí)興趣,突破C程序的教學(xué)難度,以多媒體技術(shù)為主,圖文動態(tài)演示,增強學(xué)生對C程序設(shè)計的感性認(rèn)識,多種教法有機融合、優(yōu)勢互補。有效的體現(xiàn)了師生互動、啟發(fā)引導(dǎo)、因材施教、精講多練和理論與實踐相結(jié)合的教學(xué)方式和教學(xué)過程。
3.3實例教學(xué)法
實例教學(xué)法是選擇適合課題的并具有典型性、規(guī)律性、代表性和示范性的范例融入到教學(xué)中。面向?qū)W生,針對學(xué)生的好奇心理,利用典型實際案例講析,舉一反三,深入淺出。
實例教學(xué)法非常適合《C語言程序設(shè)計》課程教學(xué),特別是程序設(shè)計核心部分更為明顯。C語言是一種結(jié)構(gòu)化的程序設(shè)計語言,它的基本結(jié)構(gòu)是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。其中,循環(huán)結(jié)構(gòu)是程序基本結(jié)構(gòu)中很重要的核心部分并具有很大的難度,它是C語言程序中的重要內(nèi)容。教學(xué)中重點突破理解循環(huán)結(jié)構(gòu)功能和正確靈活運用循環(huán)結(jié)構(gòu)進(jìn)行程序設(shè)計是進(jìn)行高效編寫高質(zhì)量程序教學(xué)的重要關(guān)鍵性教學(xué)技術(shù)。針對此問題引用實例教學(xué)法是最佳有效的實現(xiàn)方法。
實例教學(xué)法實施過程:
1)講析循環(huán)語句格式和功能。
格式和功能;演示課件。
2)引例計算1+2+3+…+100
分別用while語句、d0一while語句、for語句編寫程序。
程序:演示課件
在C環(huán)境下運行程序,演示運行結(jié)果,學(xué)生察看運行結(jié)果。
3)導(dǎo)析畫出流程圖,講析語句的執(zhí)行過程。
演示課件
4)引導(dǎo)學(xué)生依據(jù)流程圖分析語句的特點和各語句間的不同點
5)導(dǎo)題:如果i初值設(shè)為l0l,以上例子運行結(jié)果是多少?
在C環(huán)境下運行程序,演示運行結(jié)果,學(xué)生看到運行結(jié)果,印象深刻。
6)總結(jié):
①3種循環(huán)可以互相代替。
②在while和do—while循環(huán)中,循環(huán)體應(yīng)包含使循環(huán)趨于結(jié)束的語句。
③其它
7)導(dǎo)題:選擇合適的循環(huán)語句:
①輸出100~200內(nèi)能被3整除的數(shù)。(使用for語句合適)
②輸出用“$”號組成的圖形,如每行有10個號組成的長方形、等腰三角形狀。(使用for語句合適)
③輸出九九乘法表。(使用for語句合適)
通過運用實例教學(xué)法,增強學(xué)生的學(xué)習(xí)積極性和興趣,強化學(xué)生主動學(xué)習(xí),深刻理解知識點,提高學(xué)生分析問題和解決問題的能力,有效突破教學(xué)難點,為學(xué)生學(xué)習(xí)其它程序設(shè)計打下堅實的基礎(chǔ)。
3.4課題教學(xué)法
課題教學(xué)法就是將具有多功能和典型范例的研究課題引入到教學(xué)實踐活動中。其特點是將學(xué)生自主學(xué)習(xí)融入到教學(xué)中,教師對學(xué)生學(xué)習(xí)進(jìn)行引導(dǎo)和指導(dǎo),從“教學(xué)生學(xué)”到“教學(xué)生學(xué)會學(xué)”轉(zhuǎn)變,貫穿“做中教和做中學(xué)”,著重實踐性,使學(xué)生深刻理解和掌握《C語言程序設(shè)計》功能和特點,突破學(xué)習(xí)《C語言程序設(shè)計》難度,提高學(xué)生的程序設(shè)計能力和操作技能,培養(yǎng)學(xué)生探索創(chuàng)新的能力,以適應(yīng)現(xiàn)代社會需求。
通過《C語言程序設(shè)計》教學(xué)改革探究實踐,獲得更高的教學(xué)質(zhì)量。教學(xué)改革是新世紀(jì)現(xiàn)代社會發(fā)展的需要,現(xiàn)代教學(xué)模式是切實可行的。自主創(chuàng)新是現(xiàn)代教學(xué)實效性的關(guān)鍵,基于自主創(chuàng)新的現(xiàn)代教學(xué)方法是創(chuàng)造性的教學(xué)實踐。教學(xué)實踐展現(xiàn)了教學(xué)改革的重要意義并凸顯較好的教學(xué)效果。面向未來,教學(xué)要以科學(xué)發(fā)展觀的教育思想向高新科學(xué)技術(shù)不斷挑戰(zhàn)并伴隨可持續(xù)性教育發(fā)展不斷創(chuàng)新。
參考文獻(xiàn):
[1]林東,陳琳.編程語言基礎(chǔ)——C語言[M]. 2版.北京:高等教育出版社,2006.
關(guān)鍵詞: C語言;常見錯誤;程序調(diào)試;實例
中圖分類號:TP312文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2009)35-9969-02
Analysis of Common Error Based on C Programming Language
GAO Ya-xia1, ZOU Hai-rong2
(1.Shaanxi Commercial School, Hanzhong 723000, China; 2.Shaanxi Institute Of Technology, Hanzhong 723000, China)
Abstract: In recent years, not only the computer professionals use C language, but also the majority of staff computer applications favorite and use. In the use of C language application development, due to C language has a flexible programming style, grammar constraints are less stringent and program design large degree of freedom and so on. This C language to a number of beginner and causing a number of difficulties, in order to be able to quickly identify and correct errors in the program; this paper, the C language program design issues common mistakes analysis and research. Gives some examples and reference solutions, in order to learn C language program designed users to provide with convenient.
Key words: C Language; common errors; debugging program; example
C語言是在國內(nèi)外廣泛流行、使用的一種計算機高級程序設(shè)計語言。它的主要特點是:概念簡潔、數(shù)據(jù)類型豐富、表達(dá)能力強,運算符多且使用方便靈活。與其它程序設(shè)計語言相比較,具有靈活的編程風(fēng)格,語法限制不太嚴(yán)格,程序設(shè)計自由度大(例如:一個語句可以采用多種方式,分多行撰寫;對數(shù)組下標(biāo)越界不做檢查;整型、字符型和邏輯型的數(shù)據(jù)可以通用等)。這就給程序設(shè)計人員留下“靈活的余地”,但是由于這個靈活往往給程序調(diào)試,尤其對初學(xué)C語言的人來說,經(jīng)常會出一些連自己都不知道錯在哪里的實例。看著有錯的程序,不知該如何進(jìn)行修改。通過在C語言的教學(xué)與研究過程中,分析了一些關(guān)于C語言程序設(shè)計時容易犯的錯誤實例,提供給學(xué)習(xí)C語言的同學(xué)及相關(guān)人員參考。
1 C語言常見錯誤實例與分析
實例1.Printf語句中“控制字符串”部分分寫在不同的行。
例如:main()
{ printf(“* * * * *”\n
Very good!\n
* * * * * \n);}
該程序的目的是為了顯示這樣的結(jié)果: * * * * *
Very good!
* * * * *
但程序運行后卻出現(xiàn)錯誤信息:“Unterminated string or character constant in function main”,對上述錯誤,只要在程序第二行、第三行的最后分別加上“\” 即可得到正確的結(jié)果,也就是說printf語句中的“控制字符串”部分分寫在不同的行時加“\”連接。
實例2. 忽略了“=”與“==”的區(qū)別。
在許多高級語言中,用“=”符號作為關(guān)系運算符“等于”。如在BASIC程序中可以寫if (m=10) then …,但C語言中,“=”是賦值運算符,“==”是關(guān)系運算符。
例如:if (m==10) m=n;
前者是進(jìn)行比較,m是否和10相等,后者表示如果m和10相等,把n值賦給m。由于習(xí)慣問題,初學(xué)者往往很容易犯這樣的錯誤。
實例3.定義變量的位置不正確。
例如:#include
main()
{ char ch,filename[10];
scanf(“%s”,filename);
FILE *fp;
fp=fopen(filename,“w”);
ch=getchar();
while(ch!=‘#’)
{ fputc(ch,fp);putchar(ch);ch=getchar();}
fclose(fp);}
程序運行后出現(xiàn)錯信息“Improper use of a typedef symbol in function main”,只要把第六行:FILE *fp;放到第四行前,程序通過。原因是:說明部分要放在其他語句之前。
實例4.將字符常量與字符串常量混淆。
char ch;
ch="M";
在這里就混淆了字符常量與字符串常量,字符常量是由一對單引號括起來的單個字符,而字符串常量是一對雙引號括起來的字符序列。C規(guī)定以‘\0’作字符串結(jié)束標(biāo)志,它是由系統(tǒng)自動加上的,所以字符串“M”實際上包含兩個字符:‘M'和‘\0',而把它賦給一個字符變量是不正確的。
實例5.輸入變量時忘記加地址運算符“&”。
int a,b;
scanf("%d%d",a,b);
這是不合法的。Scanf函數(shù)的作用是:按照a、b在內(nèi)存的地址將a、b的值存進(jìn)去。“&a”指a在內(nèi)存中的地址。“&b”指b在內(nèi)存中的地址。
實例6.輸入數(shù)據(jù)的方式與要求不符。
1) scanf("%d%d",&x,&y);
輸入時,不能用逗號作兩個數(shù)據(jù)間的分隔符,如下面輸入不合法:
1,5
輸入數(shù)據(jù)時,在兩個數(shù)據(jù)之間以一個或多個空格間隔,也可用回車鍵,跳格鍵tab。
2) scanf("%d,%d",&x,&y);
C規(guī)定:如果在“格式控制”字符串中除了格式說明以外還有其它字符,則在輸入數(shù)據(jù)時應(yīng)輸入與這些字符相同的字符。下面輸入是合法的:
1,5
此時不用逗號而用空格或其它字符是不對的。如下面輸入不合法:
1 5 1:5
又如:scanf("a=%d,b=%d",&a,&b);輸入應(yīng)如以下形式:
a=1,b=5
實例7.輸入字符的要求與格式不一致。
在用“%c”格式輸入字符時,“轉(zhuǎn)義字符”和“空格字符”都作為有效字符輸入。
scanf("%c%c%c",&c1,&c2,&c3);
例如:輸入O K !
則字符“O”送給c1,空格字符“ ”送給c2,字符“K”送給c3,因為%c只要求讀入一個字符,后面不需要用空格作為兩個字符的間隔。
實例8. 同時定義了形參與函數(shù)中的局部變量。
int max(x,y)
int x,y,z;
形參應(yīng)該在函數(shù)體外定義,而局部變量應(yīng)該在函數(shù)體內(nèi)定義。應(yīng)改為:
int max(x,y)
int x,y;
{int z;
z=x>y?x:y;
return(z);}
實例9. 誤用變量定義數(shù)組。
int n;
scanf("%d",&n);
int a[n];
數(shù)組名后用方括號括起來的是常量表達(dá)式,可以包括常量和符號常量。即C不允許對數(shù)組的大小作動態(tài)定義。
實例10. 被調(diào)用的函數(shù)未在主函數(shù)中進(jìn)行聲明。
例如:main()
{ int a,b,*p1,*p2;
Scanf(“%d,%d”,&a,&b);
p1=&a;p2=&b;
if(a
printf(“5d,%d\n”,*p1,*p2); }
void swap(int *p1,int *p2)
{ int *p;
P=*p1;*p1=*p2;*p2=p; }
程序運行后出現(xiàn)錯誤信息:“Type mismatch in redeclaration of ‘swap’”,只要在程序的第二句int a,b;前加一句:void swap();程序運行通過。也就是說:被調(diào)用函數(shù)的定義出現(xiàn)在主調(diào)函數(shù)之后(除了函數(shù)的值是整型或字符型的),要在main()函數(shù)中對被調(diào)用函數(shù)進(jìn)行說明,void型函數(shù)也不例外。
2 結(jié)論
通過上面這些實例的分析,可以看出,由于C語言的開放式編程風(fēng)格,讓C語言初學(xué)者,在進(jìn)行C語言程序設(shè)計時往往會出現(xiàn)一些微妙的、不易覺察的錯誤。C語言作為一門完善的編程語言,具有它的科學(xué)性與嚴(yán)謹(jǐn)性。因此,只有在充分掌握和熟練運用C語言的基本概念、語法規(guī)范及結(jié)構(gòu)的基礎(chǔ)上,才能真正享受到C語言靈活自如的編程風(fēng)格的魅力,這也是學(xué)習(xí)一切科學(xué)知識的基本方法。
參考文獻(xiàn):
[1] 譚浩強.C程序設(shè)計[M].北京:清華大學(xué)出版社,2008:37-242.
[關(guān)鍵詞]模式;方法;手段;改革
引言
我們都知道,C語言概念比較復(fù)雜,規(guī)則較多,使用靈活,容易出錯,學(xué)生掌握起來有一定的難度。傳統(tǒng)的C語言程序設(shè)計教學(xué)中,主要以課堂講授為主,且在教學(xué)過程中采用的大多是純理論的抽象案例,這對于高校學(xué)生,尤其是職業(yè)院校的學(xué)生而言,既抽象又枯燥無味,不能充分體現(xiàn)職業(yè)教育的特點,另外內(nèi)容難以理解和接受,學(xué)生學(xué)起來自然沒有動力,從而導(dǎo)致課堂教學(xué)質(zhì)量不高,學(xué)生學(xué)習(xí)興趣不濃,學(xué)習(xí)效果不佳,不能真正理解程序設(shè)計的精髓,因此普遍反映C語言難學(xué)。《C語言程序設(shè)計》是電子各專業(yè)都開設(shè)的一門非常重要的專業(yè)基礎(chǔ)課,掌握好C語言程序設(shè)計技術(shù)為學(xué)生學(xué)習(xí)后續(xù)一些較高級的變成語言打下良好的基礎(chǔ)。針對以上情況,對《C語言程序設(shè)計》進(jìn)行了教學(xué)改革,主要對教學(xué)模式、教學(xué)方法以及教學(xué)手段等幾方面進(jìn)行了改革,變老師主導(dǎo)型教學(xué)為與學(xué)生交互型學(xué)習(xí)的教學(xué)過程,在教學(xué)過程中不斷探索新的教學(xué)方法和嘗試先進(jìn)的教學(xué)手段。
一、教學(xué)模式的改革
首先,改變了以往的授課方式,從以前的合班上課方式改為單班微機室授課。這種授課方式,可以使學(xué)生先理解老師所講授的理論內(nèi)容,然后可通過上機實踐,加深理解并真正掌握課堂內(nèi)容,同時也提高了學(xué)生的動手編程能力,充分調(diào)動學(xué)生學(xué)習(xí)的積極性和主動性。學(xué)習(xí)程序設(shè)計的最佳方法就是自己進(jìn)行編寫程序,在實踐中發(fā)現(xiàn)問題解決問題并逐步提高水平。而這種授課方式,正好可以將理論與實踐相結(jié)合,由于單班進(jìn)行授課,老師可以對每位學(xué)生進(jìn)行一對一輔導(dǎo),做到“教學(xué)做”一體化,所以教學(xué)效果良好。其次,我們針對這種新的單班微機室授課方式,重新編寫了教案。在教案的組織上遵循的原則主要是理論與實踐相結(jié)合,組織方式是,對于每一個項目,首先介紹概念、原理、算法、語法和注意事項,然后通過適當(dāng)?shù)陌咐齺碇v解,立即讓學(xué)生上機實踐,教師當(dāng)堂輔導(dǎo)學(xué)生編寫和調(diào)試程序,使學(xué)生能夠?qū)φn程內(nèi)容當(dāng)堂理解,當(dāng)堂消化吸收。再次,對考核方式進(jìn)行了改革,將期末成績劃分為平時成績+項目考核成績,+教學(xué)科成績,考核成績的方法是平時成績占20%,項目考核成績占20%,教學(xué)科成績占50%。這種考核方式即可以考核學(xué)生的平時表現(xiàn),又可以考核學(xué)生對課程的掌握程度。既考察了理論知識的掌握情況,也考察了學(xué)生的實踐動手編程能力。通過綜合學(xué)生的意見反饋,學(xué)生對這種考核方法也表示贊同和認(rèn)可。
二、教學(xué)手段的改革
首先,在C語言程序設(shè)計課程教學(xué)過程中,考慮到本門課程的特點,對于要講解的案例進(jìn)行分析,發(fā)揮傳統(tǒng)教學(xué)的優(yōu)勢,進(jìn)行課堂討論、板書講解、結(jié)合提問,將問題層層剖析、層層深入,充分調(diào)動學(xué)生的積極性和主觀能動性。另外,充分利用多元化、現(xiàn)代化的教學(xué)手段。在教學(xué)過程中,運用多媒體技術(shù)進(jìn)行輔助教學(xué),有利于激發(fā)學(xué)生的學(xué)習(xí)興趣,能發(fā)揮學(xué)生的主體能力,優(yōu)化教學(xué)過程。在教學(xué)過程中應(yīng)多方位應(yīng)用現(xiàn)代教育技術(shù)手段,尤其是多媒體輔助教學(xué)手段與網(wǎng)絡(luò)化輔助教學(xué)手段。在課堂教學(xué)中采用多媒體教學(xué)課件,加強直觀教學(xué),可提高學(xué)生的空間想象力。要充分利用計算機網(wǎng)絡(luò)開展網(wǎng)上答疑、網(wǎng)上測試、網(wǎng)絡(luò)教學(xué),及時解決學(xué)生在學(xué)習(xí)與生活中遇到的種種問題,使其檢驗自己本階段的學(xué)習(xí)成果,加強對所學(xué)知識的吸收和消化。對C語言程序的調(diào)試過程及運行機制學(xué)生很難理解,很難想象其過程,如果將其做成課件,以動畫的形式模擬其過程,學(xué)生就能很快地掌握。教師應(yīng)從最簡單的C語言程序的調(diào)試入手,詳細(xì)演示C語言程序的調(diào)試過程與調(diào)試細(xì)節(jié),同時讓學(xué)生參與進(jìn)來,實現(xiàn)教師與學(xué)生、學(xué)生與學(xué)生的雙向交流和互動,提高學(xué)生的學(xué)習(xí)興趣,加深學(xué)生的理解與記憶。其次,對以往上機考試模式進(jìn)行了改革。以往上機考試為教師出幾道程序設(shè)計題,全班學(xué)生都答一樣的題,這樣存在一些弊端。現(xiàn)在上機考試模式改為采用c語言程序設(shè)計題庫抽題,每位學(xué)生進(jìn)入考試系統(tǒng),系統(tǒng)具有自動出題、隨機組卷、計時收卷、實時評分和記錄成績功能,大大提高了考試效率。每名學(xué)生的3道考題是隨機產(chǎn)生的,與旁邊學(xué)生的考題都不相同,所有考題題目都來自于國家二級考試模擬題題庫,具備一定的針對性,同時c語言程序設(shè)計題庫有兩種使用方式,平時練習(xí)和正式考試,學(xué)生可以在平時練習(xí),系統(tǒng)自動會給出所有練習(xí)題的答案,這樣學(xué)生能在練習(xí)的過程中逐步提高自己編寫程序的水平。因為是電腦計時評分,時間一到馬上就收卷然后給出成績,因此在練習(xí)的過程中就迫使學(xué)生必須經(jīng)常練習(xí),不知不覺中也就提高了C語言程序設(shè)計的能力。
三、教學(xué)方法的改革
在教學(xué)方法上主要采用多種教學(xué)方法相結(jié)合的方法。首先利用問題探究教學(xué)法引入本節(jié)課要學(xué)習(xí)的知識,這種教學(xué)法能夠充分發(fā)揮學(xué)生的主動性,突出學(xué)生的主體作用,有效地培養(yǎng)學(xué)生分析問題與解決問題的能力,以“冒泡排序”為例,可以采取先跟學(xué)生講解什么叫“冒泡”,然后讓學(xué)生設(shè)計冒泡排序的算法思路,然后讓學(xué)生討論并寫出算法流程圖,最后講解如何用for程序結(jié)構(gòu)實現(xiàn)算法,完成整個程序的編寫。其次,可利用和采用歸納教學(xué)法和案例教學(xué)法。歸納教學(xué)法引導(dǎo)學(xué)生對c語言中的定義、概念、語法規(guī)則進(jìn)行歸納,將會起到事半功倍的效果,例如:getchar與putchar函數(shù),有很多語法規(guī)則是一樣的,對它們進(jìn)行歸納之后,學(xué)生只要記住其中一個,另一個自然就會使用了。C語言是應(yīng)用性很強的一門課程,既有理論,又有實踐,既講方法,又講動手能力。采用案例教學(xué)法可以改變“滿堂灌”的做法,將學(xué)生的眼、手、腦全部調(diào)動起來,培養(yǎng)學(xué)生的學(xué)習(xí)興趣。筆者將課程內(nèi)容分為若干個主題,以程序設(shè)計作為貫穿各主題的主線,每個主題的教學(xué)過程由“要點講解”、“自學(xué)/上機實踐”和“疑難解答”三個階段組成。通過案例分析,重點講解程序設(shè)計的思想和方法,輔以語言知識的介紹,然后通過上機練習(xí),包括基本訓(xùn)練(自測作業(yè)和主題作業(yè))與綜合訓(xùn)練(大型作業(yè)),教師針對學(xué)生暴露出的問題答疑解惑,結(jié)合案例教學(xué),努力將C語言作為解決實際問題的工具,強化學(xué)生的編程能力,在分析程序與程序設(shè)計的過程中使學(xué)生逐步熟悉語法,應(yīng)用語句,提高學(xué)生分析問題、解決問題的能力,由淺入深、由易到難、循序漸進(jìn)地使學(xué)生在實踐中掌握知識,培養(yǎng)程序設(shè)計能力,逐步理解和掌握程序設(shè)計的思想和方法,最終在課堂上教師扮演“主導(dǎo)”角色,而學(xué)生真正地成為“主體”。再次,由于每個學(xué)生學(xué)習(xí)的動機、興趣、能力存在較大的個體差異,所以決定了C語言課程必須因材施教。針對學(xué)習(xí)能力較強的學(xué)生,鼓勵他們自學(xué),并給予方向性指導(dǎo),讓他們超前學(xué)習(xí)。針對學(xué)習(xí)能力較弱的學(xué)生進(jìn)行單獨輔導(dǎo),加強學(xué)生學(xué)習(xí)的積極性。對于大多數(shù)學(xué)生,精力主要放在最基本、最常用的內(nèi)容上,讓他們學(xué)好基礎(chǔ)知識,領(lǐng)悟程序設(shè)計的方法,為后續(xù)其他課程的學(xué)習(xí)打下基礎(chǔ)。另外,教學(xué)過程中,應(yīng)不時地進(jìn)行換位思考,從學(xué)生的角度來考慮問題,注意師生的互動效果,以提高學(xué)生學(xué)習(xí)的積極性和主動性。總之,《C語言程序設(shè)計》教學(xué)改革取得了非常理想的教學(xué)效果,無論是在學(xué)生成績的提高上,還是學(xué)生的反映上,以及考試的效率上等均達(dá)到了教學(xué)目的,但仍存在一些不足,以上是對C語言程序設(shè)計教學(xué)課程的心得體會,希望對廣大的同仁能有一定的參考價值。
參考文獻(xiàn):
[1]謝志江等.案例教學(xué)法在工科教學(xué)中的應(yīng)用[J].高等工程教育研究,2003(5):12-17.
[2]譚浩強.C程序設(shè)計(第三版)[M].北京:清華大學(xué)出版社,2005.
[3]陳國英.提高計算機語言課上機實踐教學(xué)的改革與實踐[J].洛陽農(nóng)業(yè)高等專科學(xué)校學(xué)報,2002.
[4]全國計算機等級考試二級教程C語言程序設(shè)計[M].北京高等教育出版杜.
[5]孔垂柳,田地.基于程序設(shè)計思想的C語言教學(xué)方案.吉林大學(xué)學(xué)報(信息科學(xué)版),2005,23(8):5-6.
[6]陳東.計算機多媒體教學(xué)改革的一些嘗試[J].福建師范大學(xué)學(xué)報(自然版).2004,20
[7]李明等.C語言程序設(shè)計教程[M].上海:上海交通大學(xué)出版社,2007,26-32.
關(guān)鍵詞:計算機;C語言程序設(shè)計;教學(xué)改革;教學(xué)實踐
中圖分類號:G433 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2012)003-0194-02
作者簡介:劉桂玲(1976-),女,內(nèi)蒙古赤峰人,碩士,天津職業(yè)技術(shù)師范大學(xué)附屬高級技術(shù)學(xué)校講師,研究方向為計算機應(yīng)用技術(shù)。
0 引言
C語言是一種結(jié)構(gòu)化語言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。C語言的表現(xiàn)能力和處理能力極強。它不僅具有豐富的運算符和數(shù)據(jù)類型,便于實現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu),還可以直接訪問內(nèi)存的物理地址,進(jìn)行位(bit)一級的操作。C語言在很多方面都可以應(yīng)用,不僅在軟件開發(fā)上,而且在各類科研工作中都是需要用到C語言的。C語言是入門的課程,也是非常重要的課程。
目前,計算機專業(yè)的基礎(chǔ)課都會有《C語言程序設(shè)計》,可見這門課程的重要性。學(xué)習(xí)這門課程,可以培養(yǎng)學(xué)生的邏輯思維能力以及形成一種程序化的思想。這門課程在內(nèi)容上并不是很難,但在現(xiàn)實中卻發(fā)現(xiàn),教學(xué)效果并不是很理想,很多學(xué)生都覺得這門課程枯燥乏味。在這樣的情況下,能學(xué)好C語言的學(xué)生很少。但我們卻必須要學(xué)好這門課程,不然后續(xù)的課程會更加難學(xué),或者說幾乎就聽不懂也不會寫。下面我們先分析現(xiàn)實教學(xué)中存在的一些問題。
1 C語言教學(xué)中存在的問題
一般來說,教學(xué)中存在的問題都是包括幾方面的,因為教學(xué)是教師和學(xué)生共同的活動,即有教師方面的問題,同樣也會有學(xué)生方面的問題、教學(xué)方法上的問題、教學(xué)過程中的問題、水平評價中的問題,還有學(xué)科本身特征所導(dǎo)致的一些問題,同樣。硬件設(shè)備、教學(xué)環(huán)境等外在的條件也是教學(xué)中存在問題的因素。
正確認(rèn)識存在的問題,把問題找出來,再根據(jù)不同的問題尋找出每一個問題背后的真正原因,然后對癥下藥,就可以把問題解決好。在教學(xué)過程中,筆者發(fā)現(xiàn)C語言教學(xué)主要存在以下幾方面的問題:
(1)在教學(xué)的過程中,主要體現(xiàn)為教學(xué)方法上的問題。現(xiàn)在很多教師還采用傳統(tǒng)的較單一的教學(xué)方式,過于注重理論知識的講授,在教法上墨守成規(guī),很少有創(chuàng)新,本來內(nèi)容就比較枯燥的一門課程,如果教師在教學(xué)過程中不能使它變得有趣一些,就很難調(diào)動學(xué)生的積極性和激發(fā)學(xué)生的興趣和信心。
(2)在教學(xué)內(nèi)容上,教師過于注重C語言的理論教學(xué),也就是對一些概念和語法規(guī)則等的教學(xué)偏重。概念本來就是比較枯燥的內(nèi)容,如果過于講概念的話,更容易讓學(xué)生對這門課程失去興趣。現(xiàn)實中的大部分教學(xué)都是講理論講語法為主,一個學(xué)期可能只有三、四次上機動手實踐,而這門課程很重要的一方面就是動手實踐能力。如果在教學(xué)中過少實踐,則很難提升學(xué)生的能力,無法達(dá)到培養(yǎng)學(xué)生程序設(shè)計和調(diào)試能力的目的,就難以學(xué)好C語言。
(3)在水平評價方面,水平評價制度是否合理是否科學(xué),很大程度上就決定著教學(xué)質(zhì)量的好壞。大部分教學(xué)都是為了準(zhǔn)備考試,考什么就學(xué)什么,怎么考就怎么學(xué),怎么教。比如,考試是考筆試、考定義,那么教師就會在平常的教學(xué)中注重概念及定義的學(xué)習(xí)、理解和記憶。如果考的是上機操作,這就要求教師在教學(xué)中要注重學(xué)生實踐操作能力的培養(yǎng),注重邏輯思維能力的培養(yǎng)。
2 教學(xué)改革建議
2.1 綜合運用各種教學(xué)方法
由于C語言課程本身的特性,學(xué)生會覺得這門課程比其它的科目更枯燥。其實只要懂得去調(diào)動學(xué)生的積極性,學(xué)生還是會喜歡上這門課程的。在平常的講課過程中,我們要善于運用不同的方法來教學(xué),根據(jù)實際需要靈活使用各種不同的教學(xué)方法和手段,以求取得好的教學(xué)效果。
如數(shù)據(jù)類型的概念、流程控制、函數(shù)的定義與調(diào)用、指針的概念等采用教師主導(dǎo)的傳統(tǒng)教學(xué)方法會更好一些。但在其它一些方面,如理解性的知識,教師一定要充分利用好教學(xué)資源,合理使用多媒體教學(xué),有效彌補傳統(tǒng)教學(xué)的不足。可以將難以理解的內(nèi)容或不容易觀察到的事物用媒體充分顯示出來。如可以借助flas模擬排序,運用多媒體教學(xué)事先設(shè)計好教學(xué)課件。這樣可以節(jié)省板書時間、實現(xiàn)資源共享和提高效率。但在多媒體教學(xué)環(huán)境下,板書設(shè)計的重要性被大家弱化了。理論教學(xué)主要進(jìn)行課件的演示,這種方法對剛接觸程序設(shè)計的學(xué)生是非常不利的。在程序設(shè)計的初級階段,教師應(yīng)該適當(dāng)?shù)乩冒鍟鴣碇v解,因為程序編寫是有思考過程的,利用板書逐步寫出程序,這樣在整個過程中能夠隨意控制需要顯示的內(nèi)容,并且和語速、回顧、提問等環(huán)節(jié)有機結(jié)合起來.從而促使學(xué)生的思路與教師的講解保持同步,而利用課件演示事先編寫好的程序則由于給予學(xué)生的思考時間不夠?qū)е聦W(xué)生的印象不深刻,從而導(dǎo)致教學(xué)效果不佳。所以在進(jìn)行理論教學(xué)時,要將多媒體與板書設(shè)計相結(jié)合,充分發(fā)揮各自的優(yōu)點,從而使學(xué)生在直觀感受和思維訓(xùn)練等不同方面都能獲得最好的授課效果。
2.2 注重動手能力的培養(yǎng)
C語言是一門以實際操作為主的科目,學(xué)習(xí)C語言程序設(shè)計應(yīng)當(dāng)充分重視實驗環(huán)節(jié)。很多教師實驗時間安排很少的原因是:還有很多基本語句沒學(xué)好,或者說還有很多結(jié)構(gòu)沒有掌握,因此不適合上機操作。在這里,筆者認(rèn)為教師不應(yīng)該等到學(xué)生把所有要用的知識都掌握了才讓學(xué)生去上機,如果學(xué)生掌握得慢的話,無形中就壓縮了上機的時間。即使有些語句學(xué)生還不會,還是可以讓學(xué)生上機,在操作和編程的過程中,學(xué)生不但可以鞏固課堂上所講的理論知識,不懂的那部分還可以在操作的過程中通過實踐和摸索自己總結(jié)出來。通過不斷去試,得到不同的結(jié)果,這種直觀的結(jié)果可以讓學(xué)生馬上領(lǐng)會到不同的結(jié)構(gòu)不同的語句所產(chǎn)生的效果。這樣的上機操作比單純講理論更有趣更容易。
教師在上實驗課時盡量要求學(xué)生多編寫程序,多上機調(diào)試程序,從最簡單的編程開始,再慢慢讓學(xué)生不斷擴(kuò)展。上機也不能僅僅為了編程的正確性,更重要的還在于讓學(xué)生熟練掌握上機操作要領(lǐng)和調(diào)試程序技術(shù),積累編程經(jīng)驗,加深學(xué)生對講授內(nèi)容的理解。尤其是一些語法規(guī)定,光靠課堂講授比較枯燥又難以記住,但它們又很重要,通過多次上機就能自然地熟練掌握。通過上機來掌握語法規(guī)則是行之有效的一種方法。
在實際教學(xué)中,筆者發(fā)現(xiàn)了一個有趣的現(xiàn)象,如這門課程的第一個實驗就是按任意鍵輸出一行字如:你好。這是書本上提供的實驗,在上機過程中發(fā)現(xiàn)有的學(xué)生把它改成了“我是笨蛋”,編好之后讓同學(xué)來測試,結(jié)果引起一陣轟笑。其實我覺得這種時候?qū)W生能這樣開些玩笑反而更好。不但可以提高上機的趣味性,還能激發(fā)他們用C語言來比拼的欲望,一邊玩笑一邊學(xué)習(xí),效果將會更好,可激勵學(xué)生多創(chuàng)新。
2.3 革新水平評價體系
考核在教學(xué)過程中起著非常重要的導(dǎo)向作用,考核是了解學(xué)生學(xué)習(xí)狀況的依據(jù),學(xué)生和教師都非常重視。目前計算機專業(yè)教育的改革力度很大,但在考核方面,多年來進(jìn)展不大。《C語言程序設(shè)計》課程的考核方式是以筆試為主,考試的重點是語法和基本的邏輯推導(dǎo)能力,忽略了學(xué)生對所學(xué)知識的綜合應(yīng)用能力的考核。因此,必須建立以學(xué)生解決實際問題能力為考核基準(zhǔn)的考核模式,堅持理論教學(xué)與實踐相結(jié)合,堅持學(xué)與用并重,實踐操作應(yīng)重視創(chuàng)新,培養(yǎng)學(xué)生靈活運用知識以及創(chuàng)新知識的能力。考核方式應(yīng)該以實踐和操作為主,筆試為輔,平時的上機操作成績也要納入到期末的水平評價中。在實際教學(xué)中發(fā)現(xiàn),學(xué)生們更喜歡項目式的考試與平常的作業(yè)和上機相結(jié)合來定成績,他們認(rèn)為這樣就減輕了期末考試的壓力,因為很大一部分考核在平時的學(xué)習(xí)和上機過程中就完成了。
此外,作為教師,在教學(xué)的同時也應(yīng)該不斷提升自己,與時俱進(jìn),站在新知識的最前端,這樣才能更好地教授學(xué)生知識。如果教師不充電,不提升自己,在講課中將很難體現(xiàn)一個教師的魅力和感染力以及這個教師的知識水平。在這個計算機技術(shù)高速發(fā)展的社會,不學(xué)習(xí)新知識只會被社會甩在后面。
3 結(jié)束語
《C語言程序設(shè)計》是計算機專業(yè)的基礎(chǔ)課程,一定要注重程序設(shè)計思維的培養(yǎng),在教學(xué)過程中應(yīng)積極探索符合各層次培養(yǎng)目標(biāo)的教學(xué)方法、教學(xué)內(nèi)容及考核方式。要建立良好的師生關(guān)系,充分發(fā)揮教師的指導(dǎo)作用,使學(xué)生在學(xué)習(xí)中不僅能掌握編程的知識和技術(shù),還具備利用計算機求解實際問題的基本能力。這才是教學(xué)的目的,也是改革的目標(biāo)。
參考文獻(xiàn):
\[1\] 謝竟博.C語言程序設(shè)計教學(xué)中的問題及改革建議\[J\].重慶郵電大學(xué)學(xué)報,2008(2).
\[2\] 魏青.C語言教學(xué)中學(xué)生學(xué)習(xí)興趣的培養(yǎng)\[J\].電腦知識與技術(shù),2010(21).
[關(guān)鍵詞] 教學(xué)方法 案例教學(xué) 教學(xué)效果
C語言程序設(shè)計是計算機專業(yè)的基礎(chǔ)課,在整個課程體系中占有重要地位。在C語言教學(xué)過程中,教師的教法和學(xué)生學(xué)法的差異,對教學(xué)效果都會產(chǎn)生直接的影響。針對學(xué)生學(xué)習(xí)語言課程的一般思維規(guī)律和思維模式,進(jìn)一步探討適合專科院校學(xué)生的教學(xué)方法,對以后的C語言程序設(shè)計教學(xué)有所幫助。
一、C語言教學(xué)中的問題
C語言程序設(shè)計是一個邏輯性很嚴(yán)謹(jǐn)?shù)恼n目,學(xué)生在設(shè)計程序時常常感到無從下手。其原因可分為兩個方面:一是所使用的教材,在每一章節(jié)介紹完概念之后,提供一些例子加深學(xué)生對概念的理解,針對本章中出現(xiàn)的內(nèi)容提供一些練習(xí)題。用來測試學(xué)生對各章節(jié)中的基本概念記憶和理解程度。二是學(xué)生更多關(guān)注的是教材中的典型例題,對于程序的系統(tǒng)概念沒有真正掌握理解,沒有整體設(shè)計的概念,在做練習(xí)題時涉及到綜合編程部分感到困惑。學(xué)生在學(xué)習(xí)的過程中,沒有注意到如何綜合運用相關(guān)內(nèi)容解決具體問題,以導(dǎo)致學(xué)生在學(xué)完程序設(shè)計課程時,進(jìn)入應(yīng)用階段,面對具體的專業(yè)設(shè)計要求無從下手。
二、提高教學(xué)質(zhì)量的途徑
通過C語言課程的學(xué)習(xí),學(xué)生應(yīng)正確理解C語言的基本概念,掌握語句的格式及用法,編寫出優(yōu)化的實用程序。我們知道C語言課程強調(diào)的是實踐性,對于計算機語言課程的教學(xué)不應(yīng)僅僅是傳授知識,應(yīng)該以培訓(xùn)能力為主,過分強調(diào)該語言的系統(tǒng)性和完整性可能會轉(zhuǎn)移學(xué)生對課程重點的注意力。在規(guī)定的課時內(nèi)教師講解不可能面面俱到,所以授課時必須突出重點,突出實用性,遵循理論與實踐相結(jié)合的原則。教師應(yīng)始終堅持以應(yīng)用為中心,以算法為基礎(chǔ),以培養(yǎng)學(xué)生的實踐能力為核心,突出技術(shù)實用性和學(xué)習(xí)能力的培養(yǎng)。
程序設(shè)計課程具有很強的實踐性,要以社會對編程能力的需求和技術(shù)發(fā)展為依據(jù),調(diào)整教學(xué)內(nèi)容,以適應(yīng)技術(shù)崗位能力要求。在課程設(shè)置與建設(shè)中,要充分體現(xiàn)教學(xué)內(nèi)容在培養(yǎng)學(xué)生實踐能力方面的需求,適當(dāng)增加實訓(xùn)教學(xué)內(nèi)容,以強化學(xué)生的實際開發(fā)和應(yīng)用能力。
C語言程序設(shè)計,注重由設(shè)計算法到書寫程序并進(jìn)行調(diào)試的整個過程,顯得抽象復(fù)雜。在教學(xué)過程中,應(yīng)該先介紹一個較完整的程序例子,該例子包含了語言中的主要語句,目的是使學(xué)生先對程序有個初步的印象,再簡單介紹該例子中用到的語句,讓學(xué)生對該語言的學(xué)習(xí)有一個大概的了解。整個教學(xué)過程中應(yīng)該把“解題思路、方法和步驟”當(dāng)作授課的重點,從而讓學(xué)生明白如何分析、解決實際問題,逐漸培養(yǎng)學(xué)生進(jìn)行程序設(shè)計的正確思維模式。
三、突出教學(xué)重點
算法是程序設(shè)計的靈魂,是教學(xué)重點,也是教學(xué)難點,一個優(yōu)化的程序必有一個好的算法。而語言只是表示形式,沒有正確的算法,計算機將解決不了任何問題,對于C語言所涉及到的算法,應(yīng)進(jìn)行部分精講多練。通過案例分析,講解程序設(shè)計的思想和方法,將課程內(nèi)容分為若干個主題,以程序設(shè)計做為貫穿各主題的主線。每個主題的教學(xué)過程由“要點講解”、“練習(xí)上機實踐”和“疑難解答”三個階段組成。基于問題的教學(xué)提出問題,以學(xué)生獨立完成為主,教師只提供必要的輔導(dǎo),培養(yǎng)學(xué)生探索問題和解決問題的能力。將C語言的知識點溶化到一個個實訓(xùn)項目的程序編寫中。在課程初期,主要是進(jìn)行單項的編程練習(xí),重在掌握C語言的基本語句、數(shù)據(jù)類型與程序結(jié)構(gòu)等。在進(jìn)入數(shù)組、函數(shù)、結(jié)構(gòu)、指針和文件內(nèi)容教學(xué)時,開始實訓(xùn)項目的編程實踐,逐步組建“教師管理系統(tǒng)”,并且添加文本菜單,整合擴(kuò)展記錄添加、排序、查詢、統(tǒng)計和記錄瀏覽等內(nèi)容形成課程設(shè)計。
四、激發(fā)學(xué)生的學(xué)習(xí)興趣
作為一種新型的教學(xué)模式,多媒體教學(xué)已經(jīng)成為課堂教學(xué)的發(fā)展趨勢,在《C語言程序設(shè)計》教學(xué)中發(fā)揮著重要作用。許多老師都喜歡使用多媒體教學(xué),實際上,多媒體只是為達(dá)到教學(xué)目的而使用的一種輔助手段。目前,《C語言程序設(shè)計》多媒體課堂教學(xué)中存在以下問題,對教學(xué)造成了一定的影響。
1.教師在使用多媒體教學(xué)中有較大的盲目性和依賴性。有些教師在制作多媒體課件和課堂授課過程中,出現(xiàn)忽視學(xué)生對象特點、不考慮學(xué)生人數(shù)、與學(xué)生交流少或缺乏交流滿堂灌的情況。過于注重形式,忽視了教學(xué)目的。
2.教師教學(xué)方式過于單一。有些教師運用的教學(xué)模式單一,講課速度太快,講課節(jié)奏平鋪直敘,對于程序的分析,缺乏必要的運行演示。
3.部分多媒體教學(xué)課件制作質(zhì)量差。一些多媒體教學(xué)課件制作水平偏低,缺乏教學(xué)設(shè)計,從而影響了教學(xué)效果。一些教師準(zhǔn)備的教學(xué)課件存在信息量過大、簡單材料堆積、照抄書本、材料來源混亂等現(xiàn)象,所制作的課件不符合教學(xué)實際需要。
4.學(xué)校對多媒體教學(xué)管理缺乏宏觀管理和質(zhì)量控制。一些學(xué)校在推行多媒體教學(xué)模式過程中,缺乏課程課件建成后的管理和更新機制,結(jié)果是許多教師的教學(xué)課件多年不變,沒有引入新的學(xué)科新進(jìn)展。
二、多媒體課程教學(xué)中注意事項
結(jié)合《C語言程序設(shè)計》教學(xué)中存在的問題,我們認(rèn)為,多媒體課程教學(xué)中應(yīng)注意以下事項。
1.突出教學(xué)重點。突出教學(xué)重點是多媒體教學(xué)的基本前提,要避免所設(shè)計的多媒體教學(xué)課件只注重于圖、文、聲、像等信息的有機結(jié)合,華而不實,花里胡哨,造成重點不夠突出的情況。
2.提供良好的交互環(huán)境。交互環(huán)境包括整個人機界面所用的顏色、文字大小、動畫、背景音樂等信息單元。所有這些信息單元都將直接為人體的感官所感知,學(xué)習(xí)者是很難在感覺很差的環(huán)境中對學(xué)習(xí)有興趣的。多種媒體信息可能使用戶和系統(tǒng)的交互作用產(chǎn)生混亂,直接同時使用多種人機通信形式往往會產(chǎn)生負(fù)作用。多種媒體信息不能簡單混合。
3.堅持一致性與相關(guān)性原則。在多媒體教學(xué)中應(yīng)采用相同或相似的用語、提示、組織形式和順序,這樣可以避免分散學(xué)習(xí)者的注意力和浪費學(xué)習(xí)時間,從而影響學(xué)習(xí)者的學(xué)習(xí)效率。同時,在多媒體教學(xué)過程中,授課者要注意將與所涉及內(nèi)容有關(guān)的一些知識同時傳授給學(xué)習(xí)者,使學(xué)習(xí)者能夠較輕松地獲取一些與此有關(guān)的知識,達(dá)到事半功倍的效果。
4.注重多媒體課件的開發(fā)。多媒體課件是多媒體教學(xué)的一個重要載體。好的多媒體課件內(nèi)容豐富、布局合理、構(gòu)思精巧,可以很好的調(diào)動課堂氣氛,也有利于課后學(xué)生的自學(xué),從而提升學(xué)生的學(xué)習(xí)效率。反之,如果采用的多媒體課件只是書本知識的簡單展示,則會使學(xué)生產(chǎn)生念書的感覺,起不到相應(yīng)的效果。在平常的授課中,應(yīng)注意多媒體課件素材的收集,精心制作多媒體課件,提升教學(xué)的質(zhì)量。
5.把握好多媒體教學(xué)與傳統(tǒng)教學(xué)的關(guān)系。實際教學(xué)實踐表明,多媒體教學(xué)并非能完全代替?zhèn)鹘y(tǒng)的教學(xué)方式及內(nèi)容。一些抽象的算法原理等需要運用邏輯思維方面語言來論述的問題,用視覺形象語言表達(dá)相當(dāng)困難。課堂常用的口頭表達(dá)方式,是人類交際中最基本的也是最重要的行為之一。無論傳播媒體多么先進(jìn),都不可能完全代替?zhèn)鹘y(tǒng)教學(xué)手段。在授課過程中,要避免產(chǎn)生兩個極端:一種是固執(zhí)認(rèn)為多媒體教學(xué)花里胡哨,不像傳統(tǒng)教學(xué)方式那樣實在,從而不愿意采用多媒體手段授課。另一種則片面強調(diào)多媒體的優(yōu)越性,試圖以“機授”代替教師傳授。無論哪一種情況,對于我們的教學(xué)都是不利的,應(yīng)該把兩者有機地結(jié)合起來,提升教學(xué)質(zhì)量。
6.建立宏觀管理和質(zhì)量控制機制。多媒體教學(xué)質(zhì)量建設(shè)是一項系統(tǒng)工程,需要學(xué)校制定一系列相互關(guān)聯(lián)、行之有效的措施,按照嚴(yán)格管理、過程控制和目標(biāo)考核的原則,制定多媒體教學(xué)管理辦法。建立系統(tǒng)、規(guī)范的評價體系,使學(xué)校對于多媒體教學(xué)的教學(xué)狀態(tài)、教學(xué)條件、管理水平等決定教學(xué)質(zhì)量的關(guān)鍵環(huán)節(jié)進(jìn)行自我控制、自我約束、自我保證。
三、結(jié)束語
關(guān)鍵詞:職業(yè)技術(shù)學(xué)院;教學(xué)目標(biāo);開放性考核;教學(xué)方法
1 項目化教學(xué)的重要性
C語言是目前最為流行的一種程序設(shè)計語言,是程序設(shè)計的入門語言,也是C++、C#等程序設(shè)計語言的基礎(chǔ)。其高效、靈活、功能強等優(yōu)點使它不僅成為計算機專業(yè)的一門必修課,也是其他理工科專業(yè)的一門基礎(chǔ)課。但是C語言極強的抽象思維要求、靈活的語法規(guī)則、繁多的基礎(chǔ)知識給學(xué)生的學(xué)習(xí)帶來了許多困難。因此,對C語言程序設(shè)計進(jìn)行課程改革,實現(xiàn)項目化教學(xué)變得尤為重要。
2 項目化教學(xué)的優(yōu)點
“項目化教學(xué)”是以教師提出一個問題(找出幾個數(shù)中的最大值),學(xué)生在教師的指導(dǎo)下,通過對整個課程知識的學(xué)習(xí)和應(yīng)用實例的理解,以小組為單位完成一個項目的教學(xué)方法。
“項目化教學(xué)”中,學(xué)生是主體,也是項目的實踐者。學(xué)生通過所學(xué)知識分析解決實際問題,通過項目的實踐更好地掌握知識。教師是“項目化教學(xué)”的間接參與者,在學(xué)生完成項目的過程中指導(dǎo)學(xué)生,幫助學(xué)生解決疑問,從傳統(tǒng)的知識傳播者轉(zhuǎn)變?yōu)轫椖恐笇?dǎo)者。
“項目化教學(xué)”中學(xué)生通過實踐的方式學(xué)習(xí)知識點,其優(yōu)點可總結(jié)為以下幾點:
(1)學(xué)生根據(jù)項目內(nèi)容明確學(xué)習(xí)目標(biāo)。
(2)學(xué)生通過項目實踐提高知識的應(yīng)用能力。
(3)“項目化教學(xué)”可促進(jìn)學(xué)生學(xué)習(xí)的積極性。
(4)教師可通過項目針對性地向?qū)W生傳授知識。
(5)教師可通過觀察學(xué)生項目的完成情況了解學(xué)生對知識點的掌握程度。
3 教學(xué)現(xiàn)狀
(1)教學(xué)目標(biāo)設(shè)置過高
盡管C語言是眾多理工科專業(yè)開設(shè)的一門基礎(chǔ)課,然而其教學(xué)目標(biāo)應(yīng)以學(xué)生層次的不同而不同。高職教育主要培養(yǎng)學(xué)生的實操性,只需學(xué)生掌握基礎(chǔ)知識足已。浙江安防學(xué)院是一所普通的高職院校,以培養(yǎng)安防類人才為主,但其C語言的教學(xué)目標(biāo)設(shè)置與計算機專業(yè)相差無幾,學(xué)生學(xué)習(xí)效果一般。
(2)學(xué)生缺乏學(xué)習(xí)興趣,學(xué)習(xí)效果差
浙江安防學(xué)院作為全日制高職學(xué)校,在校學(xué)生的層次不高。C語言內(nèi)容枯燥,知識點多,概念復(fù)雜又容易出錯,學(xué)生初學(xué)時便有畏難情緒,給教學(xué)帶來了不少困難。
(3)考核方式單一,不符合課程性質(zhì)
傳統(tǒng)C語言的考核方式是平時成績加筆試的形式,這種考核方式單一,對學(xué)生知識掌握程度的把握不準(zhǔn)。C語言作為一門實操性強的課程,應(yīng)注重學(xué)生動手編程的能力,因此需采用多樣化的考核方式。
4 教學(xué)改革
針對上面所提到的C語言教學(xué)中存在的不足之處,筆者對15級安全防范技術(shù)專業(yè)學(xué)生進(jìn)行了教學(xué)改革,改革的內(nèi)容主要為以下幾點:
(1)結(jié)合專業(yè)實際,明確教學(xué)目標(biāo)
安全防范技術(shù)專業(yè)學(xué)生作為普通的高職學(xué)生,對純理論學(xué)習(xí)的積極性不高;相反,對動手實踐的積極性卻很高。本專業(yè)開設(shè)的C語言課程是作為單片機的前修課程,學(xué)生學(xué)習(xí)單片機時需要懂一些簡單的編程知識,對于數(shù)組和指針等的要求卻不高。此外,C語言中所涉及到的基礎(chǔ)知識繁多,而高職學(xué)生普遍不喜歡多記多背,過多知識點的講解只會消磨他們學(xué)習(xí)的積極性。結(jié)合以上情況,筆者在做教學(xué)改革時進(jìn)行了如下改革:1)簡要介紹了常量中的整型、實型和字符型。2)舍去了變量中的動態(tài)變量,靜態(tài)變量等不常用的知識點。3)數(shù)據(jù)操作中只涉及到了算術(shù)運算和賦值類運算。4)輸入輸出語句的內(nèi)容進(jìn)行了大量的縮減。5)數(shù)組做了簡要的介紹。6)指針和結(jié)構(gòu)體進(jìn)行了刪除。
(2)上好第一堂課,激發(fā)學(xué)生興趣
C語言作為學(xué)生在大學(xué)時遇到的第一個編程類課程,其內(nèi)容枯燥、概念復(fù)雜、知識點繁多,往往會打擊學(xué)生學(xué)習(xí)的積極性。此外,C語言中涉及到許多英文字母,很多學(xué)生會將其與英語等同起來,這對于本身就不擅長英語的學(xué)生來說無疑是一個沉重的打擊。因此,教師應(yīng)該認(rèn)真對待第一堂課,將C語言這門課程的性質(zhì)解釋清楚,大致可以從以下三個方面來解釋:
第一,什么是C語言。對C語言課程做簡要介紹,撇清它與英語之間的關(guān)系,將學(xué)生帶入到神奇的編程世界。筆者的做法是給學(xué)生展示了一些簡單的編程例子:(1)顯示自己的基本信息;筆者在第一堂課向?qū)W生介紹C語言時,教學(xué)生如何用C語言程序輸出自己的基本信息,并讓學(xué)生動手實踐,大大提高了學(xué)生動手實踐的積極性。(2)做一些簡單的算法;筆者在第一堂課中還向?qū)W生展示了乘法口訣表以及一些簡單的圖形等,很好地闡述了C語言的功能。
第二,為什么要學(xué)C語言。結(jié)合專業(yè)特點,闡述開設(shè)課程的必要性。安全防范技術(shù)專業(yè)開設(shè)C語言是將它作為單片機的先修課程,使學(xué)生具備安防設(shè)備安裝調(diào)試和維修的能力,同時也鼓勵學(xué)生參加計算機等級考試。在第一堂課中,筆者向?qū)W生介紹了C語言程序設(shè)計這門課的課程性質(zhì),并闡述了課程與專業(yè)之間的關(guān)系,提升學(xué)生對課程的重視度。
第三,如何學(xué)好C語言。學(xué)好C語言的要點就是“多思考,勤實踐”。因此,筆者將C語言的授課環(huán)境選在了機房,鼓勵學(xué)生多上機練習(xí),多參與項目實踐。此外,筆者將學(xué)生以小組形式分組,方便學(xué)生相互討論、共同進(jìn)步。
(3)改革教學(xué)方法,項目化教學(xué)
傳統(tǒng)的教學(xué)方法是老師在上面講授,學(xué)生在下面聽課,課后完成書面作業(yè)。本實驗中,將課堂轉(zhuǎn)移到了帶多媒體設(shè)備的機房中,采用循序漸進(jìn)、實例化教學(xué)以及項目化教學(xué)的方法。首先,C語言中基礎(chǔ)知識是很關(guān)鍵的,但高職學(xué)生卻并不喜歡記憶,因此,筆者采用循序漸進(jìn)、放緩腳步的方法,花了大量的時間幫助學(xué)生學(xué)習(xí)和鞏固基礎(chǔ)知識。其次,筆者采用實例講解的方法,將理論知識與實際問題結(jié)合起來,把抽象思維轉(zhuǎn)變成具象的問題。最后,筆者找了一些相關(guān)的項目讓學(xué)生練習(xí),同時作為指導(dǎo)者指導(dǎo)學(xué)生完成項目。學(xué)生作業(yè)以實訓(xùn)報告的形式上交,便于教師了解學(xué)生對知識點的掌握程度。
(4)開放性考核方式,加大實踐考核力度
傳統(tǒng)的C語言考核方式是平時成績加期末考試。但是C語言是一門實踐性很強的課程,這種簡單的考核方式并不能全面地評價學(xué)生的編程能力。因此,筆者將上機實踐也納入到了考核方式中,可同時考查學(xué)生動手編程的能力,也為學(xué)生參加計算機二級等級考試打下了堅實的基礎(chǔ)。
5 教學(xué)改革取得的成果
上述的教學(xué)改革方法筆者已應(yīng)用到了日常的教學(xué)中。實踐證明,學(xué)生學(xué)習(xí)編程的積極性明顯得到了提高,對知識點的掌握程度和應(yīng)用能力也得到了顯著提高,后續(xù)學(xué)習(xí)單片機也變得更輕松。通過本次教學(xué)改革,筆者將14級和15級學(xué)生的期末成績進(jìn)行了比較,結(jié)果如下:教學(xué)改革前學(xué)生的優(yōu)秀率(90分以上)為12.5%,合格率(60分以上)為75%。而進(jìn)行項目化教學(xué)改革后學(xué)生的優(yōu)秀率為29%,合格率為90%。由此可以認(rèn)為項目化教學(xué)取得了一定的成果。