敬超 范培

摘要:本文主要探討了如何通過對國際ACM/ICPC程序設(shè)計大賽課程的改革培養(yǎng)信息類專業(yè)學(xué)生計算思維。先分析了西部主要高校ACM競賽開展情況,并以西部某高校信息類專業(yè)為例,展示了一整套完整的結(jié)合西部特色的ACM程序設(shè)計實踐課程。該實踐課主要是以程序設(shè)計類課程和ACM競賽為核心,培養(yǎng)學(xué)生的獨立思考及創(chuàng)新實踐動手能力,并使得學(xué)生具備較好的團隊協(xié)作精神及英語水平。最后本章指出了目前課程開設(shè)遇到的問題以及未來擬采取的解決方案。
關(guān)鍵詞:ACM/ICPC程序設(shè)計大賽;計算思維;信息類專業(yè);實踐課程
中圖分類號:G642 文獻標識碼:A
文章編號:1009-3044(2019)33-0094-02
1概述
隨著信息技術(shù)的迅猛發(fā)展,人們可以隨時隨地通過計算服務(wù)(如移動計算,社會計算)獲取到相關(guān)信息,計算思維幾乎無處不在,因此如何加強信息類學(xué)生計算思維的培養(yǎng),構(gòu)建計算思維體系框架是值得探索的課題。學(xué)科競賽是培養(yǎng)信息類專業(yè)學(xué)生計算思維的有效途徑之一。通過參與學(xué)科技能競賽學(xué)生的動手能力會得到提高,并掌握解決問題的合理方法,提供實踐動手的創(chuàng)新能力。ACM國際大學(xué)生程序設(shè)計競賽(ACM/ICPC)是一項具有展示大學(xué)生創(chuàng)新能力、團隊精神協(xié)助、分析和解決問題能力競賽,為大學(xué)生鍛煉自身能力和展示才華提供了舞臺,也為提高計算機教育水平和計算機課程改革指明了方向。
ACM/ICPC程序競賽已經(jīng)在全球多個國家舉辦,具有一定的影響力,之前多為歐美等高校壟斷。近些年來隨著信息技術(shù)的發(fā)展及國內(nèi)高校的重視,上海交通大學(xué)、浙江大學(xué)等名校多次獲得了該項賽事的最高榮譽。目前在全國多個城市都承辦過ACM/ICPC亞洲區(qū)域賽事。然而,目前廣西的高校參與度不高,因此結(jié)合廣西地域地方特色,如何更好地發(fā)揮ACM/ICPC競賽的作用,如何加強學(xué)生計算思維的培養(yǎng),如何提高學(xué)生的實踐創(chuàng)新能力是值得探索的課題。
2基于ACM競賽驅(qū)動的實踐課程
目前的廣西高校中,由于桂林電子科技大學(xué)其在電子信息領(lǐng)域的突出表現(xiàn),每年都會組隊參賽并獲得過優(yōu)異的成績。桂林理工大學(xué)則是結(jié)合信息類專業(yè)學(xué)生的能力及程序設(shè)計類課程的特點,將ACM程序設(shè)計競賽的核心知識融人教學(xué)大綱。并專門設(shè)計了ACM程序設(shè)計實踐課程,主要內(nèi)容為數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計方法、算法設(shè)計與分析學(xué)以及相關(guān)課程中典型問題的編程實現(xiàn)。數(shù)據(jù)結(jié)構(gòu)中稍微復(fù)雜一些的算法設(shè)計中可能同時要用到多種技術(shù)和方法,如算法設(shè)計的構(gòu)思方法,動態(tài)變量及鏈表,算法的編碼,遞歸技術(shù),與特定問題相關(guān)的技術(shù)等。通過實驗內(nèi)容的訓(xùn)練,突出構(gòu)造性思維訓(xùn)練的特征,提高學(xué)生組織數(shù)據(jù)與進行編寫大型程序能力。上機實習(xí)是對學(xué)生的一種全面綜合訓(xùn)練,是與課堂聽講、自學(xué)和練習(xí)相輔相成的必不可少的一個教學(xué)環(huán)節(jié)。一方面,實習(xí)題中的問題比平時的習(xí)題復(fù)雜得多,也更接近實際。實習(xí)著眼于原理與應(yīng)用的結(jié)合點,使學(xué)生學(xué)會如何把書上學(xué)到的知識用于解決實際問題,培養(yǎng)軟件工作所需要的動手能力;另一方面,能使書上的知識變“活”,起到深化理解和靈活掌握教學(xué)內(nèi)容的目的。平時的上機練習(xí)較偏重于如何編寫功能單一的“小”算法,而通過ACM程序設(shè)計實踐,可以提高問題分析,總體結(jié)構(gòu)設(shè)計,用戶界面設(shè)計,程序設(shè)計基本技能和技巧。
每個實習(xí)題采取了統(tǒng)一的格式,由問題描述、基本要求、測試數(shù)據(jù)、實現(xiàn)提示等幾部分組成。問題描述旨在為學(xué)生建立問題提出的背景環(huán)境,指明問題“是什么”;基本要求則對問題進一步求精,劃出問題的邊界,指出具體的參量或前提條件,并規(guī)定該題的最低限度要求;測試數(shù)據(jù)部分旨在為檢查學(xué)生上機作業(yè)提供方便,在完成實習(xí)題時應(yīng)自己設(shè)計完整和嚴格的測試方案,當數(shù)據(jù)輸入量較大時,提倡以文件形式向程序提供輸入數(shù)據(jù);實現(xiàn)提示則是對實現(xiàn)中的難點及其解法思路等問題做出了簡要提示。
實習(xí)題目分為三大部分:第一部分為基礎(chǔ)問題、第二部分為經(jīng)典算法問題、第三部分為ACM實踐題。考核方式是第一部分為基礎(chǔ)必做題,要求每人從若干個道題目中任選10道題完成;第二部分是選做題,可以選做其中幾題,完成情況作為學(xué)生總評成績優(yōu)秀的參考;第三部分ACM實踐題來自杭電、北大等ACM線上系統(tǒng),要求必做至少10題,除了要完成基本的分析外,需要在實踐報告中注明自己的賬號,程序AC截圖等,并將題目翻譯成流暢易讀的中文格式鼓勵多選題目。
3課程開設(shè)存在的問題及解決方案
3.1存在的問題
自2015級起我校開設(shè)ACM程序設(shè)計類課程,雖然在一定程度上加強了學(xué)生計算思維的培養(yǎng),達到了以賽促學(xué)的目的,但是在這些課程中仍然存在:
(1)“重理論、輕實踐”,教師在教學(xué)過程中過多地強調(diào)“模型化編程”即套用模板,當出現(xiàn)了新的問題時學(xué)生無從下手,另外過多的時間花費在編程理論知識的教授,導(dǎo)致實踐上機與學(xué)生的溝通不足;
(2)考核形式單一,缺乏過程控制,雖然專門安排了為期2-3周的ACM程序設(shè)計實踐課程,但是部分學(xué)生主動學(xué)習(xí)的積極性不高,只是在要驗收前一周才開始抓緊學(xué)習(xí)挑選簡單實習(xí)題目完成,所以如何完善全面彌補考核方式也是亟待解決的問題之一;
(3)課程過多的是放在學(xué)生編程能力培養(yǎng),學(xué)生團隊協(xié)助和英語能力的培養(yǎng)沒有得到充分體現(xiàn)。
3.2解決方案
目前針對以上問題,可以采取的措施主要有以下幾種解決方案:
(1)全面提高教師的素質(zhì),引進高水平人才,鼓勵教師去名校進修,學(xué)習(xí)先進的教學(xué)理念。
(2)進一步修改教學(xué)大綱細化每門相關(guān)課程的教師職責(zé),制定新的獎勵激勵機制,鼓勵教師在教學(xué)過程中創(chuàng)新。
(3)重視課外第二課堂,鼓勵和督促學(xué)生在課外多讀多看多動手實踐,牢固基礎(chǔ)概念。
(4)組織學(xué)生參與大型程序設(shè)計類賽事,增長大賽經(jīng)驗和見識。
(5)進一步修訂考核方案,突出加強團隊精神協(xié)助,將專業(yè)英語課程與ACM程序設(shè)計實踐課結(jié)合提高學(xué)生英語理解能力。
4結(jié)論
本文的主要是以ACM競賽為核心思想驅(qū)動培養(yǎng)學(xué)生計算思維,提高學(xué)生創(chuàng)新能力及實踐動手能力。首先描述了ACM/ICPC在國際上的重要地位及業(yè)界認可度,并且闡述了該賽事在國內(nèi)的發(fā)展情況,并結(jié)合廣西區(qū)高校的特色簡述了ACM程序設(shè)計賽事在區(qū)內(nèi)開展情況。接著詳細說明了我校桂林理工大學(xué)針對信息類專業(yè)學(xué)生開設(shè)的ACM程序設(shè)計實踐課程,最后指出了目前該課程開設(shè)遇到的問題及解決方法。
相信通過不斷的努力,我們將會摸索出一條結(jié)合廣西特色培養(yǎng)創(chuàng)新類人才的道路,主要是依托ACM競賽模式培養(yǎng)學(xué)生的團體合作能力,引導(dǎo)和培養(yǎng)正確的計算思維,同時強化學(xué)生的溝通協(xié)作能力,并通過專業(yè)英語學(xué)習(xí)提高學(xué)生專業(yè)英語閱讀理解能力。