喬亞男 程向前 謝濤(西安交通大學 計算機教學實驗中心,陜西 西安 710049)
國內外大學計算機學科競賽培訓模式研究*
喬亞男程向前謝濤
(西安交通大學 計算機教學實驗中心,陜西 西安 710049)
為了在課堂教學之外進一步提升大學生的計算機實踐技能,計算機學科競賽越來越得到各個高校的重視,而參賽學生的賽前培訓是競賽準備的最重要環節之一。文章通過對國內外知名高校賽前培訓過程的調研,分析了競賽培訓的幾種模式,提出了有關規范計算機學科競賽賽前培訓工作的幾點建議,以提高學生參賽的積極性和主動性,為取得更好的競賽成績打下堅實的基礎。
計算機基礎教學;實踐教學;計算機學科競賽;培訓;國外教育模式
為適應新時期、新技術的發展形勢,帶動同學們對計算機知識的學習熱情,大部分重點高校目前都采用了一定的途徑來選拔計算機程序設計能力較強的同學來參與高級別的計算機學科競賽,為這些優秀的學生提供展示自我的舞臺。文章作者對國內外各大高校計算機競賽培訓方式進行了調研,力求探索出一條有特色、有效率、符合國情校情的競賽培訓道路。
計算機學科競賽是面向大學生開展的科技競賽活動,旨在提高大學生的計算機學科應用與實踐能力,促進計算機學科的課程建設,培養大學生的創新設計能力[1]、綜合設計能力、團隊協作精神乃至人文素質培養[2]。其意義和重要性主要體現在以下幾個方面:
(一)增進學校之間交流,展示和評價自我
計算機學科競賽是為各高校師生提供了交流的平臺。通過參加計算機學科競賽,參賽選手不僅要在比賽中展現自我能力和水平,而且也要從各個方面看到自己與其他參賽選手之間的差距,正確的認識和評價自己,相互學習、相互提高。
(二)增加學科溝通,提高各方面能力
學生除了學習專業本身的知識理論外,還需要學習現實工作生活中可能遇到的各種問題的解決方法和相應的思維方法,而這些方法的學習并不能只依賴學生本專業的教育,需要從其他學科中汲取知識和經驗教訓,有日常教學中能涉及到的,但更多的是正常教學內容以外的其他學科知識,這就要求學生能從各種渠道獲取相關的信息資料,進行了解、學習、分析,并把相關的知識轉化為解決問題的鑰匙[3]。
(三)促進教學質量的提高
從報名準備到競賽結束整個周期內,指導教師通過帶隊參賽,可以更好地了解學生的學習情況,在以后的教學制定出更加完善的教學計劃,提高計算機教學的質量和教師的教學水平;還可以深入了解計算機學科方面的前沿理論、技術和成果,為學校今后開展新的教學方案奠定基礎。這樣不斷地豐富課程教學內容,可以更好地適應信息時代對技能型人才的素質要求,提高人才培養質量[4]。
計算機學科競賽的組織方式一般分為開放式、半封閉式和相對集中、封閉式四種類型。開放式是指將題目要求公布在指定位置,各個參賽隊或者個人自行看題目,并在規定的時間段內完成該題目。半封閉是指比賽期內,各參賽隊或者個人必須獨立完成競賽題目,不得與他人商量和交流,任何教師不得介入,但學生可以離開賽場查閱各種有關資料,在規定時間內用餐和休息。相對集中是指參賽學校安排本校所有參賽隊集中在幾個實驗室內完成全部競賽任務。封閉式指參賽期間,各參賽隊或者個人要單獨完成,不能和其他人商量和交流,不能查閱資料。大部分競爭性較強的大型學科競賽的決賽階段均為封閉式進行。
(一)國內高校的培訓方式
國內各大高校為了能在各軟件大賽中取得較好的成績,都會對參賽的同學進行一定時間的相關培訓[5,6]。盡管不同高校采取的培訓方式和教學內容不盡相同,但是還是存在很多相似之處。
*基金項目:西安交通大學本科教學改革研究青年項目(1502Q-16);西安交通大學基礎課程改革校級重點項目(1502Z-19)。
作者簡介:喬亞男,男,講師,研究方向為信息檢索與自然語言處理。
1.人員的選拔
軟件大賽大致分為兩類,一類是以語言和算法為主,屬于個人賽;一類是以項目為主,屬于團隊賽[7]。其實這兩類大賽并沒有嚴格的區分,在人員的選拔上也基本相似。不同之處在于,選拔團隊賽的選手時不僅要考慮選手個人的長處和優點,還要兼顧考慮到選手的團隊協作能力、與他人的溝通交流能力和心理素質。
2.隊員分組
由于不同學生的編程能力各有差異,如果培訓難度太大,對于基礎比較薄弱的學生來說會比較吃力,跟不上進度,也會打擊他們的積極性,如果培訓難度太小的話,對于水平較高的同學來說又覺得沒意思是在浪費時間,因此根據成員的水平的高低進行合理分組是非常有必要的。針對不同水平的分組因材施教,不同組別根據實際情況實行不同程度的培訓強度。
3.基礎知識的培訓
基礎知識是解決所有一切難題的基礎,而所謂的難題,其實也不過是基礎知識的綜合運用[8],所以只有把基礎知識牢牢的掌握了、吃透了,才有解決難題的能力。對于基礎較好的同學基礎知識的培訓進度可以相對加快,在難點易錯點進行重點講解,不僅要做到”知其然“,還要做到”知其所以然“,而對于基礎相對薄弱的同學,進度可以稍微放慢,確保他們能跟得上,能學有所獲。
4.實戰訓練
項目實戰是提高編程能力的關鍵,因此培訓過程中的實戰訓練階段至關重要,對大賽結果起著決定性的作用。指導老師可以參考和研究一下以往的大賽真題,將其作為實戰項目布置給每個小組,并且對項目的進度劃分時間軸,根據完成情況給予不同的獎勵。這樣不僅使參賽同學有了項目實戰的機會和經驗,并且能將所學的知識學以致用,在用的過程中加深理解和掌握。
(二)國外知名高校的培訓方式
通過對斯坦福大學、哈佛大學、加拿大的卡爾加里大學等國外高校相關網站的調研,發現這些國外知名大學一般并沒有太嚴格培訓過程,參賽學生大多是基于個人興趣或者團隊共同喜好而自發地參加比賽。大部分的參賽隊員是在一個俱樂部(如哈佛大學的hc3俱樂部[9]、卡爾加里大學的Problem Solving Club[10])或者校內社團內選取的,俱樂部或者社團是各個學科匯集的地方,有助于學科的交流與溝通。與國內相比,參賽者的選取更加自由,并不局限于計算機學科人員,其他學科人員也可參加。
國外高校對參賽人員的培訓主要是通過在線評測的方式進行的,哈佛大學hc3俱樂部會提供在線題目的練習(如ACM Boston Preliminary Programming Contest)。在線評測系統有很多如Peking Online Judge、UVA、URAL、SPOJ、SGU,讓學員可以自發在評測系統上進行練習。遇到解決不了的問題可以去俱樂部網站進行提問交流,也可以在一些論壇請教高手,如piazza[11]、github等。
更為重要的一點是國外更為注重學生更早地接觸到計算機編程的相關知識。在高中期間,學生可以進行報名參加一些計算機程序設計大賽。如斯坦福大學的Stanford ProCo就是專門為高中生準備的一種計算機程序設計大賽,讓他們組隊參加[12]。這樣可以更早地培養學生對計算學科的興趣和愛好,拓展思維,提高團隊合作精神。
國內外對于培訓方式的區別主要在于:國內是在一定的程序步驟下對參賽人員進行培訓,能夠集中解決參賽人員的問題,便于管理和培訓參賽人員,為參賽人員打下堅實的基礎。缺點是學生的自由空間會有所減少,創新思維受限。國外一般沒有特定的培訓程序和步驟,主要靠個人的興趣與愛好來學習,自由空間比較充足,可以隨時進行時間的安排。缺點則是太過于自由,依賴學生的天賦與自覺性,管理起來較為不方便。總之,要在集中培訓的基礎上,給學生以適當的空間,尤其是人員選取方面,要廣撒網,讓不同學科之間的學生多交流心得,以促進學生創新思維的打開。
通過對國內外高校的調研,各其所長,總結如下幾點建議來規范計算機學科競賽賽前培訓工作:
(一)專人負責,規范過程
計算機學科競賽的組織要有專門的人員來負責——競賽負責人。競賽負責人主要負責計算機大賽的相關事宜,包括比賽的組織與實施、指導教師隊伍的搭建、參賽隊員選拔與培訓、賽后經驗總結、參賽隊伍梯隊建設等事宜。形成一套系統、有效的競賽組織與培訓程序。由競賽負責人統一對有意向參賽的學生進行選拔,然后選定培訓老師對學生進行統一的培訓和組織,有利于集中提高參賽隊員的整體水平。
(二)選人不拘一格,提高創新思維
計算機競賽并非是專門為計算機專業的學子而設置的,各個專業和學科都可以報名參加。每個學科的思維方式、解決問題的辦法不盡相同,各有千秋。計算機學科中的數據結構、算法設計等知識固然重要,但解決題目時不乏其他學科的思維,如數學、概率論、物理等基礎學科。在參賽隊員配隊中保持不同專業學科的學生配隊會有比較好的效果。計算機競賽為不同的院系的共同合作與交流提供了機會[7]。
(三)賽前充分準備,保證比賽順利進行
要準備好競賽培訓和比賽所需的常規耗材,并確保一定余量。不但要確保培訓時每位參賽人員都能有自己的一臺電腦進行培訓,也要確保正式比賽中意外情況的發生(如電腦死機、停電),備足材料以備不時之需,在關鍵時刻為比賽爭取時間,提高效率。
計算機學科競賽為培養學生的創新能力、實踐能力、應用能力、團隊合作精神等綜合素質提供了一個良好的機會。通過計算機學科競賽可以增加不同學科和專業之間的交流,促進各個學科之間的合作。不但可以促進不同學科間學生的溝通,而且能夠開拓學生的思維方式和視野,有利于學生各方面的提高。
[1]教巍巍,褚治廣,李昕.大學生計算機應用創新能力培養的研究與實踐[J].中國大學教學,2014(6):42-44.
[2]戴紅,于寧,常子冠.計算機競賽中大學生人文素質培養的研究[J].計算機教育,2014(4):18-21.
[3]陳康民,龍曉莉.程序設計競賽對教學作用的研究[J].時代教育,2007(6):3-4.
[4]李杰.指導學生參加ACM程序設計大賽的實踐總結[J].才智,2015(5):143.
[5]黃小瑩,金勁彪.提升大學生科技競賽能力的途徑探析——以浙江樹人大學多媒體競賽為例[J].中國大學教學,2013(6):37-39.
[6]周燕,曾凡智,楊廣發.科技競賽驅動及多知識點融合的計算機學科創新人才培養模式[J].計算機教育,2012(16):19-22.
[7]邱富軍.大學生電子設計競賽培訓思考[J].瀘州職業技術學院學報,2011(4):17-19.
[8]夏海英.提高競賽類學生C語言編程能力的對策——以藍橋杯軟件大賽為例[J].廣西教育,2015(7):34-35.
[9]Harvard computing contest club[EB/OL].[2016-5-1].http://www.s eas.harvard.edu/hc3/.
[10]Problem Solving Club[EB/OL].[2016-5-5].http://psc.cpsc.ucal gary.ca/.
[11]Piazza:The incredibly easy,completely free Q&A platform [EB/OL].[2016-5-11].https://piazza.com/.
[12]Stanford Announces ProCo for High School Students[EB/OL]. [2015-5-1].http://www.edsynergy.org/stanford-announces-procofor-high-school-students.htm.
To further improve the computer skills of university students in addition to classroom teaching,universities are placing extra emphasis on computer contests and the students training is one of the most important aspects of contest preparations.Through researching the pre-contest training processes of some famous domestic and foreign universities,this paper analyses some training modes and proposes some advice to regulate pre-contest training for computer science contests,which can improve enthusiasm and initiative of students and lay a solid foundation for a better result.
fundamental computer teaching;practical teaching;computer contests;training;education modes of foreign countries
2096-000X(2016)16-0007-03
G642
A