摘要:ACM/ICPC旨在使大學(xué)生通過計算機(jī)來充分展示其分析問題和解決問題的能力。計算機(jī)實踐教學(xué)是信息學(xué)科創(chuàng)新型人才培養(yǎng)的保證。文章分析計算機(jī)實踐教學(xué)的不足對培養(yǎng)信息學(xué)科創(chuàng)新人才的影響,指出ACM/ICPC在培養(yǎng)信息學(xué)科創(chuàng)新人才方面的作用。
關(guān)鍵詞:ACM/ICPC;信息學(xué)科;創(chuàng)新型人才;計算機(jī)實踐教學(xué)
文章編號:1672-5913(2013)03-0004-03
中圖分類號:G642
1 ACM/ICPC國際大學(xué)生程序設(shè)計競賽簡介
國際大學(xué)生程序設(shè)計競賽(ACM International Collegiate Programming Contest,ACM/ICPC)是由美國計算機(jī)協(xié)會主辦的世界公認(rèn)的規(guī)模最大、水平最高的國際計算機(jī)競賽,ACM/ICPC被看作是當(dāng)代大學(xué)生的一場計算機(jī)奧林匹克競賽,是各著名大學(xué)展示其計算機(jī)教育成果的一種方式,也是參賽選手展示其計算機(jī)才華的舞臺。此項競賽從1970年開始舉辦至今已36屆,薈萃了全球超過100個國家的近2000個知名大學(xué)的計算機(jī)精英。自1998年開始一直得到IBM公司贊助,此后Microsoft、Google、百度和阿里巴巴等國內(nèi)外著名計算機(jī)公司也非常關(guān)注此項賽事,ACM/ICPC深受世界各國大學(xué)生歡迎,目前已經(jīng)成為最具影響力的國際級計算機(jī)賽事。
ACM/ICPC旨在使大學(xué)生通過計算機(jī)來充分展示其分析問題和解決問題的能力。競賽涵蓋的內(nèi)容很廣,主要考查學(xué)生的邏輯思維能力、策略設(shè)計能力以及心理承受能力等。比賽時每隊由3個人組成,并且共用1臺電腦。參賽隊必須首先寫出每道題目的程序源碼,然后提交給裁判進(jìn)行評判,只有提交的程序能夠?qū)λ械妮斎霐?shù)據(jù)都在規(guī)定的時間內(nèi)得到正確的結(jié)果,才能夠獲得通過。
2 信息學(xué)科創(chuàng)新型人才的基本特征
亞里士多德認(rèn)為人的智力發(fā)展和自我完善是教育的基本目的。培養(yǎng)全面發(fā)展的現(xiàn)代化社會主義建設(shè)者是共產(chǎn)主義理想藍(lán)圖中的一幅動人畫面。一個全面發(fā)展的信息學(xué)科創(chuàng)新型人才應(yīng)具備那些基本素質(zhì)呢?要培養(yǎng)信息學(xué)科的創(chuàng)新型人才,首先要明確信息學(xué)科創(chuàng)新型人才的基本概念和基本特征,目前在這方面尚有不同的見解,但大家對信息學(xué)科創(chuàng)新型人才的基本特征有較為一致的觀點。一般具備這樣的基本特征:
①對信息學(xué)科的求知欲望強烈;
②在信息學(xué)科某一領(lǐng)域擁有較扎實的專業(yè)知識和有較高的專業(yè)水平;
③自我學(xué)習(xí)和探索能力強;
④能夠與人合作共處;
⑤身體素質(zhì)好,能承擔(dān)繁重而且艱苦的工作。
信息學(xué)科創(chuàng)新型人才通常應(yīng)該具備以下四種能力:
①學(xué)習(xí)知識的能力;
②整合再創(chuàng)新知識的能力;
③運用知識的能力;
④與人合作共處的能力。
創(chuàng)新源自于實踐,實踐出真理,沒有實踐難以有創(chuàng)新。在信息學(xué)科人才培養(yǎng)環(huán)節(jié)中,計算機(jī)實踐教學(xué)起著非常重要的作用,因此,計算機(jī)實踐教學(xué)對信息學(xué)科創(chuàng)新型人才的培養(yǎng)起著非常重要的作用。但是,目前的計算機(jī)實踐教學(xué)中還存在一些不足,這些不足可以通過ACM/ICPC國際大學(xué)生計算機(jī)程序設(shè)計競賽得到有效的補充和彌補。
3 目前計算機(jī)實踐教學(xué)存在的不足
近年來,盡管計算機(jī)實踐教育得到教育主管部門研究各大學(xué)的重視,但仍存在一些不足,主要表現(xiàn)在以下幾方面。
①計算機(jī)專業(yè)的基礎(chǔ)課程,比如計算機(jī)程序設(shè)計語言、數(shù)據(jù)結(jié)構(gòu)、算法分析與設(shè)計、人工智能等課程都只強調(diào)從理論上對知識的掌握,對學(xué)生程序的實現(xiàn)能力的培養(yǎng)重視程度還不夠,造成有很多大學(xué)生的程序?qū)崿F(xiàn)和調(diào)試能力很差。
②給同學(xué)們布置的編程作業(yè)量嚴(yán)重不足,作業(yè)的檢查通常只注重程序是否能運行。
③課程設(shè)計通常采用小組形式,這樣造成了小組內(nèi)部分成員存在依賴心理,從而導(dǎo)致其實踐機(jī)會的缺乏。
④以筆試為主的考試對這些實踐性很強的課程很難考核學(xué)生真正的水平和能力。
⑤在大學(xué)四年中,計算機(jī)專業(yè)學(xué)生的課程內(nèi)要求完成的編碼量還遠(yuǎn)遠(yuǎn)不夠,一個考試成績很好的學(xué)生可以將經(jīng)典的算法背下來,并且講得頭頭是道,但是他就是不會寫程序,這種現(xiàn)象很常見。
組織學(xué)生參與ACM/ICPC國際大學(xué)生計算機(jī)程序設(shè)計競賽,目前恰恰能夠彌補大學(xué)計算機(jī)實踐教育存在的不足。同學(xué)們在準(zhǔn)備ACM/ICPC競賽的過程中,需要自學(xué)大量的算法,并且需要在國內(nèi)外的OJ上完成大量的題目。一個ACM選手一年之內(nèi)完成的代碼量可能是非ACM選手大學(xué)4年時間完成代碼量的幾倍。由此可見,學(xué)生通過參加ACM/ICPC國際大學(xué)生計算機(jī)程序設(shè)計競賽,可以很大程度上彌補計算機(jī)實踐教學(xué)存在的不足。
4 ACM/ICPC對信息學(xué)科創(chuàng)新型人才培養(yǎng)的作用
ACM/ICPC國際大學(xué)生程序設(shè)計競賽對信息學(xué)科創(chuàng)新型人才培養(yǎng)的作用主要體現(xiàn)在培養(yǎng)信息學(xué)科創(chuàng)新型人才需要具備的四種能力:獲取知識能力、創(chuàng)造知識能力、應(yīng)用知識能力以及與人合作共處能力。
4.1獲取知識能力的培養(yǎng)
ACM/ICPC競賽試題涉及的課程很多,比如計算機(jī)程序設(shè)計語言、數(shù)據(jù)結(jié)構(gòu)、圖論、算法分析與設(shè)計、組合數(shù)學(xué)、離散數(shù)學(xué)、計算幾何、人工智能、概率論及算法復(fù)雜性等。一般情況下,參賽隊員大多由計算機(jī)專業(yè)低年級同學(xué)構(gòu)成。參加競賽必須系統(tǒng)性地學(xué)習(xí)并掌握上述知識,但是,這些隊員基本上只學(xué)習(xí)了計算機(jī)程序設(shè)計語言、數(shù)據(jù)結(jié)構(gòu)等專業(yè)基礎(chǔ)課。為了參加競賽,除了教練給予指導(dǎo)性的教學(xué)之外,參賽隊員們還必須設(shè)定適合自己的學(xué)習(xí)目標(biāo)、學(xué)習(xí)內(nèi)容,制定學(xué)習(xí)計劃,自主管理其學(xué)習(xí)過程。因此,通過ACM/ICPC競賽可以有效地提高大學(xué)生獲取知識的能力。
4.2創(chuàng)造知識能力的培養(yǎng)
ACM/ICPC競賽題目通常比較難,并且比較新,涉及多個學(xué)科領(lǐng)域的方法和理論,有些題目沒有最優(yōu)解法,有些甚至是世界性的難題,要求參賽者綜合運用所學(xué)知識在規(guī)定時間和空間內(nèi)對問題進(jìn)行分析和研究,并通過問題抽象、問題建模、編程調(diào)試及提交評判等步驟完成題目的解答。以此激發(fā)他們探索、刻意求新及力求完美的習(xí)慣,培養(yǎng)大學(xué)生創(chuàng)造知識的能力。
ACM/ICPC競賽是一種具有挑戰(zhàn)性的競賽,這正好符合大學(xué)生爭強好勝的心理。參賽者在比賽過程中應(yīng)用抽象思維能力和邏輯推理能力,運用各種知識進(jìn)行分析和研究。每一個題目都有大量苛刻的測試數(shù)據(jù)可以評判編程的失誤之處。參賽者需要不斷修改錯誤并完善代碼才能完成比賽,這樣培養(yǎng)了學(xué)生求真務(wù)實的科學(xué)態(tài)度。通常情況下,比賽現(xiàn)場的氣氛很緊張并且很熱烈,這樣需要參賽者具有調(diào)節(jié)心態(tài)的能力,面臨困苦需要用冷靜的頭腦去應(yīng)對。這對于培養(yǎng)大學(xué)生面臨壓力情況下創(chuàng)造知識的能力起著非常重要的作用。
4.3應(yīng)用知識能力的培養(yǎng)
ACM/ICPC競賽的準(zhǔn)備過程以及正式競賽,其實就是一個應(yīng)用知識的過程。首先,在培訓(xùn)過程中,由于培養(yǎng)教練能夠利用的時間有限,講解的知識點和例題也有限,一般情況下是對于某一類型的問題,詳細(xì)講解一兩道題,學(xué)生利用學(xué)到的知識點和算法,通過改造、變形、整合等方法來解決某些從來沒有遇到的題目。其次,ACM/ICPC競賽中的題目都是原創(chuàng)題目,是所有參賽選手從來沒見過的題目,因此,當(dāng)學(xué)生面臨這種題目的時候,需要綜合以前所學(xué)過的知識點和算法,進(jìn)行綜合分析,并建模得以求解。其實,不管是ACM/ICPC競賽的準(zhǔn)備階段,還是正式比賽階段都是一個應(yīng)用知識的過程,因此,通過ACM/ICPC競賽可以有效地提高學(xué)生應(yīng)用知識的能力。
4.4與人合作共處能力的培養(yǎng)
ACM競賽采用的是3個人共用一臺電腦的方式進(jìn)行比賽,而且必須在短時間內(nèi)完成有一定難度的題目,因此,需要3個人分工合作和積極配合,共享思維成果,共同協(xié)作才能完成比賽的題目,這樣促進(jìn)了大學(xué)生的合作意識的培養(yǎng)和發(fā)展。在競賽現(xiàn)場,當(dāng)遇到難度比較大的題目的時候,需要集合全隊的智慧共同攻克。在長期的訓(xùn)練過程中,各隊員彼此之間都比較清楚各自的長項和弱項,在比賽的時候,需要合理地對任務(wù)進(jìn)行分配和分工,需要充分發(fā)揮團(tuán)隊的智慧和創(chuàng)造力。而這種團(tuán)隊協(xié)作精神的培養(yǎng),對他們將來從事科學(xué)研究或者從事一些實際應(yīng)用工作,可以打下一個良好的基礎(chǔ),因此,通過ACM/ICPC競賽可以有效地提高大學(xué)生的合作交流溝通能力。
5 結(jié)語
ACM/ICPC競賽可以有效地促進(jìn)信息學(xué)科創(chuàng)新型人才的培養(yǎng)。對大學(xué)生而言,參加競賽就是一種研究性和探索性的學(xué)習(xí)過程,引導(dǎo)和培養(yǎng)大學(xué)生的自主學(xué)習(xí)能力,使得他們能夠主動探索并解決問題。這是對計算機(jī)實踐教學(xué)中存在不足的一種彌補,也是對現(xiàn)行教學(xué)理念的一種改革。因此,我們認(rèn)為ACM/ICPC不僅是一個信息學(xué)科的計算機(jī)程序設(shè)計競賽平臺,同時更是一個很好的計算機(jī)實踐教學(xué)平臺,能夠有效地促進(jìn)信息學(xué)科創(chuàng)新型人才的培養(yǎng)。
(編輯:白杰)