梁興柱 周華平 林玉娥
摘要:該文研究了當(dāng)前高校中數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)現(xiàn)狀,分析了存在的問(wèn)題,對(duì)理論和實(shí)踐教學(xué)中存在的問(wèn)題進(jìn)行了探討,針對(duì)這些問(wèn)題提出了結(jié)合ACM-ICPC競(jìng)賽模式,對(duì)數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)教學(xué)進(jìn)行改革,提升了數(shù)據(jù)結(jié)構(gòu)課程的教學(xué)效果。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);教學(xué)改革;競(jìng)賽模式
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)23-0154-02
數(shù)據(jù)結(jié)構(gòu)是一門研究非數(shù)值計(jì)算的程序設(shè)計(jì)問(wèn)題中計(jì)算機(jī)的操作對(duì)象以及它們之間的關(guān)系和運(yùn)算等的學(xué)科,它是計(jì)算機(jī)專業(yè)的基礎(chǔ)課,同時(shí),其他專業(yè)也經(jīng)常選修此課程。數(shù)據(jù)結(jié)構(gòu)相關(guān)知識(shí)具有較強(qiáng)理論性,它涉及的領(lǐng)域很廣,要很好的掌握其理論,靈活運(yùn)用,則要求學(xué)生有很一定的程序設(shè)計(jì)能力,對(duì)實(shí)踐教學(xué)要求較高。
ACM-ICPC(ACM International Collegiate Programming Contest,ACM-ICPC)是由國(guó)際計(jì)算機(jī)協(xié)會(huì)(ACM)主辦的國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽。要求一組學(xué)生通過(guò)在線提交,在五個(gè)小時(shí)內(nèi)完成指定的題目,通過(guò)競(jìng)賽展示大學(xué)生創(chuàng)新能力和團(tuán)隊(duì)協(xié)作精神,壓力編程和分析解決問(wèn)題的能力[1]。涉及的知識(shí)范圍很廣,包括動(dòng)態(tài)規(guī)劃DP、組合數(shù)學(xué)、圖論、數(shù)論和搜索算法等[2]。結(jié)合ACM-ICPC的特點(diǎn),將其引入數(shù)據(jù)結(jié)構(gòu)實(shí)踐課的課程改革,以競(jìng)促學(xué)的培養(yǎng)模式是符合教育部關(guān)于大大加強(qiáng)實(shí)踐教學(xué)改革思路的[3]。
1 數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)現(xiàn)存的問(wèn)題
1.1 適合教材匱乏
高校中數(shù)據(jù)結(jié)構(gòu)的教材大多使用清華大學(xué)嚴(yán)蔚敏編著的《數(shù)據(jù)結(jié)構(gòu)》,本書中的代碼是C語(yǔ)言或類C語(yǔ)言的偽代碼,代碼難度較高,編程基礎(chǔ)能力差的學(xué)生很難實(shí)現(xiàn),影響了學(xué)生的積極性。另一方面,很多高校開(kāi)設(shè)相應(yīng)的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)等實(shí)訓(xùn)課程,但是教材水平參差不齊,內(nèi)容枯燥,沒(méi)有趣味性和針對(duì)性,很難滿足實(shí)際教學(xué)要求。實(shí)際教學(xué)過(guò)程中,教材中的例子偏向理論,趣味性和實(shí)際應(yīng)用不足,帶來(lái)學(xué)生的學(xué)習(xí)興趣不高。
1.2 重理論,輕實(shí)踐
實(shí)踐教學(xué)環(huán)節(jié)是鞏固理論知識(shí)和加深對(duì)理論理解的有效方法,課程的實(shí)踐教學(xué)是通過(guò)編寫程序加深學(xué)生對(duì)數(shù)據(jù)結(jié)構(gòu)及相關(guān)算法的理解,是培養(yǎng)程序設(shè)計(jì)能力和解決問(wèn)題能力的重要環(huán)節(jié),在數(shù)據(jù)結(jié)構(gòu)的實(shí)際教學(xué)中,受到傳統(tǒng)教學(xué)理念的影響,教師在教學(xué)過(guò)程中更加重視基本理論和原理的講授。在教學(xué)中,教師一般只注重驗(yàn)證性實(shí)驗(yàn),設(shè)計(jì)性和綜合性實(shí)驗(yàn)少,缺乏對(duì)學(xué)生綜合運(yùn)用能力和實(shí)際解決問(wèn)題能力的培養(yǎng)。教師實(shí)踐教學(xué)能力不足,也沒(méi)有重視實(shí)踐教學(xué)環(huán)節(jié),學(xué)生實(shí)踐課時(shí)不足,忽略了對(duì)學(xué)生分析問(wèn)題和解決問(wèn)題能力的培養(yǎng),實(shí)踐教學(xué)滯后于理論教學(xué)。
1.3 實(shí)踐教學(xué)授課和考核方式落后
當(dāng)前數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)方式主要是以教師給出題目和參考代碼,學(xué)生錄入代碼,然后運(yùn)行程序,結(jié)果出來(lái)即可。實(shí)際教學(xué)中,學(xué)生的編程能力水平參差不齊,編程能力強(qiáng)的學(xué)生通過(guò)提前預(yù)習(xí),實(shí)驗(yàn)時(shí)很快就完成了驗(yàn)證輸出,上機(jī)編程變成了簡(jiǎn)單的打字,實(shí)踐課程對(duì)學(xué)生的編程能力提升有限。對(duì)于復(fù)雜的設(shè)計(jì)型題目,學(xué)生又不知如何下手。網(wǎng)絡(luò)和移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,部分題目可以從網(wǎng)絡(luò)上尋找答案,甚至可以下載源碼參考,能力差的學(xué)生下載代碼提交程序,失去實(shí)驗(yàn)?zāi)康?,教學(xué)效果不好。
數(shù)據(jù)結(jié)構(gòu)考核很多高校采用期末筆試為主,實(shí)驗(yàn)實(shí)訓(xùn)作為參考的方式,課程評(píng)定由期末考試和平時(shí)成績(jī)決定,平時(shí)成績(jī)由出勤、作業(yè)、課堂表現(xiàn)和實(shí)驗(yàn)成績(jī)構(gòu)成,實(shí)驗(yàn)成績(jī)?cè)诳偝煽?jī)中所占比例較少,學(xué)生積極性不足??荚嚨膬?nèi)容局限于教材中的基本理論和基礎(chǔ)知識(shí),反應(yīng)多個(gè)知識(shí)點(diǎn)的綜合題較少,分析問(wèn)題和解決問(wèn)題能力考核不夠。
2 數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)改革
2.1 改革實(shí)驗(yàn)內(nèi)容
ACM-ICPC的題目有其規(guī)范化的要求,命題有格式化的規(guī)范,主要包括題目描述、輸入輸出要求及格式化。如果把數(shù)據(jù)結(jié)構(gòu)相關(guān)理論知識(shí)描述成競(jìng)賽題的形式,有助于提升興趣,培養(yǎng)學(xué)生的競(jìng)爭(zhēng)意識(shí)。在設(shè)計(jì)題目時(shí),引入?yún)⑴c式教學(xué),鼓勵(lì)優(yōu)秀學(xué)生參與題目設(shè)計(jì),提升學(xué)生的參與度和成就感。按照數(shù)據(jù)結(jié)構(gòu)中的線性結(jié)構(gòu)、樹(shù)和圖的知識(shí)點(diǎn),以解決問(wèn)題為導(dǎo)向、以提升編程水平和培養(yǎng)解決問(wèn)題能力為出發(fā)點(diǎn),按照知識(shí)點(diǎn)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)訓(xùn)練習(xí)題集,每道題目提供基本的標(biāo)準(zhǔn)測(cè)試數(shù)據(jù)集、極值測(cè)試數(shù)據(jù)集和相關(guān)答案數(shù)據(jù)集合,上傳到高校內(nèi)網(wǎng)的在線評(píng)測(cè)平臺(tái),作為平時(shí)練習(xí)和期末考核的基礎(chǔ)。
設(shè)計(jì)的題型分為簡(jiǎn)單型和應(yīng)用型,簡(jiǎn)單型題目側(cè)重于基本編程能力、掌握知識(shí)點(diǎn)為目的,基本型題目主要覆蓋線性結(jié)構(gòu)、圖、樹(shù)、排序和查找等知識(shí)點(diǎn)。應(yīng)用型題目側(cè)重各類數(shù)據(jù)結(jié)構(gòu)和復(fù)雜數(shù)據(jù)結(jié)構(gòu)的相關(guān)算法設(shè)計(jì)、思維能力培養(yǎng),著重培養(yǎng)學(xué)生的創(chuàng)新能力。將數(shù)據(jù)結(jié)構(gòu)以數(shù)據(jù)結(jié)構(gòu)和算法為主導(dǎo)的學(xué)習(xí)方式,改為以解決問(wèn)題能力培養(yǎng)為導(dǎo)向的訓(xùn)練模式,鍛煉和培養(yǎng)了學(xué)生選擇數(shù)據(jù)結(jié)構(gòu)和相關(guān)算法的應(yīng)用能力。
在做好自己原創(chuàng)訓(xùn)練題目的同時(shí),可以依托已有的ACM-ICPC在線測(cè)評(píng)平臺(tái),例如杭電ACM(acm.hdu.edu.cn)支持教師自定義競(jìng)賽,可以自主設(shè)計(jì)題目和測(cè)試數(shù)據(jù),也可以使用杭電已有的題目和測(cè)試數(shù)據(jù),避免一些重復(fù)性工作,大大降低了教師的工作量。
2.2 改革傳統(tǒng)作業(yè)提交方式
ACM-ICPC的在線評(píng)測(cè)系統(tǒng)是一個(gè)練習(xí)和編程平臺(tái),為學(xué)生提供一個(gè)開(kāi)放的、自主學(xué)習(xí)的實(shí)驗(yàn)環(huán)境。在平時(shí)提供大量的數(shù)據(jù)結(jié)構(gòu)和算法題目的同時(shí),還可以用于輔助作為課程的作業(yè)提交系統(tǒng),學(xué)生只要在其上注冊(cè),即可完成答題。教師每次課可以制定題目作為本次課的課下作業(yè),課下學(xué)生通過(guò)網(wǎng)絡(luò)提交作業(yè)代碼,教師可以查看學(xué)生的做題狀態(tài),包括提交時(shí)間、提交次數(shù)和使用語(yǔ)言等信息,及時(shí)掌握學(xué)生的學(xué)習(xí)狀態(tài)。
學(xué)生通過(guò)在線評(píng)測(cè)系統(tǒng)提交作業(yè),可以對(duì)提交信息進(jìn)行統(tǒng)計(jì)分析。例如,每題的提交次數(shù)和正確率等數(shù)據(jù),通過(guò)統(tǒng)計(jì)分析學(xué)生的作業(yè)完成情況,及時(shí)掌握學(xué)生對(duì)題目及知識(shí)點(diǎn)的理解,進(jìn)行適度的教學(xué)調(diào)整,為下次授課做好準(zhǔn)備。
學(xué)生也可以查看到相關(guān)的信息,增加自己的成就感和壓迫感。另外,在線評(píng)測(cè)系統(tǒng)還具備自動(dòng)對(duì)提交的代碼進(jìn)行查重功能,一定程度上避免了作業(yè)抄襲的現(xiàn)象。
2.3 改革考核方法
考核作為教學(xué)效果的一個(gè)檢驗(yàn)環(huán)節(jié),對(duì)學(xué)習(xí)具有重要的導(dǎo)向作用[4]。以安徽理工大學(xué)數(shù)據(jù)結(jié)構(gòu)課程的考核方式為例,課程由課堂理論教學(xué)、實(shí)驗(yàn)教學(xué)和課程設(shè)計(jì)三部分組成。學(xué)生最終成績(jī)由分為平時(shí)成績(jī)(20%)和期末閉卷考試(80%)組成,平時(shí)成績(jī)由平時(shí)出勤(30%)、作業(yè)(10%)、課堂表現(xiàn)(10%)和實(shí)驗(yàn)成績(jī)(50%)組成。這樣的考核方式并沒(méi)有反映出學(xué)生的實(shí)踐能力。數(shù)據(jù)結(jié)構(gòu)的考核應(yīng)注重線性表、樹(shù)和圖,以及相關(guān)算法靈活應(yīng)用及效率分析,而不是簡(jiǎn)答死記硬背。
課程的考核方法改革如下:考核分為理論考試和實(shí)踐考核,理論考核由平時(shí)出勤、課堂表現(xiàn)和期末考試決定。課堂表現(xiàn)考核學(xué)生的課堂學(xué)習(xí)狀態(tài),包括對(duì)回答問(wèn)題和團(tuán)隊(duì)討論。期末考試主要考核學(xué)生對(duì)理論知識(shí)的理解和綜合應(yīng)用,側(cè)重學(xué)生的分析問(wèn)題能力。實(shí)驗(yàn)實(shí)訓(xùn)考核由上機(jī)實(shí)驗(yàn)(20%)、ACM-ICPC競(jìng)賽模式考核(40%)和課設(shè)實(shí)訓(xùn)驗(yàn)收考核(30%)組成,側(cè)重學(xué)生應(yīng)用知識(shí)解決問(wèn)題能力的培養(yǎng)。這種實(shí)驗(yàn)實(shí)訓(xùn)考核方式綜合反映學(xué)生平時(shí)實(shí)驗(yàn)狀態(tài),課下做題狀態(tài)和課設(shè)實(shí)訓(xùn)綜合狀態(tài),能比較全面反映出學(xué)生的實(shí)踐能力水平。
3 結(jié)束語(yǔ)
基于ACM-ICPC競(jìng)賽模式的數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)改革,在傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)上,對(duì)課程實(shí)踐教學(xué)環(huán)節(jié)進(jìn)行了改革,將理論和實(shí)踐結(jié)合更加緊密,實(shí)踐教學(xué)的趣味性和綜合性。通過(guò)改革,側(cè)重培養(yǎng)學(xué)生的分析和解決問(wèn)題能力,鍛煉編程能力,引入排名機(jī)制,激發(fā)學(xué)生競(jìng)爭(zhēng)意識(shí)和自主學(xué)習(xí)的意識(shí)。通過(guò)課程改革,改善了教學(xué)效果,提高了實(shí)踐教學(xué)水平。
參考文獻(xiàn):
[1] What is ACM ICPC. http://acm.hit.edu.cn/about-acm-icpc/what-is-acm-icpc.
[2] 徐本柱,王浩,胡學(xué)鋼. ACM/ICPC的教學(xué)與實(shí)踐[J].合肥工業(yè)大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2008(6):133-137.
[3] 陳湘驥,劉才興,徐東風(fēng). ACM/ICPC與可持續(xù)發(fā)展的IT人才培養(yǎng)與方式實(shí)踐[J]. 計(jì)算機(jī)教育,2009(10):6-9.
[4] 嚴(yán)權(quán)峰. 依托程序設(shè)計(jì)競(jìng)賽. 提升學(xué)生綜合素質(zhì)[J]. 電子技術(shù), 2014(2):51-53.
【通聯(lián)編輯:王力】