周杰 冷震北
摘要:針對《C程序設(shè)計》課程教學(xué)過程中存在的問題,結(jié)合課程教學(xué)與各類程序設(shè)計比賽所涉及的知識特點,將競賽與課程教學(xué)相結(jié)合,從培養(yǎng)數(shù)學(xué)思維,精心設(shè)計訓(xùn)練題目,編寫實驗指導(dǎo)書,課程考試方面這幾個角度做出了相應(yīng)的改革,并應(yīng)用在課程實踐教學(xué)中,具有一定的效果。
關(guān)鍵詞:競賽;教學(xué);改革;C程序設(shè)計
中圖分類號:TP393 文獻標(biāo)識碼:A 文章編號:1009-3044(2018)03-0158-02
1 概述
高校各專業(yè)本科教學(xué)中《C程序設(shè)計》是一門特別重要的基礎(chǔ)課程,特別是在偏應(yīng)用型高校本科教學(xué)計劃中占重要地位和作用?!禖程序設(shè)計》的教學(xué)目標(biāo)不在是單純地了解和掌握其基本內(nèi)容,而是致力于培養(yǎng)學(xué)生用編程獨立解決現(xiàn)實問題。在傳統(tǒng)教學(xué)中《C程序設(shè)計》的理論教學(xué)與實踐教學(xué)結(jié)合不夠緊密,學(xué)生只是單純對書本上的程序進行敲寫,實驗教學(xué)效果不盡如人意,學(xué)生無法用程序獨立解決問題[1]。
ACM競賽、藍(lán)橋杯和大學(xué)生程序設(shè)計競賽是重慶各高校比較看重的學(xué)科競賽,也是在大學(xué)生中比較有影響力的賽事。賽事里面都有c語言組,有團隊賽個人賽,有助于培養(yǎng)學(xué)生自主學(xué)習(xí),自主開發(fā)能力,也有利于培養(yǎng)團隊合作能力,為以后步入社會打好基礎(chǔ)。
《C程序設(shè)計》是這些競賽的基礎(chǔ),參加這些競賽可以不斷完善理論知識,還可以將理論轉(zhuǎn)化為實踐,增加學(xué)生的學(xué)習(xí)積極性。
2 改革的必要性
《C程序設(shè)計》課程教學(xué)過程中存在的問題:
1) 大部分高校的教學(xué)模式是完全遵循書本內(nèi)容和知識結(jié)構(gòu),通過老師的講解讓學(xué)生掌握知識的基本構(gòu)成,然而對于這樣的單向性的直接灌輸理論知識,在現(xiàn)在學(xué)生基本不預(yù)習(xí)的情況下,效果明顯不近人意。
2) 程序設(shè)計要想提高不僅需要掌握好較強的理論知識,還需要大量的習(xí)題練習(xí),在現(xiàn)在的大學(xué)教材里面,課后習(xí)題不難易程度也達不到要求,沒有成模塊化練習(xí)體系,學(xué)生不能根據(jù)課后作業(yè)對某一知識點做強化訓(xùn)練,并且教材知識分配并不合理,第一章都比較難入門的,一開始就導(dǎo)致大部分學(xué)生有畏難情緒。
3) 《C程序設(shè)計》一般是開設(shè)在大一,學(xué)生剛剛進入高校,計算機基礎(chǔ)水平參差不齊,導(dǎo)致學(xué)習(xí)任務(wù)很難達成一致,再者老師的教學(xué)時間被不斷壓縮,教學(xué)壓力增大,不得不減少教學(xué)內(nèi)容,導(dǎo)致知識跨度比較大。本校的教學(xué)進度中已經(jīng)把《C程序設(shè)計》中的靈魂章節(jié)指針,去掉了。
在教學(xué)過程中學(xué)生才是主體,要讓學(xué)生融入學(xué)習(xí)。隨著各高校向應(yīng)用性本科的逐漸轉(zhuǎn)型,以及不斷深入,傳統(tǒng)的教學(xué)方法將逐步淡出舞臺,所以嘗試以競賽培養(yǎng)模式推動《C程序設(shè)計》的教學(xué)改革勢在必行[2][3][4]。
3 改革措施
根據(jù)我校指定的應(yīng)用型人才培養(yǎng)目標(biāo),通過對專業(yè)課程體系,學(xué)習(xí)目標(biāo),以及考慮到大學(xué)生競賽所涉及的各種知識,依托程序設(shè)計競賽,將《C程序設(shè)計》改革與程序設(shè)計競賽緊密結(jié)合,用以解決《C程序設(shè)計》課程教學(xué)過程中存在的問題,具體措施主要有以下幾個方面:
3.1 培養(yǎng)數(shù)學(xué)思維
教學(xué)內(nèi)容的設(shè)計是教學(xué)改革的核心,結(jié)合《C程序設(shè)計》的知識點,適當(dāng)灌輸數(shù)學(xué)思維,讓學(xué)生以流程圖的形式,展示其數(shù)學(xué)思維。比如判斷閏年,冒泡排序,快速插入等,都可以先用數(shù)學(xué)的思維畫出流程圖,然后再根據(jù)流程圖寫出相應(yīng)的代碼,增加學(xué)生以數(shù)學(xué)的思維方式解決程序的能力,數(shù)學(xué)思維能力的高低決定了程序設(shè)計的高低,要不斷提高數(shù)學(xué)思維,進而提高程序設(shè)計能力。
3.2 精心設(shè)計訓(xùn)練題目
任何競賽題目都有命題規(guī)范、輸入輸出、情景描述等相同特點。在《C程序設(shè)計》上機操作中,將上機題描述成競賽題的模式,讓學(xué)生熟悉競賽模式,以及競賽流程。增加學(xué)生的獨立思考能力,而不是一味地照著書本敲寫代碼??梢詫⑦@個題精心設(shè)計成如下形式:
[問題描述]:長方形的長為a,寬為b,求長方形的面積
[樣例輸入]2,3
[樣例輸出]6
[程序保存名稱] 1.1.c
[問題描述]:對于任意三個數(shù),求其中的最小值
[樣例輸入] 2,7.1,2.1
[樣例輸出]2.1
[程序保存名稱] 1.2.c
這些訓(xùn)練題目難易程度不一樣,可以分為入門型,提高型,綜合型,將原有的書本中的比較死板的例題以及課后習(xí)題,轉(zhuǎn)換為通過具體問題描述給出實驗題目,創(chuàng)造了一種與現(xiàn)實相結(jié)合的環(huán)境,解決了學(xué)生們經(jīng)常提的學(xué)了有什么用的問題,照著抄書上的有什么意義等問題。提高了學(xué)生的積極性,而且為后期的競賽做足了準(zhǔn)備。
3.3 編寫實驗指導(dǎo)書
很多高校的《C程序設(shè)計》都是沒有實驗指導(dǎo)書,一般都是憑借著教師的經(jīng)驗,以及相關(guān)的課后習(xí)題給學(xué)生提出相應(yīng)的練習(xí),需要重新編寫實驗指導(dǎo)書,對每一個章節(jié)安排入門型,提高型,綜合型多種上機習(xí)題。
學(xué)生根據(jù)實驗指導(dǎo)書完成相應(yīng)的習(xí)題,并提交上機作業(yè)。再參考指導(dǎo)書上的資料完成相應(yīng)的課后習(xí)題。提交習(xí)題的時候,均需要提交電子版的作業(yè),以及相應(yīng)代碼,并規(guī)定每一行代碼需要有相應(yīng)的注釋。
通過這些題目的訓(xùn)練,加深學(xué)生對《C程序設(shè)計》在實際生活中應(yīng)用的理解,增強學(xué)生的積極性,也使學(xué)生明白《C程序設(shè)計》的重要性,這樣以競賽模式編寫的實驗指導(dǎo)書,可以大大增加學(xué)生的實際動手能力,也解決了學(xué)生喜歡抄襲作業(yè)的習(xí)慣。
3.4 改革課程考試方式
高?!禖程序設(shè)計》平時成績主要來自考勤以及課后作業(yè),期末考試以卷面的形式進行課程考核。導(dǎo)致大一部分同學(xué)在考試的時候進行僵硬的背誦,只注重理論知識,對提高學(xué)生的實踐能力幫助不大。
可以將傳統(tǒng)的期末閉卷考試,改為開放性的模擬競賽上機考試。可以將平時學(xué)生的上機表現(xiàn)作為平時成績。然后將成績綜合,作為學(xué)生的考試成績,并將期末考試成績排名靠前著推薦進入競賽小組,也解決了競賽選拔人才的問題。
4 結(jié)束語
針對應(yīng)用型人才培養(yǎng)目標(biāo),本文對C程序設(shè)計課程教學(xué)提出了改革?,F(xiàn)在正在不斷嘗試實踐中,從學(xué)院21個班的期末考試成績分析,初步顯示,期末考試成績在穩(wěn)步上升,
該教學(xué)模式有利于調(diào)動學(xué)生的積極性,使學(xué)生了解了學(xué)習(xí)《C程序設(shè)計》的重要性,在不斷的練習(xí)中,使學(xué)生有效地將理論和實踐結(jié)合起來,提高了學(xué)生程序設(shè)計能力,并且在最近幾年的競賽中,教往年涌現(xiàn)出了更多地優(yōu)秀學(xué)生,競賽成績也在穩(wěn)步上升。
參考文獻:
[1] 嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語言版)[M].北京:清華大學(xué)出版社,1997.
[2] 吳永輝,王建德.數(shù)據(jù)結(jié)構(gòu)編程練習(xí)[M].北京:機械工業(yè)學(xué)出版社,2012.
[3] 譚浩強.C程序設(shè)計(第4版)[M].北京:清華大學(xué)出版社,20010.
[4] 王曉東.計算機算法設(shè)計與分析[M]. 2版.北京:電子工業(yè)出版社,2004.