彭冰 尤楓 李芳
摘 要:高校教師將ACM競(jìng)賽模式與訓(xùn)練方法引入C語(yǔ)言程序設(shè)計(jì)課程教學(xué),能夠創(chuàng)設(shè)良好的教學(xué)情境,激發(fā)學(xué)生對(duì)C語(yǔ)言程序設(shè)計(jì)課程的學(xué)習(xí)興趣,提高學(xué)生的學(xué)習(xí)積極性與主動(dòng)性,實(shí)現(xiàn)ACM比賽訓(xùn)練與C語(yǔ)言教學(xué)的相互促進(jìn)。文章主要分析高校C語(yǔ)言課程教學(xué)遇到的問(wèn)題,并對(duì)基于ACM競(jìng)賽模式的高校C語(yǔ)言實(shí)踐教學(xué)方法進(jìn)行探討。
關(guān)鍵詞:ACM競(jìng)賽;C語(yǔ)言程序設(shè)計(jì)課程;實(shí)踐教學(xué);教學(xué)模式;教學(xué)策略
中圖分類號(hào):G642 文獻(xiàn)標(biāo)志碼:A文章編號(hào):1008-3561(2021)25-0030-02
C語(yǔ)言是許多高校學(xué)生學(xué)習(xí)的第一門編程語(yǔ)言,是計(jì)算機(jī)專業(yè)一門重要的專業(yè)基礎(chǔ)課,能為豐富學(xué)生的計(jì)算機(jī)編程知識(shí)、提高學(xué)生的計(jì)算機(jī)編程能力奠定堅(jiān)實(shí)的基礎(chǔ)。當(dāng)前,高校C語(yǔ)言程序設(shè)計(jì)課程教學(xué)遇到一些問(wèn)題,影響課程教學(xué)效率和教學(xué)質(zhì)量的提高。ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽在全球具有重大影響力,受到很多高校的重視。研究發(fā)現(xiàn),高校教師將ACM競(jìng)賽模式與訓(xùn)練方法引入C語(yǔ)言課程教學(xué),能夠創(chuàng)設(shè)良好的教學(xué)情境,激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生的學(xué)習(xí)積極性與主動(dòng)性,實(shí)現(xiàn)ACM比賽訓(xùn)練與C語(yǔ)言教學(xué)的相互促進(jìn),從而取得較好的教學(xué)效果。下面主要分析高校C語(yǔ)言課程教學(xué)遇到的問(wèn)題,并從幾個(gè)方面對(duì)基于ACM競(jìng)賽模式的高校C語(yǔ)言實(shí)踐教學(xué)方法改進(jìn)進(jìn)行探討。
一、ACM競(jìng)賽概述
ACM競(jìng)賽一般指ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽(簡(jiǎn)稱ACM-ICPC),是由國(guó)際計(jì)算機(jī)協(xié)會(huì)(Association for Computing Machinery,簡(jiǎn)稱ACM)主辦的一項(xiàng)年度競(jìng)賽,競(jìng)賽著眼于展示大學(xué)生創(chuàng)新能力、團(tuán)隊(duì)精神和在壓力下編寫程序、分析和解決問(wèn)題能力。ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽是全球最具影響力的大學(xué)生程序設(shè)計(jì)競(jìng)賽,深受計(jì)算機(jī)行業(yè)的重視。其賽制具有特殊性,即要求參賽者以三名隊(duì)員組成的團(tuán)隊(duì)形式代表學(xué)校參賽,每隊(duì)使用一臺(tái)電腦,需要在五個(gè)小時(shí)內(nèi)使用C、C++、Java、Pascal中的一種編寫程序解決六個(gè)到十個(gè)問(wèn)題。ACM競(jìng)賽非??简?yàn)參賽者的能力與素質(zhì),需要參賽者具有較高的計(jì)算機(jī)專業(yè)水平、良好的團(tuán)隊(duì)協(xié)作意識(shí)和心理素質(zhì)。因?yàn)锳CM-ICPC在計(jì)算機(jī)領(lǐng)域的重要影響力,每屆賽事的獲獎(jiǎng)選手受到各大知名軟件公司的青睞。
二、高校C語(yǔ)言課程教學(xué)遇到的問(wèn)題
其一,部分教師往往將上機(jī)實(shí)踐作為理論課的補(bǔ)充和輔助,未能實(shí)現(xiàn)兩者的有機(jī)結(jié)合。其二,部分教師側(cè)重學(xué)生對(duì)語(yǔ)法的掌握,忽視算法知識(shí)的積累和實(shí)際應(yīng)用開發(fā)訓(xùn)練,不注重培養(yǎng)學(xué)生解決實(shí)際問(wèn)題的能力,導(dǎo)致部分學(xué)生思維固化,面對(duì)問(wèn)題時(shí)不能舉一反三,難以靈活地運(yùn)用所學(xué)知識(shí)解決實(shí)際問(wèn)題。其三,計(jì)算機(jī)專業(yè)學(xué)生水平存在差異性,教師未能進(jìn)行分層教學(xué)。一部分學(xué)生已經(jīng)掌握基礎(chǔ)知識(shí),需要的是拔高練習(xí),而另一部分學(xué)生初次接觸C語(yǔ)言,接受知識(shí)的速度較慢,需要教師循序漸進(jìn)地進(jìn)行講解。其四,部分學(xué)生自學(xué)能力較差,遇到問(wèn)題不善于獨(dú)立思考。調(diào)查發(fā)現(xiàn),一些問(wèn)題往往是拼寫錯(cuò)誤,學(xué)生只要認(rèn)真檢查就能發(fā)現(xiàn),但部分學(xué)生自學(xué)能力較差,需要教師經(jīng)常當(dāng)面指導(dǎo)。這浪費(fèi)指導(dǎo)教師大量時(shí)間,導(dǎo)致真正需要幫助的學(xué)生得不到及時(shí)幫助,而出現(xiàn)拼寫錯(cuò)誤的學(xué)生也將寶貴的練習(xí)時(shí)間用來(lái)查找低級(jí)錯(cuò)誤。其五,教師提供的練習(xí)題沒有參考答案,導(dǎo)致學(xué)生難以分析錯(cuò)題或難題的解題思路,練習(xí)效果大打折扣。
三、基于ACM競(jìng)賽模式的高校C語(yǔ)言實(shí)踐教學(xué)策略
ACM競(jìng)賽模式為C語(yǔ)言實(shí)踐教學(xué)提供了參考,能夠有效提高課程教學(xué)效率和教學(xué)質(zhì)量。作為高校計(jì)算機(jī)專業(yè)教師,要認(rèn)真分析ACM競(jìng)賽模式的特點(diǎn)與C語(yǔ)言課程內(nèi)容,結(jié)合學(xué)生學(xué)習(xí)特點(diǎn)精心設(shè)計(jì)實(shí)踐訓(xùn)練模式,引導(dǎo)學(xué)生通過(guò)有效的方法完成相應(yīng)的實(shí)踐任務(wù),最后對(duì)學(xué)生的實(shí)踐任務(wù)進(jìn)行評(píng)價(jià),讓學(xué)生知道自己的優(yōu)勢(shì)與不足,逐步提高計(jì)算機(jī)應(yīng)用能力。
1.定期發(fā)布訓(xùn)練試題
教師可以模仿ACM比賽機(jī)制,定期發(fā)布訓(xùn)練試題,并按照累計(jì)完成數(shù)進(jìn)行排名。題目來(lái)源于各類教學(xué)參考書以及實(shí)際問(wèn)題的改編,注重對(duì)學(xué)生C語(yǔ)言知識(shí)掌握情況進(jìn)行考查。設(shè)計(jì)訓(xùn)練試題時(shí),要注意以下三個(gè)方面。一要充分考慮班級(jí)學(xué)生編程水平的差異,設(shè)置不同難度的習(xí)題,引導(dǎo)學(xué)生在夯實(shí)基礎(chǔ)的前提下進(jìn)行提高訓(xùn)練。二是針對(duì)初學(xué)者對(duì)C語(yǔ)言語(yǔ)法知識(shí)無(wú)法快速消化的現(xiàn)象,教師需要在每次開始練習(xí)前反復(fù)強(qiáng)調(diào),讓學(xué)生盡快熟悉基本的語(yǔ)法知識(shí)。三是布置的練習(xí)題應(yīng)與ACM競(jìng)賽題目格式一致,并且與實(shí)際應(yīng)用相聯(lián)系,對(duì)于輸入輸出樣式和數(shù)據(jù)范圍要有明確要求。
2.定期組織比賽并在賽后發(fā)布題解
教師要參考ACM比賽的訓(xùn)練模式,定期組織學(xué)生進(jìn)行比賽,并在賽后發(fā)布題解。教師每年可以以新生賽的方式,從大一新生中選拔參賽隊(duì)員。這可以提高ACM賽事在學(xué)生中的知名度,吸引優(yōu)秀學(xué)生參加,激發(fā)學(xué)生對(duì)C語(yǔ)言的學(xué)習(xí)興趣。所提供的題解要附上簡(jiǎn)要注釋,幫助學(xué)生理解解題思路,同時(shí)鼓勵(lì)學(xué)生尋找更簡(jiǎn)單有效的方法。系統(tǒng)統(tǒng)計(jì)的答題情況表明,學(xué)生在第二次實(shí)踐課后小測(cè)滿分率為75%,到第四次實(shí)踐課后小測(cè)滿分率達(dá)到82%。
3.引導(dǎo)學(xué)生進(jìn)行賽后反思并解決遇到的問(wèn)題
教師在比賽之后要引導(dǎo)學(xué)生進(jìn)行賽后反思,通過(guò)獨(dú)立思考、查閱網(wǎng)絡(luò)資料、群內(nèi)討論的方法解決比賽過(guò)程中遇到的問(wèn)題,這對(duì)于提高學(xué)生的實(shí)際能力非常重要。學(xué)生在解題過(guò)程中遇到的問(wèn)題主要分為兩類,一類是編譯出錯(cuò),一類是運(yùn)行結(jié)果錯(cuò)誤。前者主要是拼寫錯(cuò)誤等簡(jiǎn)單錯(cuò)誤,教師可提醒學(xué)生查看編譯器的編譯錯(cuò)誤提示。學(xué)生應(yīng)認(rèn)識(shí)基本的錯(cuò)誤提示類型,對(duì)于不常見的編譯報(bào)錯(cuò)提示,學(xué)生可自行上網(wǎng)搜索錯(cuò)誤原因。而對(duì)于運(yùn)行結(jié)果錯(cuò)誤,教師可提醒學(xué)生通過(guò)查閱網(wǎng)絡(luò)資料或群內(nèi)討論的方法加以解決。
四、結(jié)語(yǔ)
ACM程序設(shè)計(jì)競(jìng)賽的實(shí)踐教學(xué)與C語(yǔ)言程序設(shè)計(jì)基礎(chǔ)課的日常教學(xué),雖然都是以提高學(xué)生C語(yǔ)言程序設(shè)計(jì)能力為目標(biāo),但因?yàn)槊嫦驅(qū)ο蠛驮u(píng)價(jià)方式的不同,逐漸產(chǎn)生了較大的差異。C語(yǔ)言程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)一門重要的專業(yè)基礎(chǔ)課,具有較強(qiáng)的實(shí)用性,能夠豐富學(xué)生的計(jì)算機(jī)編程知識(shí),提高學(xué)生的計(jì)算機(jī)編程能力。針對(duì)當(dāng)前高校C語(yǔ)言程序設(shè)計(jì)課程教學(xué)遇到的問(wèn)題,高校教師可以從ACM程序設(shè)計(jì)競(jìng)賽中汲取先進(jìn)經(jīng)驗(yàn),將ACM競(jìng)賽模式與訓(xùn)練方法引入C語(yǔ)言課堂教學(xué),創(chuàng)設(shè)良好的教學(xué)情境,激發(fā)學(xué)生對(duì)C語(yǔ)言程序設(shè)計(jì)的學(xué)習(xí)興趣,實(shí)現(xiàn)ACM比賽訓(xùn)練與C語(yǔ)言教學(xué)的相互促進(jìn),從而提高C語(yǔ)言程序設(shè)計(jì)課程教學(xué)效率和教學(xué)質(zhì)量。在設(shè)計(jì)學(xué)習(xí)模式和考核評(píng)價(jià)機(jī)制時(shí),要讓學(xué)生把知識(shí)學(xué)習(xí)與實(shí)踐練習(xí)緊密結(jié)合起來(lái),引導(dǎo)學(xué)生主動(dòng)思考,提高學(xué)生對(duì)C語(yǔ)言程序設(shè)計(jì)的學(xué)習(xí)積極性與主動(dòng)性,培養(yǎng)學(xué)生的編程思維能力與團(tuán)隊(duì)合作能力。