
摘 要:隨著國內學科競賽的普及,越來越多的高校開始重視學科競賽,并以學科競賽促進教學改革,促進學生學習。許多高校紛紛舉辦了校內程序設計大賽,促進學生成長成才。本文以成都理工大學工程技術學院為例,淺談該校為促進《C語言程序設計》課程建設,提高學生學習能力,舉辦了校內程序設計大賽后對學生學習能力的提升。
關鍵字:C語言程序設計;競賽;以賽促教;以賽促學
1 引言
《C語言程序設計》是計算機類專業的專業基礎課,也是數據結構、操作系統、其他編程語言課程的前驅課程[1]。一方面,計算機已經在生活、工作的各個領域被廣泛應用,需要相關學科的學生能夠建立計算機思維,對計算機的應用有一定了解和把握。另一方面,各類比賽都會涉及到計算機的相關應用,以及部分高校也再積極引導學生參加全國計算機等級考試。
2 背景
為了提高學生對《C語言程序設計》課程的興趣,為了進一步深化C語言教學改革,我校C語言教學團隊采用以賽促教,以賽促學模式,舉辦了我校“青年杯”C語言程序設計大賽。該比賽由學院教務處和電計系聯合主辦,目前已經舉辦兩屆。以賽促教,以賽促學模式需要對課程進行全面的改革[2],一方面,通過強化教師專業技能,改革傳統教學,推動課程建設和教育改革,激勵教師教學積極性。一方面,通過引導學生積極參與各類程序設計大賽,提升學生編程能力,激發學生學習興趣。最終,促進師生共同進步。
在比賽中,將教學知識點的實用性和趣味性相結合,更能激發學生學習《C語言程序設計》乃至其他課程的興趣。讓他們在比賽中可以找到自信,知道如何學以致用。并且在課堂教學中,C語言教學團隊的老師也會積極鼓勵學生參加各類程序設計比賽,給他們介紹相關比賽的情況,做一個正向的,積極的引導。在教學中,將歷年藍橋杯,天梯賽,ACM的競賽真題引入到課堂教學中,對真題進行全方位,多角度的分析,讓學生能夠學以致用,不僅知道知識點是什么,還可以對知識點進行舉一反三,融會貫通。
3 校內程序設計大賽
“青年杯”以個人賽為主,分為專業組和非專業組。專業組為本校電計系學生,參加該組比賽的選手至少需要掌握C語言編程、數據結構、基礎算法等相關專業知識。不僅需要完成指定任務的程序,而且對程序的時間效率和空間效率都有一定的要求。非專業組為本校非電計系學生,參加該組比賽的選手至少需要掌握基本的C語言編程、計算機基礎理論。針對專業組的命題主要考察學生的算法分析與設計能力,強化編程能力,對專業知識的要求較高。針對非專業組的命題主要以全國計算機等級考試二級中的C語言程序題作為知識點[3]。
“青年杯”比賽采用線上賽,判題系統由成理工程評測平臺支撐。針對專業組,采用ACM- ICPC賽制,以提交成功的題目數量和罰時數進行排名。針對非專業組,采用OI賽制,以提交成功的題目數量和通過的用例數進行排名。
為了進一步推動《C語言程序設計》的課程改革,把握學生參加“青年杯”的收獲情況。C語言教學團隊發布了“青年杯”問卷調查,該問卷目標人群是第二屆參賽學生,通過調查學生對比賽題型難易度,比賽成效,比賽收獲等,分析“青年杯”在以賽促教和以賽促學中的效果。本次問卷調查提交有效問卷129份。
針對學生是否會在賽前刷題準備,通過問卷調查有79%的同學選擇會,21%的同學選擇不會。針對學生是否愿意參加下一屆比賽,通過問卷調查有91%的同學選擇會,9%的同學選擇不會。針對賽后學生編程能力是否有提高,通過問卷調查有89%的同學選擇有,11%的同學選擇沒有。
“青年杯”已經舉辦兩屆,每屆報名人數都穩定在170人左右,涉及的院系和專業逐漸增加,可見其影響力也越來越大。“青年杯”兩屆數據分析如表1所示。
4 校內程序設計大賽的作用
1、有利于學校人才隊伍的建設和發展,有利于教師在教學中因材施教,深化教學改革。針對不同專業的學生,有針對性的設計教學大綱,把握不同的難點和重點。特別是針對專業組,比賽的知識點涵蓋范圍廣,有簡單的C語言程序設計題,有數據結構的相關知識點如圖論,排序,二叉樹等等,還有算法的相關知識點如動態規劃,貪心技術,分治法等等。綜合性的考察了學生的編程能力和相關知識的理解與把握能力。比賽結束后,對每道題的提交成功率進行分析,權衡重點和難點知識,在后期的教學中動態調整教學大綱,讓學生能更好的把握重點和難點知識。
2、有利于提高學生的學習積極性和主動性,促使我校學生主動去創新和實踐,提升編程能力和算法分析與設計能力,做到以賽促學,以賽促教。為了調動學生參賽的積極性,“青年杯”在比賽獎勵這一塊也投入巨大,針對一等獎、二等獎、三等獎不僅定制獲獎證書凸顯比賽的權威性和重要性,而且獲獎獎品的質量和數量也逐年增加就是為了讓學生主動的參與到比賽中來,體會比賽的樂趣。
3、以比賽為載體,挖掘優秀的學生,并引導學生去更大的舞臺展現自己,如各類省級程序設計大賽,為他們的脫穎而出創造條件。比賽結束后,C語言教學團隊的老師也會挑選部分優秀的學生,了解他們課下自我學習的情況,并給予一定的算法分析與設計方面的指導,有針對性的去引導他們參加其他類比賽,如藍橋杯,天梯賽,ACM等。讓他們在比賽中收獲自信,在比賽中越戰越勇,成長自己。
5 總結
校內程序設計大賽的舉辦,一方面可以不斷完善教師的教學思路,改變教學方法[4],因材施教,因地制宜。另一方面可以不斷強化學生編程能力,讓學生學以致用,提高專業歸屬感。以賽促教,以賽促學模式能進一步促進我校學風建設,讓學生愛上學習愛上競賽。
參考文獻:
[1]徐新愛.基于學科競賽的《C語言程序設計》課程教學改革研究[J].西南師范大學學報(自然科學版),2015年09期:224-228.
[2]謝光.賽教融合的高校計算機專業課程教學模式改革探究[J].教學研究,2019年08期:86-88.
[3]張璽. 第二屆“青年杯”C語言程序設計大賽開賽啦[Z].四川樂山:成都理工大學工程技術學院電子信息與計算機工程系,2020年.
[4]楊爽,侯紹剛等.“以賽促學”在工科院校教學模式改革中的探索與實施[J].山東化工,2019年08期:193-195.
作者簡介:
(1992—),男,助教,碩士,主要研究方向為:教學改革。