袁輝勇 戴經(jīng)國(guó) 劉霖 彭劍
摘要:數(shù)據(jù)結(jié)構(gòu)課程在計(jì)算機(jī)學(xué)科中有著非常重要的地位。重新確定數(shù)據(jù)結(jié)構(gòu)課程定位與培養(yǎng)目標(biāo),自編輔導(dǎo)教材與實(shí)驗(yàn)指導(dǎo)書,開發(fā)程序設(shè)計(jì)在線訓(xùn)練平臺(tái),建設(shè)在線開放課程,將ACM競(jìng)賽模式引入到實(shí)踐教學(xué),突出理論與實(shí)踐應(yīng)用相結(jié)合,有效調(diào)動(dòng)了學(xué)生自主學(xué)習(xí)的積極性,提高了學(xué)生的創(chuàng)新能力。
關(guān)鍵詞:在線開放課程;創(chuàng)新能力培養(yǎng);多層次實(shí)踐教學(xué)
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)15-0190-02
1引言
數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)學(xué)科的專業(yè)基礎(chǔ)核心課程,對(duì)應(yīng)于學(xué)科中問(wèn)題求解的理論、抽象和設(shè)計(jì)的方法論,在學(xué)科知識(shí)體系中具有核心的重要位置。它承上啟下,貫通始終,對(duì)于培養(yǎng)學(xué)生的計(jì)算思維、系統(tǒng)分析與設(shè)計(jì)、算法設(shè)計(jì)與分析、程序設(shè)計(jì)與實(shí)現(xiàn)等基本能力至關(guān)重要。大量的實(shí)踐表明,數(shù)據(jù)結(jié)構(gòu)課程在計(jì)算機(jī)本科課程中有著相當(dāng)重要的作用,同時(shí)也對(duì)畢業(yè)生后續(xù)的工作和研究有著深遠(yuǎn)的影響嘲。它所討論的知識(shí)內(nèi)容和提倡的技術(shù)方法,無(wú)論對(duì)進(jìn)一步學(xué)習(xí)計(jì)算機(jī)領(lǐng)域的其他課程,還是對(duì)從事大型信息項(xiàng)目的開發(fā),都是重要而必備的基礎(chǔ)。
程序的時(shí)間和空間效率,不僅跟數(shù)據(jù)的組織方式有關(guān),也跟處理流程的巧妙程度有關(guān)。數(shù)據(jù)結(jié)構(gòu)講授、探討有關(guān)數(shù)據(jù)組織、算法設(shè)計(jì)、時(shí)間和空間效率的概念和通用分析方法,幫助學(xué)生學(xué)會(huì)數(shù)據(jù)的組織方法和一些典型算法的實(shí)現(xiàn),能夠針對(duì)問(wèn)題的應(yīng)用背景分析,選擇合適的數(shù)據(jù)結(jié)構(gòu),從而培養(yǎng)高級(jí)程序設(shè)計(jì)技能。地方高校結(jié)合自身特點(diǎn),創(chuàng)新教育教學(xué)理念,改革傳統(tǒng)教學(xué)方法與教學(xué)手段,推進(jìn)教學(xué)改革與創(chuàng)新,構(gòu)建以創(chuàng)新能力培養(yǎng)為目標(biāo)的教學(xué)體系,提升課程教學(xué)水平,對(duì)創(chuàng)新人才培養(yǎng)有非常重要的作用。
2課程教學(xué)中存在的問(wèn)題
先導(dǎo)課程不扎實(shí)。數(shù)據(jù)結(jié)構(gòu)課程的先導(dǎo)課程有c或c++程序設(shè)計(jì),學(xué)生在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)應(yīng)較好地掌握程序設(shè)計(jì)語(yǔ)言,數(shù)據(jù)結(jié)構(gòu)中的算法基本上是采用C或c++語(yǔ)言描述,但由于大一學(xué)生開始學(xué)習(xí)c或C++程序設(shè)計(jì),要達(dá)到熟練使用還有一定難度,尤其是在使用指針時(shí)還比較困難。
教學(xué)內(nèi)容與課程體系零散。數(shù)據(jù)結(jié)構(gòu)課程內(nèi)容相對(duì)抽象零散,涉及較多的基本概念、基本結(jié)構(gòu)、算法和基本技術(shù)。由于課程的核心內(nèi)容主要集中于對(duì)各種數(shù)據(jù)結(jié)構(gòu)的應(yīng)用上,雖然各種數(shù)據(jù)結(jié)構(gòu)之間存在許多內(nèi)在的聯(lián)系,但這些內(nèi)容還是獨(dú)立、自成體系,各種結(jié)構(gòu)上的算法涉及的知識(shí)較多,而且基于模型及其操作,不易理解。
教學(xué)目的與教學(xué)要求不明確。數(shù)據(jù)結(jié)構(gòu)是一門實(shí)踐性較強(qiáng)的課程,要注重培養(yǎng)學(xué)生利用理論知識(shí)解決具體問(wèn)題的能力,但傳統(tǒng)的教學(xué)僅僅滿足于將理論知識(shí)講解清楚,并不注重將理論知識(shí)應(yīng)用于解決具體問(wèn)題,學(xué)生為了考試死記硬背理論知識(shí),把一門實(shí)踐性較強(qiáng)的課程變成了一門與實(shí)踐脫鉤、內(nèi)容枯燥、乏味的理論課。
教學(xué)資源缺乏、教學(xué)手段落后。在課程教學(xué)中,長(zhǎng)期實(shí)施以教師為主體、按照教學(xué)大綱教學(xué)進(jìn)度來(lái)組織、學(xué)生被動(dòng)學(xué)習(xí)的教學(xué)方法。大多利用“粉筆+黑板+PPT”的算法演示方式,缺乏有效的教學(xué)資源,缺乏動(dòng)畫和反復(fù)演示的效果,難以充分展示算法的執(zhí)行過(guò)程,學(xué)生難以掌握復(fù)雜數(shù)據(jù)之間的變化關(guān)系。
3基于創(chuàng)新能力培養(yǎng)的課程教學(xué)改革
(1)打牢前導(dǎo)課程基礎(chǔ),強(qiáng)調(diào)程序設(shè)計(jì)語(yǔ)言的應(yīng)用
C語(yǔ)言的結(jié)構(gòu)體和指針是描述存儲(chǔ)結(jié)構(gòu)的基礎(chǔ),靈活地運(yùn)用指針可以處理各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。在組織教學(xué)內(nèi)容時(shí),預(yù)留時(shí)間重點(diǎn)復(fù)習(xí)和訓(xùn)練C語(yǔ)言程序設(shè)計(jì)中的結(jié)構(gòu)體和指針,在復(fù)習(xí)和訓(xùn)練中,從注重C語(yǔ)言的語(yǔ)法知識(shí)轉(zhuǎn)變?yōu)樽⒅爻绦蛟O(shè)計(jì)能力的培養(yǎng),對(duì)學(xué)生學(xué)好數(shù)據(jù)結(jié)構(gòu)起到積極的作用。在數(shù)據(jù)結(jié)構(gòu)各章節(jié)的教學(xué)過(guò)程中,則結(jié)合學(xué)生的學(xué)習(xí)狀況和相應(yīng)算法,再適當(dāng)復(fù)習(xí)必要的C語(yǔ)言程序設(shè)計(jì)知識(shí),抓住這兩門課程的銜接點(diǎn)實(shí)施教學(xué)。
(2)重組課程知識(shí)體系,突出三種結(jié)構(gòu)和兩種技術(shù)
數(shù)據(jù)結(jié)構(gòu)的知識(shí)點(diǎn)比較多,看起來(lái)零散,但知識(shí)體系很清晰。要把握好數(shù)據(jù)結(jié)構(gòu)中的線性、樹、圖三種基本結(jié)構(gòu)和排序、查找兩種基本技術(shù)。突出數(shù)據(jù)組織方法與實(shí)現(xiàn)技術(shù)構(gòu)成,重構(gòu)由基本概念、基本結(jié)構(gòu)(線性、樹、圖)和基本技術(shù)(查找和排序)三大部分組成的課程體系?;靖拍畈糠种攸c(diǎn)講述數(shù)據(jù)結(jié)構(gòu)定義、內(nèi)容、方法、評(píng)價(jià)以及前續(xù)基礎(chǔ)與課程要求,明確數(shù)據(jù)結(jié)構(gòu)是什么、學(xué)什么、怎么學(xué)數(shù)據(jù)結(jié)構(gòu)。基本結(jié)構(gòu)部分重點(diǎn)講述線性結(jié)構(gòu)、樹、圖的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)及其加工處理基本算法?;炯夹g(shù)部分包括查找和排序兩類經(jīng)典技術(shù),貫穿了參數(shù)傳遞、指針處理技術(shù)、數(shù)組應(yīng)用、遞歸與隊(duì)列等重要的程序設(shè)計(jì)技術(shù);力求表現(xiàn)經(jīng)典算法思路,培養(yǎng)學(xué)生的創(chuàng)新能力,為學(xué)生繼續(xù)拓展提供線索。
教學(xué)中以數(shù)據(jù)的邏輯結(jié)構(gòu)為主線,順序介紹線性結(jié)構(gòu)、樹形結(jié)構(gòu)、圖形結(jié)構(gòu)和文件結(jié)構(gòu),針對(duì)每種數(shù)據(jù)結(jié)構(gòu)時(shí),針對(duì)其存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)相關(guān)算法。例如,針對(duì)線性表,按存儲(chǔ)結(jié)構(gòu)分為順序存儲(chǔ)和鏈?zhǔn)酱鎯?chǔ)兩種方式,針對(duì)不同的存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)算法;考慮到線性結(jié)構(gòu)在運(yùn)算時(shí)的特殊性,進(jìn)一步介紹棧、隊(duì)列、串、數(shù)組和廣義表,最后重點(diǎn)講解排序和查找兩種基本算法。在把握好課程的知識(shí)體系后,從簡(jiǎn)單到復(fù)雜、循序漸進(jìn)、逐步深入地實(shí)施教學(xué)。例如在線性表中學(xué)習(xí)的鏈表,在樹的鏈?zhǔn)酱鎯?chǔ)、圖的鄰接表、鏈地址法解決哈希表沖突時(shí)都是其具體應(yīng)用。在教學(xué)中應(yīng)注意引導(dǎo)學(xué)生復(fù)習(xí)前面的內(nèi)容,把相關(guān)教學(xué)內(nèi)容串聯(lián),形成一個(gè)完整的知識(shí)體系。
(3)明確課程目標(biāo),優(yōu)化教學(xué)內(nèi)容
應(yīng)用型本科的特點(diǎn),使其數(shù)據(jù)結(jié)構(gòu)課程的課程目標(biāo)和要求與一流本科有著不同的側(cè)重點(diǎn)。應(yīng)用型本科數(shù)據(jù)結(jié)構(gòu)課程重點(diǎn)講授數(shù)據(jù)的三種基本結(jié)構(gòu)、兩種技術(shù)及算法設(shè)計(jì)與分析,為操作系統(tǒng)、編譯原理、計(jì)算機(jī)網(wǎng)絡(luò)、軟件工程等后續(xù)課程提供必要的知識(shí)基礎(chǔ)。應(yīng)該優(yōu)化教學(xué)內(nèi)容,教學(xué)中側(cè)重?cái)?shù)據(jù)的存儲(chǔ)結(jié)構(gòu)及其算法實(shí)現(xiàn),注重算法的效率性,鍛煉學(xué)生在實(shí)際問(wèn)題求解中選擇數(shù)據(jù)結(jié)構(gòu)、設(shè)計(jì)算法的能力。
(4)建設(shè)立體化教學(xué)資源,有效輔助學(xué)生自主學(xué)習(xí)
建設(shè)支撐教學(xué)過(guò)程與自主學(xué)習(xí)兩個(gè)面向的立體化數(shù)據(jù)結(jié)構(gòu)課程教學(xué)資源。根據(jù)國(guó)家規(guī)劃教材(《數(shù)據(jù)結(jié)構(gòu)》,嚴(yán)蔚敏,清華大學(xué)出版社)的教學(xué)內(nèi)容,精選習(xí)題,重新編寫實(shí)驗(yàn)教學(xué)大綱,更新實(shí)踐教學(xué)內(nèi)容,精心設(shè)計(jì)了12個(gè)課程實(shí)驗(yàn),編寫了配套輔導(dǎo)教材《數(shù)據(jù)結(jié)構(gòu)習(xí)題與實(shí)驗(yàn)指導(dǎo)》,設(shè)計(jì)了與課程內(nèi)容相適應(yīng)的多媒體課件,提供選件控制方式,便于教學(xué)內(nèi)容重組。面向自主學(xué)習(xí)擴(kuò)展的教學(xué)資源包括“數(shù)據(jù)結(jié)構(gòu)”在線開放課程和程序設(shè)計(jì)在線訓(xùn)練平臺(tái)。
在線開放課程涵蓋教學(xué)視頻、練習(xí)測(cè)試、同步訓(xùn)練、教學(xué)大綱、參考文獻(xiàn)、相關(guān)題庫(kù)等教學(xué)資源,以豐富的教學(xué)資源促進(jìn)學(xué)生線上線下主動(dòng)學(xué)習(xí)。精心錄制了教學(xué)視頻,便于學(xué)生有針對(duì)性的自主學(xué)習(xí);設(shè)計(jì)了分層次的課后作業(yè),并同步提供給學(xué)生,便于學(xué)生鞏固課堂教學(xué)效果;每講均附有小結(jié),每章均有典型題例,便于總結(jié)提高。程序設(shè)計(jì)在線訓(xùn)練平臺(tái)中,針對(duì)知識(shí)點(diǎn)建設(shè)了數(shù)據(jù)結(jié)構(gòu)專項(xiàng)訓(xùn)練題100余道,收集了各級(jí)各類ACM競(jìng)賽中與數(shù)據(jù)結(jié)構(gòu)有關(guān)的競(jìng)賽題150余道。建設(shè)了一個(gè)包含20多個(gè)題目的數(shù)據(jù)結(jié)構(gòu)應(yīng)用案例庫(kù),案例更接近實(shí)際應(yīng)用系統(tǒng),可以有效提高學(xué)生創(chuàng)新動(dòng)力。
(5)改革教學(xué)方法與手段,實(shí)施多層次實(shí)踐教學(xué)
實(shí)踐教學(xué)包括驗(yàn)證性實(shí)驗(yàn)、綜合性實(shí)驗(yàn)和課程設(shè)計(jì)三個(gè)層次。驗(yàn)證性實(shí)驗(yàn)與課堂教學(xué)同步,學(xué)生在實(shí)驗(yàn)課中完成實(shí)驗(yàn),綜合性實(shí)驗(yàn)與每章的教學(xué)總結(jié)同步,要求學(xué)生完成線性表、棧與隊(duì)列、樹、圖的應(yīng)用以及排序、檢索6個(gè)綜合性實(shí)驗(yàn),課程設(shè)計(jì)涉及線性表、棧與隊(duì)列、樹、圖、排序、檢索等6章,在每章結(jié)束時(shí)布置設(shè)計(jì)題目,由于課程設(shè)計(jì)涉及基于軟件工程的程序開發(fā)方法,故安排在課程結(jié)束時(shí)實(shí)施。
針對(duì)知識(shí)點(diǎn)按難易程度設(shè)計(jì)驗(yàn)證性實(shí)驗(yàn)、綜合性實(shí)驗(yàn)。實(shí)驗(yàn)既要有較簡(jiǎn)單的基本題目,又要有一些更接近應(yīng)用、具有挑戰(zhàn)性的題目,可以滿足不同層次學(xué)生的需求,充分調(diào)動(dòng)學(xué)生學(xué)習(xí)的主動(dòng)性。為了提高學(xué)生的積極性,采取ACM競(jìng)賽的方式實(shí)時(shí)判斷程序代碼,設(shè)計(jì)了線性表、樹、圖、查找、排序5次專項(xiàng)比賽,每次比賽包含5個(gè)題目,組織學(xué)生在規(guī)定時(shí)間內(nèi)進(jìn)行比賽,使用程序設(shè)計(jì)在線訓(xùn)練平臺(tái)實(shí)時(shí)評(píng)判學(xué)生提交的代碼,并且按照完成題目的數(shù)量和用時(shí)進(jìn)行排名,有效地調(diào)動(dòng)學(xué)生的積極性。
針對(duì)每個(gè)章節(jié)設(shè)計(jì)了課程設(shè)計(jì),課程設(shè)計(jì)由3-5名學(xué)生組成的課程小組完成,設(shè)計(jì)的程序代碼先通過(guò)在線訓(xùn)練平臺(tái)的實(shí)時(shí)評(píng)判,再書寫課程設(shè)計(jì)報(bào)告。訓(xùn)練學(xué)生不僅僅是以完成程序?yàn)槟繕?biāo),更重要的是培養(yǎng)學(xué)生的軟件設(shè)計(jì)能力、測(cè)試能力和文檔撰寫能力,課程設(shè)計(jì)報(bào)告有統(tǒng)一的格式,至少包含需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、測(cè)試、算法分析與代碼附錄等六個(gè)方面的內(nèi)容。
4結(jié)語(yǔ)
數(shù)據(jù)結(jié)構(gòu)課程在計(jì)算機(jī)學(xué)科中有非常重要的地位。近幾年來(lái),我們?cè)谡n程教學(xué)改革中,重新確定了課程定位與培養(yǎng)目標(biāo),自編了輔導(dǎo)教材與實(shí)驗(yàn)指導(dǎo)書,開發(fā)了程序設(shè)計(jì)在線訓(xùn)練平臺(tái),建設(shè)了在線開放課程,改革實(shí)踐教學(xué),突出理論與實(shí)踐應(yīng)用相結(jié)合。有效調(diào)動(dòng)了學(xué)生自主學(xué)習(xí)的積極性,將ACM競(jìng)賽模式引入到數(shù)據(jù)結(jié)構(gòu)的實(shí)踐教學(xué),提高了學(xué)生的創(chuàng)新能力。通過(guò)在線訓(xùn)練平臺(tái)有效提高了實(shí)踐教學(xué)指導(dǎo)效率、課程設(shè)計(jì)報(bào)告強(qiáng)化了學(xué)生的文檔書寫能力。通過(guò)課程改革,有效提高了學(xué)生的自主學(xué)習(xí)能力,培養(yǎng)了學(xué)生團(tuán)隊(duì)協(xié)作能力和合作精神,訓(xùn)練了學(xué)生的項(xiàng)目管理能力和基本科研能力。學(xué)生撰寫的研究論文有多篇發(fā)表在各級(jí)各類刊物上,學(xué)生在各級(jí)各類大學(xué)生創(chuàng)新創(chuàng)業(yè)和科研項(xiàng)目中獲得了好成績(jī),為各級(jí)各類學(xué)科競(jìng)賽、創(chuàng)新創(chuàng)業(yè)實(shí)驗(yàn)室培養(yǎng)了優(yōu)秀的隊(duì)員和后備力量。今后,將進(jìn)一步完善習(xí)題庫(kù)、案例庫(kù)的建設(shè),適時(shí)調(diào)整教學(xué)內(nèi)容、改進(jìn)教學(xué)方法,使數(shù)據(jù)結(jié)構(gòu)課程教學(xué)質(zhì)量進(jìn)一步提高。