陳雨龍 許新華 錢詩佳
摘 ?要:為更好地了解和宣揚“藍橋杯”軟件類國賽,文章采用Python中的Numpy、Pandas、Matplotlib三個常用模塊,對最近三屆國賽的參賽數(shù)據(jù)和競賽成績進行了分地區(qū)、分高校和分年度的可視化統(tǒng)計分析。統(tǒng)計結果顯示參賽總人數(shù)逐年遞增,省屬民辦高校參與度不斷提高,但同時也存在著東部地區(qū)在獲獎競爭力上普遍優(yōu)于西部地區(qū),部委屬高校參賽率降低等問題。最后針對上述現(xiàn)象和問題對軟件類賽事提出了四條建議。
關鍵詞:藍橋杯;Python;可視化分析
中圖分類號:TP311 ? ? ?文獻標識碼:A 文章編號: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 ?引 ?言
在高校計算機教學中,參與計算機相關的大學生課外競賽是體現(xiàn)教學質量的一種有效方法[1]。藍橋杯賽事的舉辦得到了教育部、信息化部等部門的高度重視,每年舉辦一屆,目前已經(jīng)成功舉辦了十一屆,國內(nèi)參賽高校超過1200余所,參賽總人數(shù)已達40萬人次[2],為推動我國軟件和信息技術產(chǎn)業(yè)的發(fā)展,促進軟件和信息化技術人才的培養(yǎng)起到了積極作用。
1 ?國賽模式與現(xiàn)狀
賽程安排方面,藍橋杯軟件類省賽一般是上一年11月到下一年3月組織網(wǎng)上報名。省賽各組別一等獎選手將進入國賽,國賽通常于每年5月份舉辦,參賽選手必須按統(tǒng)一時間參賽,準時交卷。
競賽模式和隊伍組建方面,國賽采取單人賽制,選手必須獨立完成比賽任務。共分為三個組別,依次是Java軟件開發(fā)、C++程序設計和Python程序設計。
為體現(xiàn)競賽的公平公正,賽題的評審組由1名組長、2名副組長和若干名評審員組成。每位評審專家的原始評分及評審記錄須交由大賽組委會保存。另外,競賽設置有投訴反饋期,組委會將受理有關違反大賽規(guī)則和紀律的行為[3]。
2 ?最近三屆國賽數(shù)據(jù)分析
2.1 ?國賽參賽情況數(shù)據(jù)分析
最近三屆國賽參賽人數(shù)和參賽高校數(shù)均保持穩(wěn)步增長,三屆國賽參賽人數(shù)分別是4 120、4 862和 7858人,參賽高校數(shù)分別是760、761和784所,第十一屆國賽參賽人數(shù)和參賽高校數(shù)相較于前兩屆均有所增加。Python中的Numpy與Pandas模塊主要用于對數(shù)據(jù)的清洗與處理工作,關鍵代碼為:
#數(shù)據(jù)讀入
Student_data = DataFrame(pd.read_excel('進入國賽分省人數(shù).xlsx'))
data = DataFrame(pd.read_excel('分高校分年度統(tǒng)計要求 .xlsx'))
#年度參賽學生數(shù)、獲獎數(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()
#年度參賽學生數(shù)、獲獎數(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()
從各省市參加國賽的人數(shù)來看,2018年第九屆國賽中,廣東省、湖北省、江蘇省等地的高校均至少有100名同學參賽,位居第一位的是江蘇省,參賽人數(shù)超過400人次;青海省和西藏自治區(qū)等地的參賽人員數(shù)量均在20人以下,排序比較靠后。后兩屆競賽中,江蘇省、山東省和廣東省繼續(xù)維持較高的總參賽人數(shù),均超過300人參賽,海南省和西藏自治區(qū)等地的參賽人數(shù)仍較少,均低于20人。第十一屆競賽中,江蘇省和山東省繼續(xù)維持較高的總參賽人數(shù),廣州省、河南省和湖北省三地的總參賽人數(shù)大幅度增加,青海省、海南省和西藏自治區(qū)等地的參賽人數(shù)仍較少,均低于20人。
綜合三屆國賽各省市參賽總人數(shù)數(shù)據(jù)來看,廣東省、湖北省、江蘇省和山東省等地在三屆競賽的省賽中大部分學子都取得了優(yōu)異的成績,成功晉級決賽;多地參賽人數(shù)均呈現(xiàn)出增長趨勢,尤其是廣東省、湖北省和河南省等地的參賽人數(shù)均在第三屆出現(xiàn)了較大增幅。西藏自治區(qū)和海南省國賽的參與人數(shù)一直較少,均少于15人并且沒有增長趨勢,可能與這些地區(qū)高校數(shù)量少、教學資源相對匱乏、計算機類專業(yè)招生人數(shù)少有關。
Matplotlib模塊主要用于繪制圖形。文中圖片均由Matplotlib模塊繪制而成。核心代碼為:
#字體和圖片大小設置
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 ?國賽成績分析
2018年,共有4 120人參加第九屆藍橋杯軟件類國賽,此次國賽一共選出3 759位獲獎選手,其中特等獎6人、一等獎210人、二等獎999人、三等獎1 560人和優(yōu)秀獎984人[4]。后兩屆競賽中,第十屆國賽參賽人數(shù)小幅度增加至4 862人,獲獎總數(shù)小幅度增加至4 203人。第十一屆國賽參賽人數(shù)和獲獎總人數(shù)相較于前兩年有顯著增加,分別是7 858人和7 497人。
最近三屆國賽獎項數(shù)據(jù)如表1所示,三屆國賽中除特等獎外,一等獎數(shù)量分別占獎項總數(shù)、參賽學生總數(shù)的0.05和0.05,二等獎為0.27和0.24,三等獎為0.40和0.36,優(yōu)秀獎為0.28和0.26。與第九屆國賽相比,后兩屆國賽中一、三等獎數(shù)量占獎項總數(shù)的比例在減小,優(yōu)秀獎占比持續(xù)增加。此外,獲獎數(shù)在總參賽人數(shù)中的占比在第十屆競賽中減少后又在十一屆競賽中迅速增加,與之形成鮮明對比的是第十一屆的獎項總數(shù)遠超前兩屆,上述數(shù)據(jù)表明第十一屆競賽相較于前兩屆競賽獲獎難度降低,尤其是二等獎和優(yōu)秀獎。
緊接著分地區(qū)分年度分析獲獎數(shù)據(jù),如圖1所示。最近三屆競賽中,江蘇省、廣東省和山東省三個地區(qū)始終保持較高的獲獎能力,獲得一二三等獎以及優(yōu)秀獎的數(shù)量連續(xù)三年均位居前列,最高分別是820、684和730,體現(xiàn)出上述三個地區(qū)在競賽方面具有明顯優(yōu)勢。從第十屆競賽開始,湖南省、黑龍江省、遼寧省和廣西壯族自治區(qū)等地在競賽方面取得亮眼表現(xiàn),二三等獎以及優(yōu)秀獎的獲獎數(shù)量均有明顯提高,然而,湖南省和廣西壯族自治區(qū)在一等獎的爭奪上表現(xiàn)得不盡如人意。第十一屆競賽中,湖北省、四川省和江西省在獲獎數(shù)量上有明顯提高,分別是578、403和303。之前從未獲得過一等獎的寧夏回族自治區(qū)、新疆維吾爾自治區(qū)和云南省都取得了一等獎。這說明第十一屆競賽的整體難度有所下降,參賽人員更容易取得獎項。值得注意的是,西部地區(qū)獲獎人數(shù)較少,甚至有些省份從未獲得過一等獎,說明各個地區(qū)在競賽獲獎方面的競爭力出現(xiàn)了分化,東部地區(qū)普遍優(yōu)于西部地區(qū)。這除了與大賽宣傳力度有關外,一定程度上還與西部地區(qū)教育資源匱乏,高校數(shù)量和生源少有關。
分高校分年度進一步分析高校參賽數(shù)據(jù),如圖2所示,從三種不同類型高校(部委屬、省屬民辦和省屬公辦)參賽情況的分布可以看出,參賽學生類型覆蓋本科到專科各層次,充分體現(xiàn)了大學生學科競賽普及性的特點[5]。最近三屆競賽中,參與競賽的省屬公辦高校數(shù)量顯著多于省屬民辦高校和部委屬高校,均大于250所。除了體現(xiàn)出省屬公辦高校更加重視競賽外,可能還與省屬公辦高校總數(shù)多于省屬民辦高校和部委屬高校有關。部委屬高校共有117所,三屆競賽部委屬高校的參與率分別是0.67、0.68和0.65,總體上看部委屬高校對此競賽的積極性很高,但第十一屆競賽中部委屬高校參與率的降低值得注意,可能與大賽在部委屬高校的宣傳力度降低有關。
最后分高校分年度分析獲獎情況,如圖3所示,從總體上看,三屆競賽中三種類型高校的獲獎數(shù)量處于一種平穩(wěn)態(tài)勢。從具體數(shù)據(jù)可以看出,省屬民辦高校第十一屆競賽的獲獎數(shù)量相較于前兩屆都有所增長,而部委屬高校和省屬公辦高校的獲獎數(shù)量則出現(xiàn)了下降的趨勢,這在一定程度上與賽題難度降低,省屬民辦高校對藍橋杯大賽的重視程度加強有關。
3 ?建議
根據(jù)國賽目前的開展現(xiàn)狀和本文數(shù)據(jù)分析,筆者就更好地推動軟件類賽事發(fā)展提出四點建議:
(1)加強賽事宣傳。國賽中部委屬高校的參賽度和獲獎率下滑和西部地區(qū)學生參與度低等問題,一定程度上說明了賽事的宣傳還沒有普及到所有高校和地區(qū),需要賽事組加大宣傳力度。
(2)提高賽題的多元性。第十一屆國賽出現(xiàn)Python組說明大賽在與時俱進,結合更多優(yōu)秀的編程語言,賽事組可以在此基礎上提供更多語言選擇,豐富賽題的多元性。
(3)推動競賽向團隊化方向發(fā)展。目前國賽都是單人賽制,賽事組可以在目前單人賽制的基礎上增加團隊賽。結合賽題的多元化對賽題進行調整,有助于對學生的編程能力和團隊協(xié)作能力進行綜合考察。
(4)進一步推進競賽國際化。藍橋杯軟件類大賽第一屆國際賽事的成功舉辦為藍橋杯大賽邁向國際化奠定了基礎,賽事組應當汲取第一屆國際賽事成功舉辦的經(jīng)驗,積極借鑒其他國際賽事經(jīng)驗,進一步加強對賽事的改進,以便更好地舉辦后續(xù)的國際賽事。
4 ?結 ?論
文章應用Python中的Numpy、Pandas和Matplotlib三個模塊對最近三年藍橋杯軟件類國賽的參賽情況和獲獎情況進行了數(shù)據(jù)處理和可視化分析。從向好的角度來看,國賽獲獎難度的降低,使得更多高校學子能夠獲得獎項。參賽總人數(shù)增加和省屬民辦高校參與度加強都說明了賽事發(fā)展得越來越好。從所出現(xiàn)的問題來看,西部部分地區(qū)參賽人數(shù)較少,東部地區(qū)獲獎率普遍多于西部地區(qū),一定程度上與西部地區(qū)教育資源匱乏,高校數(shù)量和生源少有關。部委屬高校的參賽率降低說明賽事的宣傳力度有所減弱?;谝陨犀F(xiàn)象和問題,我們提出了加強賽事宣傳、提高賽題多元性、推動競賽向團隊化方向發(fā)展以及進一步推動競賽國際化等四條建議,希望能夠助力于藍橋杯軟件類賽事的發(fā)展。
參考文獻:
[1] 高洪皓,高玨,吳亞馨,等.面向測試問題驅動的大學生競賽能力培養(yǎng) [J].計算機教育,2015(1):36-38.
[2] 藍橋杯大賽組委會.第十二屆藍橋杯大賽章程(個人賽) [EB/OL].(2020-12-07).https://dasai.lanqiao.cn/pages/dasai/news_detail.html?id=614.
[3] 李志玲.基于藍橋杯的“以賽促學”在C語言程序設計中的應用 [J].湖北農(nóng)機化,2020(6):132-133.
[4] 藍橋杯大賽組委會.歷屆獲獎名單 [EB/OL].[2020-12-07].https://dasai.lanqiao.cn/pages/dasai/news_detail.html?id=650.
[5] 李剛,胡曉梅,胡啟文.全國大學生生命科學競賽數(shù)據(jù)分析與展望 [J].生物工程學報,2020,36(11):2494-2500.
作者簡介:陳雨龍(2001—),男,漢族,湖北宜昌人,本科在讀,研究方向:數(shù)據(jù)挖掘、推薦系統(tǒng);通訊作者:許新華(1968—),男,漢族,湖北孝感人,教授,碩士,研究方向:數(shù)據(jù)庫、數(shù)據(jù)挖掘;錢詩佳(2001—),女,漢族,湖北襄陽人,本科在讀,研究方向:數(shù)據(jù)挖掘、數(shù)據(jù)分析。