摘 要:ACM程序設(shè)計(jì)競(jìng)賽能提供給學(xué)生更多的實(shí)踐機(jī)會(huì),開拓學(xué)生的視野,增強(qiáng)學(xué)生所學(xué)知識(shí)的廣度和深度,增強(qiáng)學(xué)生的團(tuán)隊(duì)協(xié)作意識(shí),便于在學(xué)生中樹立典型,起到示范作用,促進(jìn)創(chuàng)新型人才的培養(yǎng);更能激發(fā)學(xué)生學(xué)習(xí)程序設(shè)計(jì)類課程的興趣,變被動(dòng)地學(xué)為主動(dòng)地學(xué),充分帶動(dòng)學(xué)風(fēng),從而提高教學(xué)效果和人才培養(yǎng)質(zhì)量;參賽獲獎(jiǎng)證書和參賽經(jīng)歷將成為將來學(xué)生就業(yè)的一個(gè)重要資本,成為了進(jìn)入大企業(yè)、好企業(yè)的敲門磚,充分帶動(dòng)學(xué)生就業(yè)。
關(guān)鍵詞:ACM程序設(shè)計(jì)競(jìng)賽 團(tuán)隊(duì)協(xié)作 教學(xué)效果
中圖分類號(hào):F241.4 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-4914(2013)03-132-02
為了拓展學(xué)生的知識(shí)面,踐行黑龍江科技學(xué)院的“大德育、大工程、大實(shí)踐”三大教育理念,提高學(xué)生的綜合素質(zhì)和實(shí)踐能力,筆者積極開展素質(zhì)教育活動(dòng),指導(dǎo)學(xué)生參加各類、各個(gè)級(jí)別的學(xué)科競(jìng)賽,并多次獲獎(jiǎng),為學(xué)校爭(zhēng)得了榮譽(yù)。素質(zhì)教育活動(dòng)的開展有利于課程建設(shè)和課程改革,更有利于學(xué)生的就業(yè)。教師通過指導(dǎo)學(xué)生參加各類競(jìng)賽活動(dòng),可以將競(jìng)賽中遇到的一些問題引入到課堂教學(xué)中,豐富教學(xué)內(nèi)容,激發(fā)學(xué)生的學(xué)習(xí)興趣;學(xué)生通過參加各類競(jìng)賽活動(dòng),能夠增強(qiáng)自身的實(shí)踐能力和自信心,開闊眼界。
筆者連續(xù)三年主持黑龍江科技學(xué)院的素質(zhì)教育項(xiàng)目。2008年以來,積極組織學(xué)生參加“ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽”累計(jì)獲得一等獎(jiǎng)1項(xiàng),二等獎(jiǎng)5項(xiàng),三等獎(jiǎng)18項(xiàng)。
一、算法與程序設(shè)計(jì)課的教學(xué)現(xiàn)狀
在學(xué)校軟件工程專業(yè)的人才培養(yǎng)方案中,設(shè)置了四門以C語言為主線的算法與程序設(shè)計(jì)類課程,分別是C程序設(shè)計(jì)、C++程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計(jì)與分析。這四門課程具有較強(qiáng)的“先行-后續(xù)”性,課程內(nèi)容也具有較強(qiáng)的銜接性,主要培養(yǎng)學(xué)生的算法與程序設(shè)計(jì)能力,進(jìn)而提高學(xué)生用計(jì)算機(jī)來解決實(shí)際問題的能力,這四門課程對(duì)于能否培養(yǎng)出高素質(zhì)、高水平的軟件專業(yè)人才將起到?jīng)Q定性作用。但目前這四門課程存在一些共性問題,一是每門課程都有一定的實(shí)驗(yàn)學(xué)時(shí),但數(shù)量較少,學(xué)生缺少實(shí)踐的機(jī)會(huì),導(dǎo)致學(xué)生的實(shí)踐能力差;二是理論學(xué)時(shí)有限,雖然現(xiàn)有教學(xué)內(nèi)容基本涵蓋了學(xué)生要掌握的所有知識(shí)點(diǎn),但教學(xué)內(nèi)容缺乏廣度和深度,學(xué)生學(xué)到的知識(shí)比較膚淺;三是教師的教學(xué)內(nèi)容比較陳舊,更新速度較慢,不夠新穎,缺乏吸引力,導(dǎo)致部分學(xué)生產(chǎn)生厭學(xué)心理;四是部分學(xué)生學(xué)習(xí)主動(dòng)性差,處于一種“被學(xué)習(xí)”的狀態(tài),對(duì)程序設(shè)計(jì)有畏難心理,不會(huì)編程或者是只能編寫出非常簡(jiǎn)單的程序。這些問題如果不加以解決將直接影響人才培養(yǎng)的質(zhì)量,而組織學(xué)生參加一些專業(yè)相關(guān)的競(jìng)賽活動(dòng)是解決這些問題的一種有效途徑。近年來,許多高校都已經(jīng)認(rèn)識(shí)到了學(xué)科競(jìng)賽活動(dòng)在教學(xué)改革實(shí)踐中的重要性,越來越重視學(xué)科競(jìng)賽活動(dòng),鼓勵(lì)學(xué)生積極參與各類重大賽事,例如參加“ACM程序設(shè)計(jì)競(jìng)賽”。
二、ACM程序設(shè)計(jì)競(jìng)賽簡(jiǎn)介
ACM程序設(shè)計(jì)競(jìng)賽是世界上公認(rèn)的規(guī)模最大、水平最高的程序設(shè)計(jì)競(jìng)賽,是由美國(guó)計(jì)算機(jī)協(xié)會(huì)(ACM)組織的年度性競(jìng)賽,被譽(yù)為計(jì)算機(jī)科學(xué)界的奧林匹克競(jìng)賽。
競(jìng)賽的歷史可以追溯到1970年,至今已有40多年的歷史。1977年,首屆ACM程序設(shè)計(jì)競(jìng)賽總決賽在ACM計(jì)算機(jī)科學(xué)會(huì)議期間舉行,并于1989年將大賽總部設(shè)在了美國(guó)德克薩斯州的貝勒大學(xué)。1997年,IBM成為競(jìng)賽的贊助方,IBM的加盟使得參賽人數(shù)顯著增加,自此之后,該競(jìng)賽逐漸發(fā)展成了一個(gè)全球性的賽事。
競(jìng)賽提倡創(chuàng)新和團(tuán)隊(duì)協(xié)作,鼓勵(lì)學(xué)生在構(gòu)建全新的軟件程序時(shí)盡情發(fā)揮創(chuàng)意,幫助學(xué)生檢驗(yàn)自己在強(qiáng)壓力下的工作能力。競(jìng)賽采用組隊(duì)參賽的形式,由三名隊(duì)員組成一支隊(duì)伍參賽,整個(gè)比賽時(shí)間為5個(gè)小時(shí),比賽題目為6~10道不等,全英文。比賽時(shí),每支隊(duì)伍只使用一臺(tái)電腦,參賽者爭(zhēng)分奪秒,與其他參賽隊(duì)伍比拼邏輯、策略和心理素質(zhì)。競(jìng)賽中,高級(jí)語言程序設(shè)計(jì)、高等數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)與分析、數(shù)學(xué)建模、離散數(shù)學(xué)等課程的知識(shí)都有所涉及,需要隊(duì)員投入時(shí)間精力,進(jìn)行相關(guān)的實(shí)踐訓(xùn)練。
競(jìng)賽的評(píng)判過程十分嚴(yán)格,若每次提交的解決方案出現(xiàn)錯(cuò)誤,就會(huì)受到加時(shí)懲罰。在最短的時(shí)間內(nèi),提交次數(shù)最少、解決問題最多的隊(duì)伍就是最后的勝利者。
國(guó)內(nèi)的許多著名大學(xué),一直非常重視該項(xiàng)賽事的參與。上海交通大學(xué)曾兩次奪得世界總決賽冠軍,浙江大學(xué)奪得過一次世界總決賽冠軍。
三、ACM程序設(shè)計(jì)競(jìng)賽對(duì)學(xué)生能力的培養(yǎng)
1.培養(yǎng)學(xué)生分析問題和解決問題的能力。ACM程序設(shè)計(jì)競(jìng)賽主要考查學(xué)生利用程序來解決一些實(shí)際問題的能力,競(jìng)賽題目以其難和新來激發(fā)學(xué)生的興趣。對(duì)于一道競(jìng)賽題目,參賽隊(duì)員首先要分析它的解題思想,它屬于哪種題型,可以基于哪個(gè)經(jīng)典算法來求解,然后再來編寫程序,而且在編程時(shí)還要注意一些優(yōu)化,這樣才不至于超時(shí)。它通過任務(wù)驅(qū)動(dòng)的方式,讓學(xué)生在解難題的過程中,去構(gòu)思時(shí)間和空間復(fù)雜度都能滿足要求的完美算法,這將充分考驗(yàn)參賽隊(duì)員的分析問題和解決問題能力。
2.鍛煉學(xué)生編程的邏輯思維。ACM程序設(shè)計(jì)競(jìng)賽強(qiáng)調(diào)獨(dú)立思考,鼓勵(lì)標(biāo)新立異,這有利于培養(yǎng)參賽隊(duì)員的邏輯思維能力。無論從事什么工作都有一定的思維方式,寫文章有寫文章的思維方式,做生意有做生意的思維方式,寫程序也一樣,有自己的一套思維方式,熟悉了這種思維方式,寫起代碼來就像寫文章一樣得心應(yīng)手,想什么寫什么,把大腦里的內(nèi)容用代碼完美地表現(xiàn)出來。此外,許多競(jìng)賽題目無固定解題模式,數(shù)百條苛刻的測(cè)試數(shù)據(jù)使得編程失誤在所難免,選手在不斷的修改錯(cuò)誤、完善程序中,求真務(wù)實(shí)的科學(xué)態(tài)度也得到了培養(yǎng)。
3.使學(xué)生收獲編程的知識(shí)和經(jīng)驗(yàn)。學(xué)生在課堂上學(xué)習(xí)了C程序設(shè)計(jì)、C++程序設(shè)計(jì)和算法設(shè)計(jì)與分析等課程,但由于理論課中學(xué)時(shí)有限,使得授課內(nèi)容比較基礎(chǔ),知識(shí)傳授也不夠全面。編程是一門技術(shù),但凡是技術(shù)的東西不去練的話必然生疏,參加競(jìng)賽可以很好的鞏固這些基礎(chǔ)性的知識(shí),同時(shí)還能得到擴(kuò)展。參賽過程中,通過學(xué)習(xí)、熟知各種算法,可以很大的開闊自己的視野;通過競(jìng)賽能進(jìn)一步強(qiáng)化、拓展相關(guān)學(xué)科知識(shí)的深度和廣度,知道的多、了解的多終究不是壞事。更主要的是,相關(guān)算法的設(shè)計(jì)思想會(huì)潛移默化的影響學(xué)生代碼的編寫,提高代碼編寫的質(zhì)量。
4.培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作能力。競(jìng)賽既考驗(yàn)學(xué)生個(gè)人運(yùn)用計(jì)算機(jī)來分析問題和解決問題的能力,又考驗(yàn)團(tuán)隊(duì)配合能力,深受廣大大學(xué)生的喜愛。參加競(jìng)賽的都是一個(gè)團(tuán)隊(duì),學(xué)生總是看到或聽到“團(tuán)隊(duì)協(xié)作”這個(gè)詞,但是始終體會(huì)不到那種實(shí)感,而在參加ACM競(jìng)賽后,學(xué)生能切身體會(huì)到團(tuán)隊(duì)的力量,隊(duì)員們一起共同解決一個(gè)問題后的那種成就感只有身在其中才能體會(huì)的到。還有,參加競(jìng)賽能使學(xué)生交到很多志同道合的朋友,隊(duì)員們都有著相同的興趣愛好,在一起學(xué)習(xí)、聊天、討論,這種良好的學(xué)習(xí)氛圍有助于提高學(xué)生的學(xué)習(xí)效果。
總之,ACM程序設(shè)計(jì)競(jìng)賽為提高學(xué)生的實(shí)踐能力與優(yōu)秀人才的脫穎而出提供了很好的機(jī)會(huì)和條件。
四、ACM程序設(shè)計(jì)競(jìng)賽對(duì)學(xué)生就業(yè)的促進(jìn)作用
目前,國(guó)內(nèi)許多知名IT企業(yè),如華為、阿里巴巴等公司也越來越重視ACM競(jìng)賽,它們會(huì)贊助一些ACM賽事,比如每一年度的亞洲區(qū)預(yù)選賽。對(duì)于ACM競(jìng)賽參賽隊(duì)員,如果畢業(yè)后到這些企業(yè)去面試,那就有可能從眾多應(yīng)聘者當(dāng)中脫穎而出,成功求職。
通過ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽的開展,使得學(xué)生有了更多的實(shí)踐機(jī)會(huì),學(xué)生不再害怕編程,而且能編出高效的程序,這將極大地提高學(xué)生的實(shí)踐能力;開拓了學(xué)生的視野,增強(qiáng)了學(xué)生所學(xué)知識(shí)的廣度和深度,增強(qiáng)了學(xué)生的團(tuán)隊(duì)合作意識(shí),便于在學(xué)生中樹立典型,起到示范作用,促進(jìn)創(chuàng)新型人才的培養(yǎng);極大地激發(fā)學(xué)生學(xué)習(xí)程序設(shè)計(jì)類課程的興趣,變被動(dòng)地學(xué)為主動(dòng)地學(xué),充分帶動(dòng)學(xué)風(fēng),從而提高教學(xué)效果和人才培養(yǎng)質(zhì)量;參賽獲獎(jiǎng)證書和參賽經(jīng)歷將成為將來學(xué)生就業(yè)的一個(gè)重要資本,成為了進(jìn)入大企業(yè)、好企業(yè)的敲門磚,充分帶動(dòng)學(xué)生就業(yè)。
筆者統(tǒng)計(jì)了黑龍江科技學(xué)院參加過ACM競(jìng)賽活動(dòng)的已經(jīng)畢業(yè)的學(xué)生的就業(yè)情況,參加統(tǒng)計(jì)的學(xué)生12人,平均月薪達(dá)到了7308元,參加工作時(shí)間最長(zhǎng)的三年多,最短的僅為4個(gè)月(統(tǒng)計(jì)時(shí)間為2012年11月)。所有學(xué)生從事的工作均為專業(yè)相關(guān),且均是項(xiàng)目組的主要成員。有的學(xué)生還創(chuàng)立了自己的公司,未來發(fā)展前景一片光明。
[基金項(xiàng)目:本文系2012年黑龍江科技學(xué)院教學(xué)研究項(xiàng)目,項(xiàng)目編號(hào):JY12-99]
參考文獻(xiàn):
1.郭嵩山,王磊,張子臻.ACM/ICPC與創(chuàng)新性IT人才的培養(yǎng)[J].實(shí)驗(yàn)室研究與探索,2007(12)
2.王磊.ACM-ICPC競(jìng)賽中的團(tuán)隊(duì)合作[J].計(jì)算機(jī)教育,2006(3)
3.李文新.ACM參賽教練:收獲,不止是心靈上的[J].計(jì)算機(jī)教育,2006(3)
4.習(xí)慧丹,胡洋.高校計(jì)算機(jī)專業(yè)程序設(shè)計(jì)課程教學(xué)改革探討[J].信息技術(shù)與信息化,2012(3)
(作者單位:黑龍江科技學(xué)院計(jì)算機(jī)與信息工程學(xué)院 黑龍江哈爾濱 150027)
(責(zé)編:賈偉)