張先偉,曲志堅(jiān),張立紅,馬新娟,王海鵬,劉曉紅
(山東理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 淄博 255049)
隨著社會(huì)的不斷發(fā)展,信息技術(shù)幾乎涵蓋了社會(huì)的方方面面,社會(huì)對(duì)計(jì)算機(jī)類專業(yè)的人才需求日益增加。據(jù)統(tǒng)計(jì),截至2016 年,我國(guó)的計(jì)算機(jī)類專業(yè)布點(diǎn)數(shù)已經(jīng)達(dá)到2 956個(gè),在校生數(shù)占整個(gè)工科在校生數(shù)的百分之十六七[1]。然而,對(duì)于計(jì)算機(jī)類專業(yè)人才培養(yǎng)理念和教育教學(xué)方法上還存在諸多問(wèn)題,尤其是面向應(yīng)用型人才培養(yǎng)的地方高校中更為明顯[2]。這些問(wèn)題主要體現(xiàn)在專業(yè)培養(yǎng)理念上重理論、輕實(shí)踐,重知識(shí)、輕能力,重書本、輕創(chuàng)新;在授課方式上以教師為中心,通過(guò)課堂講授知識(shí)的方式對(duì)學(xué)生進(jìn)行單向知識(shí)傳授;在對(duì)學(xué)生的評(píng)價(jià)方法上,通過(guò)使用紙質(zhì)試卷進(jìn)行期末考試的方式衡量學(xué)生的學(xué)習(xí)狀況;在教學(xué)方法上采用板書加電子教案的形式。這些問(wèn)題直接導(dǎo)致的結(jié)果是,培養(yǎng)出的學(xué)生無(wú)法擺脫眼高手低、好高騖遠(yuǎn)的毛病,缺乏良好實(shí)踐能力、創(chuàng)新能力等專業(yè)基本素質(zhì),缺乏專業(yè)競(jìng)爭(zhēng)力難以滿足社會(huì)需求。
為了提升計(jì)算機(jī)類專業(yè)人才培養(yǎng)質(zhì)量,迫切需要改變傳統(tǒng)教學(xué)理念,從傳統(tǒng)的以教為中心轉(zhuǎn)變?yōu)橐詫W(xué)生能力發(fā)展為中心。應(yīng)用型人才的核心能力是工程實(shí)踐能力,工程實(shí)踐能力是一種綜合能力[3-4]。計(jì)算機(jī)類學(xué)生工程實(shí)踐能力的基礎(chǔ)和核心在于學(xué)生的編程能力、計(jì)算思維、算法能力、創(chuàng)新能力等基本程序設(shè)計(jì)能力的培養(yǎng)[5]。程序設(shè)計(jì)能力培養(yǎng)主要是在大一和大二階段,因此應(yīng)以計(jì)算機(jī)類專業(yè)人才的程序設(shè)計(jì)綜合能力培養(yǎng)為目標(biāo),建設(shè)包括程序設(shè)計(jì)基礎(chǔ)、離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)與算法一體的程序設(shè)計(jì)能力課程體系和教學(xué)方法,突出對(duì)編程能力、計(jì)算思維和基本算法實(shí)現(xiàn)能力的培養(yǎng),并在此基礎(chǔ)上通過(guò)組織學(xué)生參與各類大學(xué)生程序設(shè)計(jì)競(jìng)賽激發(fā)優(yōu)秀學(xué)生算法能力和創(chuàng)新能力的進(jìn)一步提升,實(shí)現(xiàn)競(jìng)教相長(zhǎng)的良性循環(huán)。
為提高學(xué)生的程序設(shè)計(jì)能力,在授課理念上應(yīng)改變以往局限于課程本身的狹隘的認(rèn)識(shí),把程序設(shè)計(jì)類課程放在專業(yè)體系中來(lái)認(rèn)知,打通程序設(shè)計(jì)基礎(chǔ)、離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)與算法、編譯原理等課程之間的聯(lián)系,在教學(xué)設(shè)計(jì)中形成一個(gè)整體,充分發(fā)揮專業(yè)入門課程的引導(dǎo)作用。利用程序設(shè)計(jì)基礎(chǔ)培養(yǎng)學(xué)生基本的編程實(shí)踐能力,在離散數(shù)學(xué)課程中通過(guò)數(shù)學(xué)問(wèn)題的編程實(shí)踐加深基本理論和算法的理解,在數(shù)據(jù)結(jié)構(gòu)與算法課程中強(qiáng)化算法的實(shí)現(xiàn)能力,促進(jìn)對(duì)算法和基本理論的掌握,通過(guò)編譯原理實(shí)踐對(duì)算法和理論進(jìn)行綜合運(yùn)用并加深對(duì)程序執(zhí)行過(guò)程的理解。利用程序設(shè)計(jì)類課程體系的設(shè)計(jì)充分培養(yǎng)學(xué)生的實(shí)踐動(dòng)手能力,讓學(xué)生掌握知識(shí)在實(shí)際問(wèn)題中的應(yīng)用和方法,實(shí)現(xiàn)對(duì)學(xué)生程序設(shè)計(jì)基本能力的有效培養(yǎng),又可以促進(jìn)學(xué)生良好的專業(yè)學(xué)習(xí)習(xí)慣、專業(yè)思維習(xí)慣以及專業(yè)實(shí)踐動(dòng)手習(xí)慣的初步養(yǎng)成。程序設(shè)計(jì)能力培訓(xùn)課程體系結(jié)構(gòu)和課程間的關(guān)系如圖1所示。
圖1 程序設(shè)計(jì)能力培養(yǎng)課程體系結(jié)構(gòu)
從圖1可知,學(xué)生入校以后從程序設(shè)計(jì)基礎(chǔ)課程開(kāi)始,始終強(qiáng)化程序設(shè)計(jì)能力。通過(guò)在不同課程中持續(xù)的強(qiáng)化編程能力,使學(xué)生在大學(xué)前兩年形成良好的編程習(xí)慣。此外,這種實(shí)踐能夠使學(xué)生在編程中理解理論,逐漸促進(jìn)計(jì)算思維的形成并形成良好的算法設(shè)計(jì)和實(shí)現(xiàn)能力。通過(guò)在離散數(shù)學(xué)中引入實(shí)踐,一方面能夠使學(xué)生提高編程能力,更重要的是能理解數(shù)學(xué)理論與計(jì)算機(jī)求解問(wèn)題之間的關(guān)系,降低學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)課程的困難,更容易理解數(shù)據(jù)、算法和程序之間的聯(lián)系。
課堂授課過(guò)程中應(yīng)摒棄專業(yè)課以知識(shí)講解為主的教學(xué)方法,程序設(shè)計(jì)基礎(chǔ)課程實(shí)現(xiàn)理論實(shí)踐一體化的教學(xué)模式,所有內(nèi)容全部在機(jī)房授課,學(xué)生邊學(xué)邊練,讓教師成為教學(xué)過(guò)程的組織者與協(xié)調(diào)者,讓學(xué)生成為教學(xué)過(guò)程的參與者。通過(guò)離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)與算法、編譯原理課程加重實(shí)踐教學(xué)的比重,注重理論與實(shí)踐的結(jié)合;通過(guò)講練結(jié)合的教學(xué)模式,加強(qiáng)教學(xué)過(guò)程中教師與學(xué)生的實(shí)時(shí)互動(dòng)、學(xué)生與學(xué)生的實(shí)時(shí)互動(dòng),通過(guò)程序競(jìng)賽形式的上機(jī)練習(xí),增強(qiáng)學(xué)生學(xué)習(xí)過(guò)程中的競(jìng)技性、趣味性,提高學(xué)生參與學(xué)習(xí)的積極性與主動(dòng)性。
以山東理工大學(xué)為例,程序設(shè)計(jì)能力培養(yǎng)課程體系中的課程實(shí)踐環(huán)節(jié)完全依托于自主開(kāi)發(fā)的山東省高校第一個(gè)程序在線評(píng)測(cè)系統(tǒng)(SDUTOJ)。通過(guò)靈活的使用該系統(tǒng),將程序設(shè)計(jì)類課程的實(shí)驗(yàn)教學(xué)、實(shí)踐練習(xí)和考核結(jié)合在一起,學(xué)生可以隨時(shí)隨地登錄系統(tǒng)提交實(shí)驗(yàn)代碼,有效調(diào)動(dòng)了學(xué)生的實(shí)踐積極性,解決了課程原有實(shí)踐教學(xué)方法單一、受制于教學(xué)場(chǎng)地、實(shí)踐教學(xué)方法落后等原因造成的對(duì)學(xué)生實(shí)踐能力培養(yǎng)不足的問(wèn)題(課程實(shí)驗(yàn)可訪問(wèn)SDUTOJ,在線注冊(cè)并登錄以后點(diǎn)擊Experiments查看:http://acm.sdut.edu.cn/onlinejudge2/index.php/Home)。
在學(xué)生考核與評(píng)價(jià)的過(guò)程中,可以借助大學(xué)生程序設(shè)計(jì)競(jìng)賽機(jī)制與SDUTOJ平臺(tái),對(duì)程序設(shè)計(jì)基礎(chǔ)、離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)與算法和編譯原理的課程的考核方式進(jìn)行徹底的改革,突出對(duì)能力的考核與評(píng)價(jià)。以山東理工大學(xué)為例,程序設(shè)計(jì)基礎(chǔ)課程自2014年開(kāi)始取消了理論考試,只保留平時(shí)實(shí)驗(yàn)與期末機(jī)考兩個(gè)環(huán)節(jié),建立了與課程目標(biāo)一致的實(shí)踐能力考核框架。所有課程采用“抽測(cè)+補(bǔ)測(cè)”的機(jī)考模式,通過(guò)階段性的實(shí)驗(yàn)抽測(cè),充分保障了平時(shí)實(shí)驗(yàn)考核結(jié)果的公平性、有效性,解決了原來(lái)對(duì)學(xué)生平時(shí)實(shí)踐能力無(wú)法準(zhǔn)確考核評(píng)價(jià)的問(wèn)題;通過(guò)后期定時(shí)對(duì)抽測(cè)不過(guò)關(guān)學(xué)生的補(bǔ)測(cè),調(diào)動(dòng)了學(xué)習(xí)基礎(chǔ)相對(duì)較弱的部分學(xué)生平時(shí)認(rèn)真及時(shí)做題的積極性,真正發(fā)揮了平時(shí)“抽測(cè)+補(bǔ)測(cè)”這種新型考核模式對(duì)學(xué)生平時(shí)學(xué)習(xí)的驅(qū)動(dòng)作用。離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)與算法和編譯原理根據(jù)課程性質(zhì),依托于在線測(cè)評(píng)系統(tǒng)實(shí)現(xiàn)課程的日常實(shí)驗(yàn)和編程練習(xí),借鑒程序設(shè)計(jì)競(jìng)賽模式完成課程期末機(jī)考,考試成績(jī)由理論筆試成績(jī)、平時(shí)上機(jī)測(cè)驗(yàn)成績(jī)和期末上機(jī)考試成績(jī)構(gòu)成,實(shí)現(xiàn)了理論考試與機(jī)考相結(jié)合的評(píng)價(jià)機(jī)制。截止2018年6月20日,通過(guò)在線測(cè)評(píng)系統(tǒng)進(jìn)行實(shí)踐訓(xùn)練和考核統(tǒng)計(jì)情況見(jiàn)表1。
程序設(shè)計(jì)類課程改革保證了計(jì)算機(jī)類專業(yè)學(xué)生有較高的實(shí)踐能力,為了不斷激發(fā)學(xué)生的學(xué)習(xí)興趣和動(dòng)力,為優(yōu)秀學(xué)生提供良好的發(fā)揮空間,促進(jìn)創(chuàng)新能力的進(jìn)一步提升,可以通過(guò)組織學(xué)生參加各類大學(xué)生程序設(shè)計(jì)競(jìng)賽,實(shí)現(xiàn)程序設(shè)計(jì)類課程教學(xué)與ACM大學(xué)生程序設(shè)計(jì)競(jìng)賽的有機(jī)結(jié)合,形成以教學(xué)帶動(dòng)競(jìng)賽以競(jìng)賽促進(jìn)教學(xué)的良性循環(huán)[6]。教師應(yīng)將科技競(jìng)賽視為學(xué)生創(chuàng)新能力培養(yǎng)的一個(gè)重要環(huán)節(jié),本著人才培養(yǎng)的理念參加科技競(jìng)賽,認(rèn)為大學(xué)生創(chuàng)新活動(dòng)源于教學(xué)、源于專業(yè)又能夠促進(jìn)教學(xué)、融入專業(yè)能力的培養(yǎng)過(guò)程,注重學(xué)生良好的自我約束能力和誠(chéng)信比賽的品質(zhì)培養(yǎng),注重團(tuán)隊(duì)意識(shí)與協(xié)作能力的訓(xùn)練。
為了更好地組織管理學(xué)生參加競(jìng)賽,促進(jìn)學(xué)生更快成長(zhǎng),我們構(gòu)建了科學(xué)完整的ACM創(chuàng)新培養(yǎng)體系,制訂了從第一學(xué)期到第五學(xué)期詳細(xì)的訓(xùn)練計(jì)劃。該訓(xùn)練計(jì)劃包含了每個(gè)周末與寒暑假的訓(xùn)練安排,包含大一、大二、大三各個(gè)年級(jí)學(xué)生的不同訓(xùn)練內(nèi)容,也包含了專業(yè)與非專業(yè)學(xué)生的不同訓(xùn)練計(jì)劃。該訓(xùn)練培養(yǎng)體系涵蓋了ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽所需要的全部?jī)?nèi)容,知識(shí)點(diǎn)的分布按照不同培訓(xùn)階段由易到難,訓(xùn)練題目借鑒了國(guó)際國(guó)內(nèi)最高質(zhì)量的題目標(biāo)準(zhǔn),保障了只要學(xué)生能夠按照體系要求認(rèn)真努力的訓(xùn)練,就一定可以顯著的提升個(gè)人能力。
表1 山東理工大學(xué)程序設(shè)計(jì)能力培養(yǎng)課程體系實(shí)踐訓(xùn)練和考核情況統(tǒng)計(jì)
此外,建設(shè)了合理的ACM梯隊(duì)對(duì)學(xué)生進(jìn)行分類指導(dǎo)和訓(xùn)練,目前集訓(xùn)梯隊(duì)主要包含以下幾個(gè):梯隊(duì)一:程序設(shè)計(jì)基礎(chǔ)一(主要面向所有有意愿加入的大一學(xué)生);梯隊(duì)二:程序設(shè)計(jì)二(主要面向從梯隊(duì)一選拔的、參與大一寒假集訓(xùn)的大一學(xué)生);梯隊(duì)三:數(shù)據(jù)結(jié)構(gòu)(主要面向經(jīng)梯隊(duì)二選拔的、參與大一第二學(xué)期集訓(xùn)的學(xué)生);梯隊(duì)四:算法初級(jí)(主要面向經(jīng)梯隊(duì)三選拔的、參與大一暑期集訓(xùn)的隊(duì)員);梯隊(duì)五:算法中級(jí)(主要面向經(jīng)梯隊(duì)四選拔的、參與大二第一學(xué)期集訓(xùn)的主力隊(duì)員);梯隊(duì)六:算法高級(jí)(主要面向經(jīng)梯隊(duì)五選拔的、參與大二寒假及以后集訓(xùn)的主力隊(duì)員)。最后,還成立了“智能數(shù)據(jù)工程與分析學(xué)實(shí)驗(yàn)室”和“運(yùn)維技術(shù)中心”兩個(gè)實(shí)驗(yàn)室,對(duì)退役后有志于學(xué)術(shù)研究與技術(shù)訓(xùn)練的學(xué)生開(kāi)放,跟著指導(dǎo)老師做研究或者項(xiàng)目開(kāi)發(fā)。
程序設(shè)計(jì)能力培養(yǎng)體系建設(shè)的重要支撐平臺(tái)是我們?cè)O(shè)計(jì)的程序在線測(cè)評(píng)系統(tǒng)(http://acm.sdut.edu.cn/onlinejudge2/),其支撐了課程體系建設(shè)的實(shí)踐教學(xué)改革和實(shí)施,支撐了大學(xué)生程序設(shè)計(jì)競(jìng)賽的訓(xùn)練和組織。該系統(tǒng)自2009年上線以來(lái),不斷對(duì)系統(tǒng)進(jìn)行維護(hù)與升級(jí),不斷地補(bǔ)充練習(xí)題目。目前該系統(tǒng)包含適合各個(gè)水平學(xué)生的不同難度的4 000多道在線編程測(cè)試題目,題目包含程序設(shè)計(jì)基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)與算法、編譯原理和離散數(shù)學(xué)等課程的編程練習(xí)題,也包括部分各類大學(xué)生程序設(shè)計(jì)競(jìng)賽的真題,在練習(xí)和作業(yè)時(shí)為各個(gè)層次的學(xué)生提供了選擇的余地。目前該系統(tǒng)已經(jīng)成為目前省內(nèi)高校中注冊(cè)用戶最多、題目數(shù)量最大的程序在線測(cè)評(píng)系統(tǒng),截止2019年5月13日該系統(tǒng)累計(jì)提交量已達(dá)6 013 649 次。通過(guò)該在線測(cè)評(píng)系統(tǒng),學(xué)生可以在有網(wǎng)絡(luò)的地方登陸平臺(tái)練習(xí)并在線測(cè)評(píng)所提交代碼是否正確。作為一種創(chuàng)新的實(shí)踐教學(xué)平臺(tái),允許學(xué)生根據(jù)自身水平和興趣,選擇適合的編程訓(xùn)練方式、數(shù)量和難度,提高實(shí)踐教學(xué)的學(xué)習(xí)效率,極大地激發(fā)了學(xué)生的編程興趣,激勵(lì)了學(xué)生的個(gè)性化自主實(shí)踐訓(xùn)練;同時(shí)教師可以查看學(xué)生提交的代碼,有效地監(jiān)督學(xué)生并及時(shí)發(fā)現(xiàn)學(xué)生編程中的問(wèn)題并予以指導(dǎo),使課程的實(shí)踐效果得到了明顯的加強(qiáng)和提高。
2006年到2019年5月9日,本專業(yè)學(xué)生參與各類大學(xué)生程序設(shè)計(jì)競(jìng)賽獲銅獎(jiǎng)(三等獎(jiǎng))以上情況統(tǒng)計(jì)見(jiàn)表2。
表2 山東理工大學(xué)計(jì)算機(jī)類專業(yè)學(xué)生參與各類大學(xué)生程序設(shè)計(jì)競(jìng)賽獲獎(jiǎng)情況統(tǒng)計(jì)表
截止2019年5月13日,山東理工大學(xué)計(jì)算機(jī)類專業(yè)學(xué)生在各類大學(xué)生程序設(shè)計(jì)競(jìng)賽中獲得國(guó)家級(jí)銅獎(jiǎng)以上獎(jiǎng)勵(lì)76項(xiàng),其中2016年11月舉行的第41屆ACM/ICPC國(guó)家大學(xué)生程序設(shè)計(jì)競(jìng)賽亞洲區(qū)域賽(青島)以學(xué)校排名11位的成績(jī)獲得金獎(jiǎng);此外,還在山東省大學(xué)生程序設(shè)計(jì)競(jìng)賽中獲得三等獎(jiǎng)以上獎(jiǎng)勵(lì)50項(xiàng)。值得注意的是在能夠反映各個(gè)高校計(jì)算機(jī)專業(yè)教學(xué)水平的中國(guó)大學(xué)生計(jì)算機(jī)競(jìng)賽團(tuán)體程序設(shè)計(jì)天梯賽中,我校在2016年、2017年和2019年分別以全國(guó)第六名、全國(guó)第七名(珠峰爭(zhēng)鼎組)和全國(guó)第七名(珠峰爭(zhēng)鼎組)的成績(jī)獲得高校一等獎(jiǎng),在2018年獲全國(guó)(珠峰爭(zhēng)鼎組)第14名,高校三等獎(jiǎng)。2016年7月和2019年5月,我校受邀在中國(guó)大學(xué)生程序設(shè)計(jì)競(jìng)賽研討會(huì)上做了“競(jìng)教相長(zhǎng)”的經(jīng)驗(yàn)交流報(bào)告。
山東理工大學(xué)從2006年開(kāi)始首次參加ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽,獲得優(yōu)勝獎(jiǎng),2007和2008年未參加比賽,直到2011年才獲得區(qū)域賽的首個(gè)銅獎(jiǎng),2014年獲得首個(gè)銀獎(jiǎng),2016年獲得首個(gè)金獎(jiǎng)。對(duì)于2015年才開(kāi)始的中國(guó)大學(xué)生程序設(shè)計(jì)競(jìng)賽,獲獎(jiǎng)數(shù)量和質(zhì)量也在逐漸提高。從上述獲獎(jiǎng)數(shù)量和質(zhì)量的統(tǒng)計(jì)中可以發(fā)現(xiàn),從2014年課程綜合改革并構(gòu)建了較為完善的程序設(shè)計(jì)能力培養(yǎng)體系以后,學(xué)生的程序設(shè)計(jì)能力有了顯著提高。
程序設(shè)計(jì)能力培養(yǎng)課程體系建設(shè)與改革從2014年秋季程序設(shè)計(jì)基礎(chǔ) (C語(yǔ)言)課程開(kāi)始,到目前為止歷經(jīng)4年,從開(kāi)始的計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)學(xué)生逐漸擴(kuò)展到軟件工程和通信工程專業(yè)的學(xué)生。以程序設(shè)計(jì)基礎(chǔ)綜合課程改革的方式和經(jīng)驗(yàn)為借鑒,進(jìn)而將計(jì)算機(jī)科學(xué)與技術(shù)和軟件工程專業(yè)的課程改革逐漸擴(kuò)展到數(shù)據(jù)結(jié)構(gòu)與算法、離散數(shù)學(xué)和編譯原理等課程,并且在逐漸地納入面向?qū)ο蟪绦蛟O(shè)計(jì)、操作系統(tǒng)等課程形成更為完善的課題體系結(jié)構(gòu),保證計(jì)算機(jī)類專業(yè)學(xué)生從大一到大三有不間斷的上機(jī)實(shí)踐機(jī)會(huì)。此外,通過(guò)完善大學(xué)生程序設(shè)計(jì)競(jìng)賽訓(xùn)練和管理機(jī)制,進(jìn)一步提高優(yōu)秀學(xué)生的創(chuàng)新能力。
綜上所述,山東理工大學(xué)計(jì)算機(jī)程序設(shè)計(jì)能力培養(yǎng)體系的建設(shè)與實(shí)踐對(duì)提高學(xué)生的實(shí)踐能力和創(chuàng)新能力具有良好的促進(jìn)作用,相關(guān)的做法和經(jīng)驗(yàn)可以為面向應(yīng)用型人才培養(yǎng)的地方高校計(jì)算機(jī)類專業(yè)的人才培養(yǎng)提供些許可借鑒的方法和經(jīng)驗(yàn)。鑒于篇幅限制,對(duì)各門課程綜合改革的方法和經(jīng)驗(yàn)以及競(jìng)教相長(zhǎng)的創(chuàng)新能力培養(yǎng)模式并未展開(kāi)論述,下一步我們將繼續(xù)總結(jié)經(jīng)驗(yàn),提出更具體的程序設(shè)計(jì)能力培養(yǎng)方法。