摘 要:當(dāng)前,本科編程類競(jìng)賽正展現(xiàn)出前所未有的蓬勃發(fā)展態(tài)勢(shì),各大高校對(duì)此類競(jìng)賽的熱情高漲,教學(xué)改革亦是方興未艾。為了探索更為高效且實(shí)用的編程競(jìng)賽教學(xué)方法與策略,本研究通過一系列創(chuàng)新手段推動(dòng)編程教育的革新與發(fā)展。教師充分利用差異化編程教學(xué)策略,精心引導(dǎo)學(xué)生自主學(xué)習(xí)與做題,同時(shí)引入同伴教學(xué)和翻轉(zhuǎn)課堂等多元化教學(xué)方法,以期在提升學(xué)生編程技能與競(jìng)賽能力的同時(shí),進(jìn)一步激發(fā)他們的創(chuàng)新思維與解決問題的能力。這一系列舉措的實(shí)施,不僅為本科編程類競(jìng)賽的持續(xù)發(fā)展注入新的活力與動(dòng)能,也為相關(guān)院校提供參考。
關(guān)鍵詞:編程類競(jìng)賽;教學(xué)方法;本科
1 問題分析
當(dāng)前,本科編程類競(jìng)賽的現(xiàn)狀正以前所未有的活力蓬勃發(fā)展。隨著信息技術(shù)的迅猛進(jìn)步,這些競(jìng)賽不僅在規(guī)模和影響力上持續(xù)擴(kuò)大,覆蓋范圍越來越廣,參與人數(shù)逐年攀升,而且在推動(dòng)教育科技人才體制機(jī)制改革方面扮演著至關(guān)重要的角色。它們?nèi)缤还蓮?qiáng)勁的東風(fēng),有效提升了本科學(xué)生的創(chuàng)新能力和實(shí)踐能力,為學(xué)生們提供了一個(gè)展示自我、挑戰(zhàn)極限的舞臺(tái)。編程類競(jìng)賽不僅深深吸引了大量懷揣夢(mèng)想的本科學(xué)生參與,還贏得了社會(huì)各界的廣泛關(guān)注與贊譽(yù)。眾多知名企業(yè)、知名高校和科研機(jī)構(gòu)紛紛將編程競(jìng)賽成績(jī)作為衡量本科學(xué)生能力水平、選拔優(yōu)秀人才的重要依據(jù),進(jìn)一步凸顯了這類競(jìng)賽的重要性和價(jià)值。在當(dāng)前本科編程教育的璀璨星空中,一系列高水平的編程競(jìng)賽如同璀璨的星辰,照亮著學(xué)子們的追夢(mèng)之路。
具體競(jìng)賽中,中國(guó)大學(xué)生程序設(shè)計(jì)競(jìng)賽(CCPC)以其嚴(yán)謹(jǐn)?shù)馁愔坪透咚降母?jìng)技,成為國(guó)內(nèi)編程愛好者心中的圣地;ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽(ACMICPC),作為全球頂級(jí)的編程賽事之一,更是吸引了來自世界各地的編程高手同臺(tái)競(jìng)技,展現(xiàn)智慧與勇氣的較量。此外,CCF大學(xué)生計(jì)算機(jī)系統(tǒng)與程序設(shè)計(jì)競(jìng)賽(CCSP)以其獨(dú)特的賽題設(shè)計(jì)和全面的考察范圍,深受廣大學(xué)子的喜愛;程序設(shè)計(jì)天梯賽則以層層遞進(jìn)的賽制,激勵(lì)著學(xué)子們不斷攀登技術(shù)高峰;而“藍(lán)橋杯”則以其實(shí)戰(zhàn)性強(qiáng)、覆蓋面廣的特點(diǎn),成為檢驗(yàn)學(xué)子編程能力的又一重要平臺(tái)[1]。這些競(jìng)賽,無一不凝聚著學(xué)子們的汗水與夢(mèng)想,書寫著屬于他們的輝煌篇章。
在當(dāng)今這個(gè)數(shù)字化飛速發(fā)展的時(shí)代,編程類競(jìng)賽如同一座座閃耀的燈塔,為本科學(xué)生照亮了展示自我編程才華的廣闊舞臺(tái)。這些競(jìng)賽不僅為學(xué)子們提供了一個(gè)揮灑智慧、綻放光彩的平臺(tái),更是他們鍛煉邏輯思維、團(tuán)隊(duì)協(xié)作和解決問題能力的重要熔爐。每一次代碼的編織,每一場(chǎng)思維的碰撞,都是對(duì)未來職業(yè)發(fā)展的一次有力鋪墊,讓學(xué)子們?cè)趯?shí)踐中不斷成長(zhǎng),為將來的輝煌奠定堅(jiān)實(shí)的基礎(chǔ)。本科院校對(duì)編程類競(jìng)賽普遍持積極和支持的態(tài)度,視其為提升學(xué)生綜合素質(zhì)、推動(dòng)教學(xué)改革和課程建設(shè)的寶貴契機(jī)。然而,在現(xiàn)實(shí)的競(jìng)賽教學(xué)過程中,卻不可避免地在學(xué)生、教師和教學(xué)實(shí)踐三方面遇到了一系列挑戰(zhàn)與困境,需要大家共同去面對(duì)和解決。
1.1 學(xué)生層面
競(jìng)賽的教學(xué)對(duì)象廣泛涵蓋了不同年級(jí)和專業(yè)的本科學(xué)生,他們帶著各自獨(dú)特的背景與夢(mèng)想。由于學(xué)生們的基礎(chǔ)能力和興趣點(diǎn)各不相同,這為競(jìng)賽教學(xué)帶來了前所未有的挑戰(zhàn)與機(jī)遇。以西安理工大學(xué)為例,除計(jì)算機(jī)學(xué)院的學(xué)生積極參與編程類競(jìng)賽外,還有來自自動(dòng)化學(xué)院、電氣學(xué)院、理學(xué)院等多個(gè)學(xué)院的選手,他們懷揣著對(duì)編程的熱愛與追求,共同匯聚在這片充滿智慧的沃土上。在這里,他們相互學(xué)習(xí),共同進(jìn)步,每一次思維的碰撞都閃耀著智慧的光芒,每一場(chǎng)競(jìng)賽的歷練都為他們未來的職業(yè)發(fā)展鋪就了堅(jiān)實(shí)的基石。
在編程類競(jìng)賽的舞臺(tái)上,選手們來自五湖四海。其中,特別是部分來自浙江的選手,他們自小在濃厚的科技氛圍中成長(zhǎng),自中學(xué)階段便已經(jīng)涉足編程領(lǐng)域,參加了多種編程類認(rèn)證考試和競(jìng)賽,積累了豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)。他們的編程技巧嫻熟,思維敏捷,是賽場(chǎng)上的佼佼者。然而,與之形成鮮明對(duì)比的是,其他大部分選手僅有C語言或Python課程的基礎(chǔ),對(duì)于數(shù)據(jù)結(jié)構(gòu)和算法等更深層次的知識(shí)還相對(duì)陌生。更有部分選手,或許之前從未接觸過編程,面對(duì)復(fù)雜的代碼和邏輯,顯得有些手足無措。這種選手間的巨大差異,使得傳統(tǒng)的統(tǒng)一競(jìng)賽教學(xué)變得異常困難,難以做到因材施教,滿足每位選手的實(shí)際需求。
性別差異作為競(jìng)賽教育領(lǐng)域一個(gè)長(zhǎng)期存在的議題,在編程學(xué)習(xí)中同樣是一個(gè)不可忽視的問題。我們觀察到,在編程學(xué)習(xí)的課堂上,男生和女生往往展現(xiàn)出不同的興趣和思維方式。男生可能更傾向于邏輯思考和問題解決,對(duì)于編程語言的語法和算法設(shè)計(jì)有著更為濃厚的探索欲;而女生則可能更加注重細(xì)節(jié),有著獨(dú)到的見解。這種差異在一定程度上可能導(dǎo)致編程教學(xué)效果的不均衡,部分女生可能會(huì)感到課程內(nèi)容過于技術(shù)化、難以融入,而部分男生則可能覺得缺乏足夠的挑戰(zhàn)性。因此,如何在教學(xué)中充分考慮性別差異,激發(fā)每位學(xué)生的潛力,是我們需要深入思考的。
1.2 教師方面
盡管在各大高校的計(jì)算機(jī)學(xué)院等院系擁有著一支龐大的編程類本科課程教師隊(duì)伍,他們肩負(fù)著傳授專業(yè)知識(shí)、培養(yǎng)編程技能的重任。然而,不容忽視的是,本科專業(yè)課程與競(jìng)賽類課程之間存在著顯著的差異,專業(yè)課程往往側(cè)重于理論知識(shí)的系統(tǒng)傳授,而競(jìng)賽類課程則更加注重實(shí)踐能力和創(chuàng)新思維的培養(yǎng)。
在實(shí)際工作中,本科院校的教師們通常需要在繁忙的教學(xué)任務(wù)之余,利用寶貴的課余時(shí)間兼任競(jìng)賽教練。這意味著他們需要投入大量的時(shí)間和精力,去研究競(jìng)賽規(guī)則、設(shè)計(jì)訓(xùn)練計(jì)劃、指導(dǎo)學(xué)生備賽。然而,由于時(shí)間和精力有限,許多教師在兼任競(jìng)賽教練的過程中感到力不從心,難以在競(jìng)賽教學(xué)水平上取得顯著的提升。這不僅影響了學(xué)生的競(jìng)賽成績(jī),也制約了教師自身的職業(yè)發(fā)展。
1.3 教學(xué)實(shí)踐方面
目前市場(chǎng)上,編程教材種類繁多,琳瑯滿目,但其中不乏一些內(nèi)容陳舊、與時(shí)代脫節(jié)的教材。這些教材往往過于注重理論知識(shí)的堆砌,而忽視了實(shí)踐能力的培養(yǎng),無法滿足競(jìng)賽學(xué)生的實(shí)際需求。更令人擔(dān)憂的是,隨著編程技術(shù)的不斷發(fā)展,一些教學(xué)資源可能無法及時(shí)更新,導(dǎo)致知識(shí)滯后。
現(xiàn)下的計(jì)算機(jī)競(jìng)賽教學(xué)缺乏創(chuàng)新性教學(xué)方法,激發(fā)本科學(xué)生的學(xué)習(xí)興趣和創(chuàng)造力。在實(shí)際教學(xué)中,部分教師仍然采用傳統(tǒng)的教學(xué)模式,如講授法、演示法等,這些方法在一定程度上能夠傳授知識(shí),但難以激發(fā)學(xué)生的本科學(xué)習(xí)興趣和創(chuàng)造力。
此外,部分教師的教學(xué)方式似乎還停留在傳統(tǒng)的理論灌輸階段,他們過于注重理論知識(shí)的講解,而忽視了實(shí)踐操作的重要性。這種教學(xué)模式,就如同建造了一座空中樓閣,看似華麗卻缺乏穩(wěn)固的根基。競(jìng)賽中常言“1分學(xué)、4分練”,這簡(jiǎn)短的話語卻蘊(yùn)含著深刻的道理——理論知識(shí)的學(xué)習(xí)固然重要,但實(shí)踐操作才是將知識(shí)轉(zhuǎn)化為競(jìng)賽技能的關(guān)鍵。如果忽視實(shí)踐操作,競(jìng)賽學(xué)生難以將理論知識(shí)與實(shí)際編程相結(jié)合,無法真正領(lǐng)略編程的魅力與樂趣。這不僅會(huì)影響他們編程能力的提升,更可能磨滅他們對(duì)于編程的熱愛與追求。
2 教學(xué)工作改革及實(shí)踐
為了適應(yīng)現(xiàn)下日益增加的競(jìng)賽需求和全面培養(yǎng)學(xué)生的創(chuàng)新能力,筆者所在的團(tuán)隊(duì)積極探索并嘗試從以下創(chuàng)新思路出發(fā),深入進(jìn)行教學(xué)改革。
差異化編程教學(xué)是一種以學(xué)生為中心的教學(xué)方法,旨在滿足不同學(xué)生的編程學(xué)習(xí)需求和能力水平[2]。教師需要先對(duì)學(xué)生的編程基礎(chǔ)、學(xué)習(xí)能力、興趣愛好等方面進(jìn)行全面了解,以便為后續(xù)的教學(xué)設(shè)計(jì)提供依據(jù)。通過問卷調(diào)查、測(cè)試評(píng)估、個(gè)別訪談等方式,收集學(xué)生的基本信息和學(xué)習(xí)需求,為差異化教學(xué)策略的制定奠定基礎(chǔ)。
我們針對(duì)不同年級(jí)和水平的學(xué)生,精心設(shè)計(jì)了兩種難度的編程教學(xué)內(nèi)容,供學(xué)生選擇。初級(jí)難度班型,如同編程世界的啟蒙燈塔,注重編程基本概念和基礎(chǔ)知識(shí)的講解。在這里,學(xué)生們將接觸到變量、數(shù)據(jù)類型、控制結(jié)構(gòu)、函數(shù)、基本類庫等編程的基石。通過錄播課程的形式,讓學(xué)員們可以隨時(shí)隨地學(xué)習(xí),靈活安排自己的時(shí)間。通過簡(jiǎn)單而有趣的實(shí)踐項(xiàng)目,我們引導(dǎo)學(xué)生們一步步入門編程,感受編程帶來的樂趣與成就感。高級(jí)難度班型,則如同編程世界的巔峰挑戰(zhàn)。通過采用面授的方式,引入更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和算法內(nèi)容,讓學(xué)生們能夠深入探索編程的奧秘。通過設(shè)計(jì)具有挑戰(zhàn)性的項(xiàng)目,我們不斷提升學(xué)生們的編程技能和問題解決能力,讓他們?cè)趯?shí)踐中不斷突破自我。同時(shí),我們還挑選溝通和表達(dá)能力較好的高級(jí)班同學(xué),擔(dān)任初級(jí)班同學(xué)的輔導(dǎo)老師,指導(dǎo)他們上機(jī)實(shí)踐和日常答疑,實(shí)現(xiàn)知識(shí)的傳遞與共享。
2.1 引導(dǎo)學(xué)生自主學(xué)習(xí)和做題
編程類OJ(Online Judge)在線判題系統(tǒng)有很多,如洛谷、AtCoder等。用戶可以在線提交多種程序(如C、C++)源代碼,系統(tǒng)對(duì)源代碼進(jìn)行編譯和執(zhí)行,并通過預(yù)先設(shè)計(jì)的測(cè)試數(shù)據(jù)來檢驗(yàn)程序源代碼的正確性[3]。系統(tǒng)最初被使用于ACMICPC國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽和OI信息學(xué)奧林匹克競(jìng)賽中的自動(dòng)判題和排名,現(xiàn)廣泛應(yīng)用于世界各地高校學(xué)生程序設(shè)計(jì)的訓(xùn)練、參賽隊(duì)員的訓(xùn)練和選拔、各種程序設(shè)計(jì)競(jìng)賽以及數(shù)據(jù)結(jié)構(gòu)和算法的學(xué)習(xí)和作業(yè)的自動(dòng)提交判斷中[4]。
首先,教師在在線判題系統(tǒng)中,精心挑選合適的題目,為學(xué)生們制訂合理的學(xué)習(xí)計(jì)劃。教師通過與學(xué)生并肩作戰(zhàn),共同設(shè)定明確、可實(shí)現(xiàn)的周目標(biāo),確保每周都能完成一定數(shù)量的做題任務(wù),掌握關(guān)鍵的知識(shí)點(diǎn)。其次,教師教授學(xué)生們時(shí)間管理技巧,如使用番茄工作法、時(shí)間追蹤工具等,幫助他們擺脫拖延的困擾,提高學(xué)習(xí)效率。在教師的引導(dǎo)下,讓學(xué)生們學(xué)會(huì)如何合理安排時(shí)間,讓每一分每一秒都充滿價(jià)值。最后,教師們還注重培養(yǎng)學(xué)生定期反思和總結(jié)的學(xué)習(xí)習(xí)慣。他們鼓勵(lì)學(xué)生通過學(xué)習(xí)筆記和錯(cuò)題本等方法,對(duì)所學(xué)知識(shí)進(jìn)行復(fù)習(xí)和鞏固。
2.2 同伴教學(xué)法
很多編程類競(jìng)賽需要多人協(xié)作,因此課程可以引導(dǎo)學(xué)生進(jìn)行同伴教學(xué)法。同伴教學(xué)法是一種以學(xué)生為中心的教學(xué)模式,它鼓勵(lì)學(xué)生之間的互評(píng)、互助和合作,通過同伴的反饋和互動(dòng)來促進(jìn)學(xué)生的學(xué)習(xí)和發(fā)展。在編程競(jìng)賽教學(xué)中,同伴教學(xué)法可以幫助學(xué)生了解如何有效地溝通和協(xié)調(diào),并且加深對(duì)于編程的理解。
首先,教師基于學(xué)生意愿,將學(xué)生分成若干小組。小組成員們可以暢所欲言,相互討論、相互幫助,共同攻克難關(guān),完成周目標(biāo)。其次,教師可以組織學(xué)生進(jìn)行定期同伴互評(píng),讓學(xué)生相互評(píng)價(jià)對(duì)方的編程作品或解決方案。通過認(rèn)真審閱對(duì)方的編程作品或解決方案,成員們嘗試用評(píng)委的眼光去發(fā)現(xiàn)其中的亮點(diǎn)與不足。通過同伴互評(píng),他們不僅了解了他人的編程思路和技巧,更在相互學(xué)習(xí)中發(fā)現(xiàn)了自己的短板,從而不斷完善自我。最后,教師可以選擇一些典型的編程競(jìng)賽案例,讓學(xué)生進(jìn)行分析和討論,方便學(xué)生深入了解編程競(jìng)賽的特點(diǎn)和要求,提高自己的編程水平和競(jìng)賽能力。
2.3 翻轉(zhuǎn)課堂
翻轉(zhuǎn)課堂,即將傳統(tǒng)課堂中的講授環(huán)節(jié)與課后作業(yè)環(huán)節(jié)進(jìn)行顛倒,學(xué)生在課前通過視頻、閱讀材料等方式自主學(xué)習(xí)新知識(shí),而在課堂上則主要進(jìn)行問題討論、實(shí)踐操作和答疑解惑。這種教學(xué)模式能夠增強(qiáng)學(xué)生的自主學(xué)習(xí)能力,提升課堂互動(dòng)性和參與度。
在編程類競(jìng)賽備賽過程中,為了全面提高學(xué)生的競(jìng)技水平,我們不僅督促學(xué)生嚴(yán)格按照計(jì)劃做題,還精心組織周賽和月賽排行,并組織翻轉(zhuǎn)課堂,以此激發(fā)他們的學(xué)習(xí)熱情。教師會(huì)根據(jù)競(jìng)賽難度和學(xué)生層次,量身定制周賽和月賽的題目,讓學(xué)生根據(jù)自己的學(xué)習(xí)進(jìn)度和能力,在限定的時(shí)間內(nèi)自主完成。之后,教師會(huì)安排翻轉(zhuǎn)課堂,讓學(xué)生們暢所欲言,分享在自主完賽中遇到的難題和收獲的心得。通過這種集體討論的方式,學(xué)生們能夠相互借鑒、取長(zhǎng)補(bǔ)短。在翻轉(zhuǎn)課堂中,教師尤為關(guān)注學(xué)生的個(gè)體差異,給予他們個(gè)性化的指導(dǎo)和幫助,確保每位學(xué)生都能獲得最適合自己的資源和支持,共同邁向成功。
3 改革實(shí)踐效果
經(jīng)過一系列精心策劃與實(shí)施的改革方案,本學(xué)年的編程競(jìng)賽領(lǐng)域迎來了顯著的成果。與上學(xué)年同專業(yè)學(xué)生獲獎(jiǎng)情況相比,本學(xué)年的獲獎(jiǎng)比率提高了30%,這一數(shù)字背后,是學(xué)生們夜以繼日的努力與汗水,更是改革措施成效的生動(dòng)體現(xiàn)。
調(diào)查中,大多數(shù)學(xué)生表示,這些改革措施有力地提升自身的編程能力。同時(shí),也有5%的學(xué)生表示,這些措施在某種程度上擠占了他們的備賽時(shí)間,給原本就緊張的學(xué)習(xí)生活增添了負(fù)擔(dān)。更遺憾的是,在實(shí)踐過程中,個(gè)別學(xué)生因精力不足、壓力過大等多種原因,最終選擇了退出,經(jīng)過深入的溝通與了解,確實(shí)無法繼續(xù)備賽。
結(jié)語
我們深知,傳統(tǒng)的教學(xué)方式已難以滿足當(dāng)前社會(huì)對(duì)人才的高標(biāo)準(zhǔn)要求,特別是學(xué)生的創(chuàng)新思維和實(shí)踐能力的培養(yǎng)顯得尤為重要。在當(dāng)前科技日新月異的背景下,旨在探索更加高效、實(shí)用的編程競(jìng)賽類教學(xué)方法和策略,本團(tuán)隊(duì)創(chuàng)新性地引入了差異化編程教學(xué),為每位學(xué)生量身定制學(xué)習(xí)計(jì)劃,確保他們都能在適合自己的節(jié)奏中穩(wěn)步前行。同時(shí),我們還積極引導(dǎo)學(xué)生自主學(xué)習(xí)和做題,讓他們?cè)趯?shí)踐中不斷摸索、成長(zhǎng)。最后,使用了同伴教學(xué)和翻轉(zhuǎn)課堂等多種方法,鼓勵(lì)學(xué)生之間的交流與合作,讓他們?cè)谙嗷W(xué)習(xí)中碰撞出思維的火花。這些舉措不僅推動(dòng)了編程競(jìng)賽類教學(xué)的改革和發(fā)展,更提升了學(xué)生的編程技能、競(jìng)賽能力和創(chuàng)新思維,為他們未來職業(yè)之路奠定了堅(jiān)實(shí)的基礎(chǔ)。
參考文獻(xiàn):
[1]賴嘯,易強(qiáng),劉勇.淺析高職院校數(shù)控編程類課程教學(xué)模式的改革[J].黑龍江科技信息,2016(27):97.
[2]陳義,唐鄭熠,劉劍濤.面向應(yīng)用型本科的在線編程訓(xùn)練系統(tǒng)的設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2024,20(19):5759+62.
[3]劉君瑞,姜學(xué)鋒,周果清,等.ICPC國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽的“三融合兩推進(jìn)”組織管理模式[J].計(jì)算機(jī)教育,2024(02):4245.
[4]金廣輝,王琦瑞.基于翻轉(zhuǎn)課堂教學(xué)模式下《常微分方程》雙語課程的建設(shè)與實(shí)踐[J].才智,2024(33):8386.
作者簡(jiǎn)介:蔡欣華(1982— ),女,漢族,江蘇江陰人,工學(xué)碩士,工程師,主要研究方向:人工智能機(jī)器學(xué)習(xí)和競(jìng)賽管理;柳宇(1989— ),女,漢族,山西柳林人,工學(xué)碩士,實(shí)驗(yàn)師,研究方向:機(jī)器學(xué)習(xí)、競(jìng)賽管理;劉松(1984— ),男,漢族,河北衡水人,工學(xué)碩士,高級(jí)工程師,研究方向:板帶軋制裝備的設(shè)計(jì)與研發(fā);劉雅君(1985— ),女,漢族,陜西榆林人,工學(xué)博士,講師,研究方向:軟件工程。