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