盧玲 陳媛 茍光磊
摘要:詳細(xì)分析了ACM競(jìng)賽的特點(diǎn),并針對(duì)目前程序設(shè)計(jì)系列課程中普遍存在的問(wèn)題,闡述了ACM競(jìng)賽對(duì)培養(yǎng)學(xué)生學(xué)習(xí)能力及創(chuàng)新能力所具有的指導(dǎo)意義,結(jié)合ACM競(jìng)賽提出了一系列培養(yǎng)模式,包括進(jìn)階式的學(xué)習(xí)目標(biāo)、開放式的學(xué)習(xí)模式、團(tuán)隊(duì)學(xué)習(xí)模式和多元化的評(píng)價(jià)體系。文章詳細(xì)闡述了以ACM競(jìng)賽為指導(dǎo)的培養(yǎng)模式的具體實(shí)施方案,該模式在教學(xué)實(shí)踐中取得了顯著的效果,為培養(yǎng)學(xué)生的學(xué)習(xí)能力及創(chuàng)新能力提供了行之有效的解決方案。
關(guān)鍵詞:ACM;學(xué)習(xí)能力;培養(yǎng)模式;評(píng)價(jià)體系
文章編號(hào):1672-5913(2013)07-0059-03
中圖分類號(hào):G642
0 引言
程序設(shè)計(jì)系列課程是我國(guó)各大高校計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程等專業(yè)普遍開設(shè)的專業(yè)基礎(chǔ)課程。目前,在該系列課程的學(xué)習(xí)方面仍存在一些較為普遍的問(wèn)題。例如,采取統(tǒng)一的教學(xué)模式和教學(xué)目標(biāo),使學(xué)生難以準(zhǔn)確定位自身發(fā)展目標(biāo),在一定程度上限制了個(gè)性化的發(fā)展;采取傳統(tǒng)的、單一的考核模式,考試內(nèi)容局限于教材中的基本理論和基本知識(shí),使學(xué)生除了掌握一般編程技能和算法分析能力外,常常處于尋找標(biāo)準(zhǔn)答案的狀態(tài),在邏輯思維和創(chuàng)新能力發(fā)展方面缺乏原動(dòng)力。本文針對(duì)這些問(wèn)題,在深入分析ACM競(jìng)賽特點(diǎn)的基礎(chǔ)上,提出了以ACM競(jìng)賽為導(dǎo)引的培養(yǎng)模式。下面對(duì)這一培養(yǎng)模式進(jìn)行詳細(xì)介紹。
1 ACM/ICPC及其評(píng)價(jià)體系
1.1ACM/ICPC
ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽(ACM International Collegiate Programming Contest,ACM/ICPC)始于1970年。目前,ACM/ICPC在樹立其專業(yè)性的同時(shí),其娛樂(lè)性、對(duì)抗性和團(tuán)隊(duì)協(xié)作性等特點(diǎn)也吸引了越來(lái)越多的大學(xué)生參與。ACM/ICPC競(jìng)賽具有如下特點(diǎn):
1)題型多樣,題目多與實(shí)際應(yīng)用結(jié)合,富有趣味性,涉及知識(shí)面廣。
2)采用在線系統(tǒng)進(jìn)行評(píng)判,評(píng)判指標(biāo)包括程序的正確性、運(yùn)行時(shí)間、內(nèi)存開銷以及輸入/輸出格式的控制。
3)題目采用英文命題。
4)采取團(tuán)隊(duì)工作方式,每支參賽隊(duì)伍由3人組成,比賽時(shí)每隊(duì)使用一臺(tái)機(jī)器解答問(wèn)題。
5)每次比賽的題目風(fēng)格、題型、難易程度都有很大的不確定性。
6)比賽時(shí)間一般為5個(gè)小時(shí),完成6~12個(gè)題目。在規(guī)定時(shí)間內(nèi),比較各隊(duì)完成題目的數(shù)量、程序的時(shí)間開銷和內(nèi)存開銷。
1.2ACM/ICPC的評(píng)價(jià)指標(biāo)
ACM競(jìng)賽的評(píng)價(jià)指標(biāo)主要包括如下幾方面。
1)算法評(píng)估能力。在分析實(shí)際問(wèn)題的基礎(chǔ)上,參與者能夠在盡可能短的時(shí)間內(nèi)確定最優(yōu)的算法。
2)算法的熟練程度。比賽要求選手熟悉并通曉各類算法,對(duì)常用的算法應(yīng)能靈活運(yùn)用。
3)算法實(shí)現(xiàn)能力,即快速編寫代碼、調(diào)試程序的能力。
4)充分的數(shù)學(xué)知識(shí)。在數(shù)學(xué)方面,參賽選手應(yīng)該具有數(shù)學(xué)建模技術(shù),具備圖論、組合數(shù)學(xué)、數(shù)論等方面的數(shù)學(xué)知識(shí)。從歷屆比賽來(lái)看,扎實(shí)的數(shù)學(xué)基礎(chǔ)是取得好成績(jī)的重要保證。
5)英文閱讀能力。
6)團(tuán)隊(duì)協(xié)作能力。參賽選手以團(tuán)隊(duì)為單位進(jìn)行比賽,參賽隊(duì)伍的組建、分工和協(xié)作,都是影響比賽速度的重要因素。
7)創(chuàng)新能力。ACM/ICPC的題型多樣,知識(shí)面廣,問(wèn)題涉及各個(gè)領(lǐng)域。許多問(wèn)題的求解都是沒(méi)有現(xiàn)成算法可以套用的,這就要求參賽隊(duì)員不僅能正確地選擇算法策略,同時(shí)要能在現(xiàn)有算法的基礎(chǔ)上進(jìn)行改進(jìn)和創(chuàng)新,以滿足求解實(shí)際問(wèn)題的需要。
總體來(lái)看,ACM/ICPC旨在使大學(xué)生運(yùn)用計(jì)算機(jī)來(lái)充分展示自己分析問(wèn)題和解決問(wèn)題的能力。ACM競(jìng)賽的核心價(jià)值主要表現(xiàn)在:①競(jìng)賽模式新穎,有利于培養(yǎng)學(xué)生的編程實(shí)踐能力;②對(duì)參賽選手的綜合素質(zhì)要求高,尤其對(duì)創(chuàng)新能力提出了很高的要求。檢測(cè)選手在壓力下進(jìn)行創(chuàng)新思維和理論實(shí)踐的能力,是大學(xué)計(jì)算機(jī)教育成果的直接體現(xiàn)。
2 基于ACM競(jìng)賽的學(xué)習(xí)模式
計(jì)算機(jī)專業(yè)研究型人才的培養(yǎng)把學(xué)習(xí)能力和創(chuàng)新能力作為主要目標(biāo),這與ACM競(jìng)賽評(píng)價(jià)體系的要求是一致的。因此,以ACM競(jìng)賽為導(dǎo)引構(gòu)建以促進(jìn)學(xué)習(xí)能力、培養(yǎng)創(chuàng)新能力為目標(biāo)的培養(yǎng)模式,是可行的且有效的。這種培養(yǎng)模式主要包括以下幾方面的內(nèi)容。
2.1進(jìn)階式的學(xué)習(xí)目標(biāo)
在程序設(shè)計(jì)系列課程中,由于邏輯思維能力發(fā)展不一致,學(xué)生的學(xué)習(xí)能力差異非常明顯。有的入門很快,有的則需要較長(zhǎng)的時(shí)間。另外,由于知識(shí)點(diǎn)本身的特性,同一學(xué)生對(duì)不同知識(shí)點(diǎn)的接受快慢程度也不一樣。針對(duì)這種差異性,為滿足不同層次學(xué)生發(fā)展的需要,以及同一學(xué)生在不同階段的發(fā)展需要,可以將學(xué)習(xí)目標(biāo)設(shè)置為階梯狀,根據(jù)知識(shí)點(diǎn)的難度和深廣度,將教學(xué)內(nèi)容劃分為基礎(chǔ)、進(jìn)階、提高3個(gè)層次。數(shù)據(jù)結(jié)構(gòu)課程順序表的實(shí)驗(yàn)內(nèi)容構(gòu)成,如圖1所示。
從圖1可見(jiàn),每一次實(shí)驗(yàn)都被劃分為基礎(chǔ)練習(xí)、進(jìn)階練習(xí)和擴(kuò)展練習(xí)?;A(chǔ)練習(xí)是一般性掌握的內(nèi)容,通常要求全部學(xué)生掌握并熟練運(yùn)用;進(jìn)階練習(xí)是大部分學(xué)生掌握的內(nèi)容;擴(kuò)展練習(xí)以拓展思維方式為訓(xùn)練目標(biāo),其題型更加多樣,注重算法的實(shí)際應(yīng)用。在擴(kuò)展練習(xí)題的選擇上,一般可選擇與ACM競(jìng)賽相關(guān)的問(wèn)題,或源于ACM競(jìng)賽的題目。這些題目的知識(shí)覆蓋面具有較大的深廣度,教師可安排學(xué)生根據(jù)自身情況選做。進(jìn)階式的學(xué)習(xí)目標(biāo)使學(xué)生能結(jié)合自身特點(diǎn)設(shè)定學(xué)習(xí)目標(biāo),制定階段性的學(xué)習(xí)方案,使學(xué)習(xí)有的放矢。
2.2開放式的學(xué)習(xí)模式
開放式的學(xué)習(xí)模式包括開放式的平臺(tái)和開放式的思維方式。
開放式的平臺(tái)主張學(xué)生在課堂學(xué)習(xí)之外,還應(yīng)涉足更廣闊空間的資源。例如,在ACM競(jìng)賽的培訓(xùn)中,學(xué)生可到北京大學(xué)、杭州電子科技大學(xué)、浙江大學(xué)等各類在線評(píng)測(cè)系統(tǒng)上進(jìn)行練習(xí),使用這些平臺(tái)提供的題目和學(xué)習(xí)資源,同時(shí)鼓勵(lì)學(xué)生參與到這些在線平臺(tái)的論壇中,與更多的程序設(shè)計(jì)人員進(jìn)行廣泛交流。日常教學(xué)中,我們應(yīng)加強(qiáng)學(xué)習(xí)資源的建設(shè),如建立完備的教學(xué)視頻資源庫(kù)、豐富課程網(wǎng)站上的學(xué)習(xí)資料等,使學(xué)生可以通過(guò)網(wǎng)絡(luò)平臺(tái)獲取更多的學(xué)習(xí)資源,拓展學(xué)習(xí)空間。
開放式的思維方式主張一題多解,不尋找標(biāo)準(zhǔn)答案。在實(shí)驗(yàn)教學(xué)中,教師應(yīng)鼓勵(lì)學(xué)生運(yùn)用多種解題思想、多種技術(shù)手段對(duì)同一問(wèn)題求解,并對(duì)求解過(guò)程進(jìn)行重構(gòu),包括重構(gòu)問(wèn)題分析、算法設(shè)計(jì)、編碼以及調(diào)試等環(huán)節(jié)。例如,對(duì)約瑟夫生者死者問(wèn)題,學(xué)生可以用順序表、帶頭結(jié)點(diǎn)的單鏈表和不帶頭結(jié)點(diǎn)的單鏈表、單循環(huán)鏈表等分別進(jìn)行求解,并比較幾種方案的差異。重構(gòu)求解過(guò)程能促使學(xué)生總結(jié)同類問(wèn)題的共性和個(gè)性。學(xué)生通過(guò)對(duì)各種解題方案進(jìn)行評(píng)估,可增進(jìn)對(duì)各種數(shù)據(jù)結(jié)構(gòu)的理解,還可以培養(yǎng)多樣性的計(jì)算思維方式,從而促進(jìn)創(chuàng)新能力的發(fā)展。
2.3團(tuán)隊(duì)學(xué)習(xí)模式
ACM競(jìng)賽以團(tuán)隊(duì)形式進(jìn)行,因此其日常的一切學(xué)習(xí)任務(wù)均以團(tuán)隊(duì)為單位展開,例如培訓(xùn)時(shí)以團(tuán)隊(duì)為單位安排座位,進(jìn)行交流時(shí)以團(tuán)隊(duì)為單位進(jìn)行匯報(bào)等。團(tuán)隊(duì)學(xué)習(xí)模式具有如下優(yōu)點(diǎn):①便于團(tuán)隊(duì)成員之間分享知識(shí)和經(jīng)驗(yàn),使團(tuán)隊(duì)成員的能力得到更快的提升;②有助于培養(yǎng)學(xué)生的組織能力、溝通能力和表達(dá)能力;③有利于各異性發(fā)展。在ACM競(jìng)賽中,由于題型的靈活性和算法的不確定性,除了要求所有隊(duì)員具備扎實(shí)的基礎(chǔ)知識(shí)外,每個(gè)隊(duì)員還應(yīng)具備自己的專長(zhǎng),以便在遇到自己擅長(zhǎng)的問(wèn)題時(shí)能幫助團(tuán)隊(duì)脫穎而出,這就促使隊(duì)員自覺(jué)地發(fā)現(xiàn)自身優(yōu)勢(shì),明確自己研究和發(fā)展的方向,找到融入團(tuán)隊(duì)的切入點(diǎn)。學(xué)生為了充分體現(xiàn)自身在團(tuán)隊(duì)中的價(jià)值,往往會(huì)主動(dòng)分析自己的特點(diǎn),挖掘自身優(yōu)勢(shì),尋找感興趣的研究方向,這也使得團(tuán)隊(duì)中的學(xué)生發(fā)展呈現(xiàn)明顯的各異性。團(tuán)隊(duì)學(xué)習(xí)模式在程序設(shè)計(jì)系列課程中是廣泛適用的。在日常學(xué)習(xí)中,學(xué)生可自由分成2~3人的小組,各組設(shè)置組長(zhǎng),學(xué)習(xí)以組為單位展開;課程設(shè)計(jì)等綜合實(shí)踐環(huán)節(jié)也以團(tuán)隊(duì)合作的方式進(jìn)行。從教學(xué)實(shí)踐看,這種模式在促進(jìn)合作以及學(xué)生的各異性發(fā)展方面效果非常明顯。
2.4多元化的評(píng)價(jià)體系
ACM競(jìng)賽題型的多樣性和靈活性,要求參賽者具備很強(qiáng)的應(yīng)用和創(chuàng)新能力。在日常學(xué)習(xí)中,單一的考試評(píng)價(jià)體系不利于應(yīng)用能力和創(chuàng)新能力的發(fā)展,引入多元化的評(píng)價(jià)體系是非常有必要的。例如,除了傳統(tǒng)的考試外,還可采取上機(jī)考試、團(tuán)隊(duì)競(jìng)賽、答辯、一題多練等評(píng)價(jià)形式。在評(píng)價(jià)指標(biāo)上,不僅考察算法的正確性,還應(yīng)考察算法的多樣性、創(chuàng)新性。另外,團(tuán)隊(duì)協(xié)作能力、組織能力、口頭表達(dá)能力以及文檔的書寫能力也應(yīng)納入評(píng)價(jià)的指標(biāo)體系??傊?,ACM競(jìng)賽對(duì)學(xué)生的綜合能力提出了更高的要求,這為構(gòu)建日常學(xué)習(xí)的評(píng)價(jià)體系提供了重要的參考。
3 結(jié)語(yǔ)
筆者對(duì)ACM競(jìng)賽的特點(diǎn)進(jìn)行了分析。總體來(lái)看,ACM競(jìng)賽不僅是對(duì)知識(shí)水平的考察,也是綜合素質(zhì)的競(jìng)賽,這一思想對(duì)日常的學(xué)習(xí)和教學(xué)具有重要的指導(dǎo)意義。在實(shí)踐中,重慶理工大學(xué)以ACM競(jìng)賽為指導(dǎo),將基于ACM競(jìng)賽的培養(yǎng)模式應(yīng)用于教學(xué),在學(xué)生的學(xué)習(xí)能力和創(chuàng)新能力培養(yǎng)方面取得了明顯的效果。近年來(lái)重慶理工大學(xué)的學(xué)生廣泛參與市級(jí)、國(guó)家級(jí)競(jìng)賽項(xiàng)目,如ACM競(jìng)賽、數(shù)據(jù)庫(kù)設(shè)計(jì)大賽、電子設(shè)計(jì)競(jìng)賽等,并多次榮獲國(guó)家級(jí)一、二等獎(jiǎng)及市級(jí)獎(jiǎng)項(xiàng);從就業(yè)看,計(jì)算機(jī)專業(yè)學(xué)生的綜合素質(zhì)也被知名IT企業(yè)所認(rèn)同。實(shí)踐表明,構(gòu)建以ACM競(jìng)賽為導(dǎo)引的培養(yǎng)模式,是在促進(jìn)學(xué)習(xí)能力、培養(yǎng)創(chuàng)新能力方面進(jìn)行的一次有意義的探索。
(見(jiàn)習(xí)編輯:劉麗麗)