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