陳雨龍 許新華 錢詩(shī)佳
摘 ?要:為更好地了解和宣揚(yáng)“藍(lán)橋杯”軟件類國(guó)賽,文章采用Python中的Numpy、Pandas、Matplotlib三個(gè)常用模塊,對(duì)最近三屆國(guó)賽的參賽數(shù)據(jù)和競(jìng)賽成績(jī)進(jìn)行了分地區(qū)、分高校和分年度的可視化統(tǒng)計(jì)分析。統(tǒng)計(jì)結(jié)果顯示參賽總?cè)藬?shù)逐年遞增,省屬民辦高校參與度不斷提高,但同時(shí)也存在著東部地區(qū)在獲獎(jiǎng)競(jìng)爭(zhēng)力上普遍優(yōu)于西部地區(qū),部委屬高校參賽率降低等問(wèn)題。最后針對(duì)上述現(xiàn)象和問(wèn)題對(duì)軟件類賽事提出了四條建議。
關(guān)鍵詞:藍(lán)橋杯;Python;可視化分析
中圖分類號(hào):TP311 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2021)06-0119-04
Analysis and Suggestions on Basic Data of “Blue Bridge Cup”
Software National Competition
CHEN Yulong,XU Xinhua,QIAN Shijia
(School of Computer and Information Engineering,Hubei Normal University,Huangshi ?435002,China)
Abstract:In order to better understand and promote the “Blue Bridge Cup” software national competition,the paper uses three commonly used modules Numpy,Pandas and Matplotlib in Python,to make a visual statistical analysis of the competition data and results of the last three national competitions by region,university and year. The statistical results show that the total number of participants is increasing year by year and the participation of provincial private colleges is increasing. However,there are also problems that the eastern region is generally better than the western region in terms of award-winning competitiveness and the participation rate of universities under ministries and commissions has decreased. Finally,four suggestions are put forward for software competitions in response to the above-mentioned phenomena and problems.
Keywords:Blue Bridge Cup;Python;visual analysis
0 ?引 ?言
在高校計(jì)算機(jī)教學(xué)中,參與計(jì)算機(jī)相關(guān)的大學(xué)生課外競(jìng)賽是體現(xiàn)教學(xué)質(zhì)量的一種有效方法[1]。藍(lán)橋杯賽事的舉辦得到了教育部、信息化部等部門的高度重視,每年舉辦一屆,目前已經(jīng)成功舉辦了十一屆,國(guó)內(nèi)參賽高校超過(guò)1200余所,參賽總?cè)藬?shù)已達(dá)40萬(wàn)人次[2],為推動(dòng)我國(guó)軟件和信息技術(shù)產(chǎn)業(yè)的發(fā)展,促進(jìn)軟件和信息化技術(shù)人才的培養(yǎng)起到了積極作用。
1 ?國(guó)賽模式與現(xiàn)狀
賽程安排方面,藍(lán)橋杯軟件類省賽一般是上一年11月到下一年3月組織網(wǎng)上報(bào)名。省賽各組別一等獎(jiǎng)選手將進(jìn)入國(guó)賽,國(guó)賽通常于每年5月份舉辦,參賽選手必須按統(tǒng)一時(shí)間參賽,準(zhǔn)時(shí)交卷。
競(jìng)賽模式和隊(duì)伍組建方面,國(guó)賽采取單人賽制,選手必須獨(dú)立完成比賽任務(wù)。共分為三個(gè)組別,依次是Java軟件開(kāi)發(fā)、C++程序設(shè)計(jì)和Python程序設(shè)計(jì)。
為體現(xiàn)競(jìng)賽的公平公正,賽題的評(píng)審組由1名組長(zhǎng)、2名副組長(zhǎng)和若干名評(píng)審員組成。每位評(píng)審專家的原始評(píng)分及評(píng)審記錄須交由大賽組委會(huì)保存。另外,競(jìng)賽設(shè)置有投訴反饋期,組委會(huì)將受理有關(guān)違反大賽規(guī)則和紀(jì)律的行為[3]。
2 ?最近三屆國(guó)賽數(shù)據(jù)分析
2.1 ?國(guó)賽參賽情況數(shù)據(jù)分析
最近三屆國(guó)賽參賽人數(shù)和參賽高校數(shù)均保持穩(wěn)步增長(zhǎng),三屆國(guó)賽參賽人數(shù)分別是4 120、4 862和 7858人,參賽高校數(shù)分別是760、761和784所,第十一屆國(guó)賽參賽人數(shù)和參賽高校數(shù)相較于前兩屆均有所增加。Python中的Numpy與Pandas模塊主要用于對(duì)數(shù)據(jù)的清洗與處理工作,關(guān)鍵代碼為:
#數(shù)據(jù)讀入
Student_data = DataFrame(pd.read_excel('進(jìn)入國(guó)賽分省人數(shù).xlsx'))
data = DataFrame(pd.read_excel('分高校分年度統(tǒng)計(jì)要求 .xlsx'))
#年度參賽學(xué)生數(shù)、獲獎(jiǎng)數(shù)和高校數(shù)數(shù)據(jù)列表化
labels = Student_data['adress'].tolist()
data_2018 = Student_data[2018].tolist()
data_2019 = Student_data[2019].tolist()
data1_2018 = data1['2018高校數(shù)量'].tolist()
data1_2019 = data1['2019高校數(shù)量'].tolist()
#年度參賽學(xué)生數(shù)、獲獎(jiǎng)數(shù)和高校數(shù)數(shù)據(jù)合并化
for i in range(len(data_2018)):
data_2018_2019.append(data_2018[i]+data_2019[i])
data_2020 = Student_data[2020].tolist()
for i in range(len(data1_2018)):
data1_2018_2019.append(data1_2018[i]+data1_2019[i])
data1_2020 = data1['2020高校數(shù)量'].tolist()
從各省市參加國(guó)賽的人數(shù)來(lái)看,2018年第九屆國(guó)賽中,廣東省、湖北省、江蘇省等地的高校均至少有100名同學(xué)參賽,位居第一位的是江蘇省,參賽人數(shù)超過(guò)400人次;青海省和西藏自治區(qū)等地的參賽人員數(shù)量均在20人以下,排序比較靠后。后兩屆競(jìng)賽中,江蘇省、山東省和廣東省繼續(xù)維持較高的總參賽人數(shù),均超過(guò)300人參賽,海南省和西藏自治區(qū)等地的參賽人數(shù)仍較少,均低于20人。第十一屆競(jìng)賽中,江蘇省和山東省繼續(xù)維持較高的總參賽人數(shù),廣州省、河南省和湖北省三地的總參賽人數(shù)大幅度增加,青海省、海南省和西藏自治區(qū)等地的參賽人數(shù)仍較少,均低于20人。
綜合三屆國(guó)賽各省市參賽總?cè)藬?shù)數(shù)據(jù)來(lái)看,廣東省、湖北省、江蘇省和山東省等地在三屆競(jìng)賽的省賽中大部分學(xué)子都取得了優(yōu)異的成績(jī),成功晉級(jí)決賽;多地參賽人數(shù)均呈現(xiàn)出增長(zhǎng)趨勢(shì),尤其是廣東省、湖北省和河南省等地的參賽人數(shù)均在第三屆出現(xiàn)了較大增幅。西藏自治區(qū)和海南省國(guó)賽的參與人數(shù)一直較少,均少于15人并且沒(méi)有增長(zhǎng)趨勢(shì),可能與這些地區(qū)高校數(shù)量少、教學(xué)資源相對(duì)匱乏、計(jì)算機(jī)類專業(yè)招生人數(shù)少有關(guān)。
Matplotlib模塊主要用于繪制圖形。文中圖片均由Matplotlib模塊繪制而成。核心代碼為:
#字體和圖片大小設(shè)置
plt.rcParams['font.sans-serif']=['SimSun']
plt.rcParams['figure.figsize'] = (12.0, 20.0)
#條形圖繪制
ax.bar(labels, data_2018, width,label='2018')
ax.bar(labels, data_2019, width,bottom=data_2018,label='2019')
ax.bar(labels, data_2020, width,bottom=data_2018_2019,label='2020')
#熱圖繪制
ax.imshow(Third_data,cmap='Reds')
#圖片展示與保存
plt.tight_layout()
plt.savefig("save.png", dpi=300, bbox_inches="tight")
plt.show()
2.2 ?國(guó)賽成績(jī)分析
2018年,共有4 120人參加第九屆藍(lán)橋杯軟件類國(guó)賽,此次國(guó)賽一共選出3 759位獲獎(jiǎng)選手,其中特等獎(jiǎng)6人、一等獎(jiǎng)210人、二等獎(jiǎng)999人、三等獎(jiǎng)1 560人和優(yōu)秀獎(jiǎng)984人[4]。后兩屆競(jìng)賽中,第十屆國(guó)賽參賽人數(shù)小幅度增加至4 862人,獲獎(jiǎng)總數(shù)小幅度增加至4 203人。第十一屆國(guó)賽參賽人數(shù)和獲獎(jiǎng)總?cè)藬?shù)相較于前兩年有顯著增加,分別是7 858人和7 497人。
最近三屆國(guó)賽獎(jiǎng)項(xiàng)數(shù)據(jù)如表1所示,三屆國(guó)賽中除特等獎(jiǎng)外,一等獎(jiǎng)數(shù)量分別占獎(jiǎng)項(xiàng)總數(shù)、參賽學(xué)生總數(shù)的0.05和0.05,二等獎(jiǎng)為0.27和0.24,三等獎(jiǎng)為0.40和0.36,優(yōu)秀獎(jiǎng)為0.28和0.26。與第九屆國(guó)賽相比,后兩屆國(guó)賽中一、三等獎(jiǎng)數(shù)量占獎(jiǎng)項(xiàng)總數(shù)的比例在減小,優(yōu)秀獎(jiǎng)?wù)急瘸掷m(xù)增加。此外,獲獎(jiǎng)數(shù)在總參賽人數(shù)中的占比在第十屆競(jìng)賽中減少后又在十一屆競(jìng)賽中迅速增加,與之形成鮮明對(duì)比的是第十一屆的獎(jiǎng)項(xiàng)總數(shù)遠(yuǎn)超前兩屆,上述數(shù)據(jù)表明第十一屆競(jìng)賽相較于前兩屆競(jìng)賽獲獎(jiǎng)難度降低,尤其是二等獎(jiǎng)和優(yōu)秀獎(jiǎng)。
緊接著分地區(qū)分年度分析獲獎(jiǎng)數(shù)據(jù),如圖1所示。最近三屆競(jìng)賽中,江蘇省、廣東省和山東省三個(gè)地區(qū)始終保持較高的獲獎(jiǎng)能力,獲得一二三等獎(jiǎng)以及優(yōu)秀獎(jiǎng)的數(shù)量連續(xù)三年均位居前列,最高分別是820、684和730,體現(xiàn)出上述三個(gè)地區(qū)在競(jìng)賽方面具有明顯優(yōu)勢(shì)。從第十屆競(jìng)賽開(kāi)始,湖南省、黑龍江省、遼寧省和廣西壯族自治區(qū)等地在競(jìng)賽方面取得亮眼表現(xiàn),二三等獎(jiǎng)以及優(yōu)秀獎(jiǎng)的獲獎(jiǎng)數(shù)量均有明顯提高,然而,湖南省和廣西壯族自治區(qū)在一等獎(jiǎng)的爭(zhēng)奪上表現(xiàn)得不盡如人意。第十一屆競(jìng)賽中,湖北省、四川省和江西省在獲獎(jiǎng)數(shù)量上有明顯提高,分別是578、403和303。之前從未獲得過(guò)一等獎(jiǎng)的寧夏回族自治區(qū)、新疆維吾爾自治區(qū)和云南省都取得了一等獎(jiǎng)。這說(shuō)明第十一屆競(jìng)賽的整體難度有所下降,參賽人員更容易取得獎(jiǎng)項(xiàng)。值得注意的是,西部地區(qū)獲獎(jiǎng)人數(shù)較少,甚至有些省份從未獲得過(guò)一等獎(jiǎng),說(shuō)明各個(gè)地區(qū)在競(jìng)賽獲獎(jiǎng)方面的競(jìng)爭(zhēng)力出現(xiàn)了分化,東部地區(qū)普遍優(yōu)于西部地區(qū)。這除了與大賽宣傳力度有關(guān)外,一定程度上還與西部地區(qū)教育資源匱乏,高校數(shù)量和生源少有關(guān)。
分高校分年度進(jìn)一步分析高校參賽數(shù)據(jù),如圖2所示,從三種不同類型高校(部委屬、省屬民辦和省屬公辦)參賽情況的分布可以看出,參賽學(xué)生類型覆蓋本科到??聘鲗哟?,充分體現(xiàn)了大學(xué)生學(xué)科競(jìng)賽普及性的特點(diǎn)[5]。最近三屆競(jìng)賽中,參與競(jìng)賽的省屬公辦高校數(shù)量顯著多于省屬民辦高校和部委屬高校,均大于250所。除了體現(xiàn)出省屬公辦高校更加重視競(jìng)賽外,可能還與省屬公辦高??倲?shù)多于省屬民辦高校和部委屬高校有關(guān)。部委屬高校共有117所,三屆競(jìng)賽部委屬高校的參與率分別是0.67、0.68和0.65,總體上看部委屬高校對(duì)此競(jìng)賽的積極性很高,但第十一屆競(jìng)賽中部委屬高校參與率的降低值得注意,可能與大賽在部委屬高校的宣傳力度降低有關(guān)。
最后分高校分年度分析獲獎(jiǎng)情況,如圖3所示,從總體上看,三屆競(jìng)賽中三種類型高校的獲獎(jiǎng)數(shù)量處于一種平穩(wěn)態(tài)勢(shì)。從具體數(shù)據(jù)可以看出,省屬民辦高校第十一屆競(jìng)賽的獲獎(jiǎng)數(shù)量相較于前兩屆都有所增長(zhǎng),而部委屬高校和省屬公辦高校的獲獎(jiǎng)數(shù)量則出現(xiàn)了下降的趨勢(shì),這在一定程度上與賽題難度降低,省屬民辦高校對(duì)藍(lán)橋杯大賽的重視程度加強(qiáng)有關(guān)。
3 ?建議
根據(jù)國(guó)賽目前的開(kāi)展現(xiàn)狀和本文數(shù)據(jù)分析,筆者就更好地推動(dòng)軟件類賽事發(fā)展提出四點(diǎn)建議:
(1)加強(qiáng)賽事宣傳。國(guó)賽中部委屬高校的參賽度和獲獎(jiǎng)率下滑和西部地區(qū)學(xué)生參與度低等問(wèn)題,一定程度上說(shuō)明了賽事的宣傳還沒(méi)有普及到所有高校和地區(qū),需要賽事組加大宣傳力度。
(2)提高賽題的多元性。第十一屆國(guó)賽出現(xiàn)Python組說(shuō)明大賽在與時(shí)俱進(jìn),結(jié)合更多優(yōu)秀的編程語(yǔ)言,賽事組可以在此基礎(chǔ)上提供更多語(yǔ)言選擇,豐富賽題的多元性。
(3)推動(dòng)競(jìng)賽向團(tuán)隊(duì)化方向發(fā)展。目前國(guó)賽都是單人賽制,賽事組可以在目前單人賽制的基礎(chǔ)上增加團(tuán)隊(duì)賽。結(jié)合賽題的多元化對(duì)賽題進(jìn)行調(diào)整,有助于對(duì)學(xué)生的編程能力和團(tuán)隊(duì)協(xié)作能力進(jìn)行綜合考察。
(4)進(jìn)一步推進(jìn)競(jìng)賽國(guó)際化。藍(lán)橋杯軟件類大賽第一屆國(guó)際賽事的成功舉辦為藍(lán)橋杯大賽邁向國(guó)際化奠定了基礎(chǔ),賽事組應(yīng)當(dāng)汲取第一屆國(guó)際賽事成功舉辦的經(jīng)驗(yàn),積極借鑒其他國(guó)際賽事經(jīng)驗(yàn),進(jìn)一步加強(qiáng)對(duì)賽事的改進(jìn),以便更好地舉辦后續(xù)的國(guó)際賽事。
4 ?結(jié) ?論
文章應(yīng)用Python中的Numpy、Pandas和Matplotlib三個(gè)模塊對(duì)最近三年藍(lán)橋杯軟件類國(guó)賽的參賽情況和獲獎(jiǎng)情況進(jìn)行了數(shù)據(jù)處理和可視化分析。從向好的角度來(lái)看,國(guó)賽獲獎(jiǎng)難度的降低,使得更多高校學(xué)子能夠獲得獎(jiǎng)項(xiàng)。參賽總?cè)藬?shù)增加和省屬民辦高校參與度加強(qiáng)都說(shuō)明了賽事發(fā)展得越來(lái)越好。從所出現(xiàn)的問(wèn)題來(lái)看,西部部分地區(qū)參賽人數(shù)較少,東部地區(qū)獲獎(jiǎng)率普遍多于西部地區(qū),一定程度上與西部地區(qū)教育資源匱乏,高校數(shù)量和生源少有關(guān)。部委屬高校的參賽率降低說(shuō)明賽事的宣傳力度有所減弱?;谝陨犀F(xiàn)象和問(wèn)題,我們提出了加強(qiáng)賽事宣傳、提高賽題多元性、推動(dòng)競(jìng)賽向團(tuán)隊(duì)化方向發(fā)展以及進(jìn)一步推動(dòng)競(jìng)賽國(guó)際化等四條建議,希望能夠助力于藍(lán)橋杯軟件類賽事的發(fā)展。
參考文獻(xiàn):
[1] 高洪皓,高玨,吳亞馨,等.面向測(cè)試問(wèn)題驅(qū)動(dòng)的大學(xué)生競(jìng)賽能力培養(yǎng) [J].計(jì)算機(jī)教育,2015(1):36-38.
[2] 藍(lán)橋杯大賽組委會(huì).第十二屆藍(lán)橋杯大賽章程(個(gè)人賽) [EB/OL].(2020-12-07).https://dasai.lanqiao.cn/pages/dasai/news_detail.html?id=614.
[3] 李志玲.基于藍(lán)橋杯的“以賽促學(xué)”在C語(yǔ)言程序設(shè)計(jì)中的應(yīng)用 [J].湖北農(nóng)機(jī)化,2020(6):132-133.
[4] 藍(lán)橋杯大賽組委會(huì).歷屆獲獎(jiǎng)名單 [EB/OL].[2020-12-07].https://dasai.lanqiao.cn/pages/dasai/news_detail.html?id=650.
[5] 李剛,胡曉梅,胡啟文.全國(guó)大學(xué)生生命科學(xué)競(jìng)賽數(shù)據(jù)分析與展望 [J].生物工程學(xué)報(bào),2020,36(11):2494-2500.
作者簡(jiǎn)介:陳雨龍(2001—),男,漢族,湖北宜昌人,本科在讀,研究方向:數(shù)據(jù)挖掘、推薦系統(tǒng);通訊作者:許新華(1968—),男,漢族,湖北孝感人,教授,碩士,研究方向:數(shù)據(jù)庫(kù)、數(shù)據(jù)挖掘;錢詩(shī)佳(2001—),女,漢族,湖北襄陽(yáng)人,本科在讀,研究方向:數(shù)據(jù)挖掘、數(shù)據(jù)分析。