常璐璐
(濱州學(xué)院 計算機科學(xué)技術(shù)系,山東 濱州 256603)
《數(shù)據(jù)結(jié)構(gòu)》是IT專業(yè)中一門重要的基礎(chǔ)教學(xué)課程,該課程的開設(shè)必需同時開設(shè)實驗課程。濱州學(xué)院計算機科學(xué)技術(shù)系將《數(shù)據(jù)結(jié)構(gòu)》課程的建設(shè)和實驗教學(xué)改革有機結(jié)合起來,探索出一條信息化人才培養(yǎng)之路[1]。
要學(xué)好《數(shù)據(jù)結(jié)構(gòu)》,必須得有扎實的編程基礎(chǔ),《數(shù)據(jù)結(jié)構(gòu)》的前導(dǎo)課程是《C語言程序設(shè)計基礎(chǔ)》,從多年的教學(xué)情況來看,學(xué)生對于程序設(shè)計基礎(chǔ)的掌握表現(xiàn)出極大的不一致,只有極少數(shù)的學(xué)生能夠掌握好這門語言[2]。而且在前期的學(xué)習(xí)過程中僅僅講到基本的語法、數(shù)據(jù)類型、函數(shù)等概念,對于數(shù)據(jù)結(jié)構(gòu)實驗中經(jīng)常用到的頭文件、宏定義、結(jié)構(gòu)體、指針、遞歸、函數(shù)調(diào)用等概念只是作了簡單地介紹,沒有深入展開。學(xué)生在實驗課程中不能正確輸入數(shù)據(jù),對結(jié)構(gòu)體、函數(shù)等概念不熟悉,函數(shù)的傳址調(diào)用概念不清,有關(guān)指針的內(nèi)容理解不深。對將算法轉(zhuǎn)化為程序感到非常困難。因此學(xué)生在數(shù)據(jù)結(jié)構(gòu)實驗課中就會遇到各種問題,會出現(xiàn)入門困難,甚至一節(jié)課都調(diào)不好一個小程序等問題。
現(xiàn)階段大多數(shù)高校對于該門課程一般的考核方式是期末紙質(zhì)考試或者提交項目源代碼,甚至有的學(xué)校對于學(xué)生的實驗課程沒有單獨的考核。由于紙質(zhì)考試的形式無法從各個方面考查學(xué)生的編程能力和其對算法思想的掌握情況,只會導(dǎo)致學(xué)生死記硬背書本知識[提交項目源代碼會導(dǎo)致絕大多數(shù)學(xué)生簡單復(fù)制個別學(xué)生作業(yè)的作弊現(xiàn)狀,所提交的項目源代碼千篇一律,教師無法從過程動態(tài)考查學(xué)生對該門課程掌握的真實情況[3]。
由于課程抽象不易理解,課程對應(yīng)的實驗項目較大,課程項目需要要到的前導(dǎo)知識較多,一般一個大的項目需要好幾堂課才能完成。項目難度高,工作量大,前后知識的關(guān)系密切等原因?qū)е聦W(xué)生對于該門課程的學(xué)習(xí)積極性普遍不高。
為了解決上述問題,結(jié)合本學(xué)校計算機專業(yè)中各專業(yè)多年授課的實際情況,我們提出了從五層次開展實驗,實驗過程注意三個相結(jié)合,同時實驗結(jié)果要注重兩個培養(yǎng)的教學(xué)改革理念,其示意圖如圖1所示。
圖1 數(shù)據(jù)結(jié)構(gòu)實驗教學(xué)改革示意圖
按照實驗的內(nèi)容、難度的不同將所有實驗分為五個層次:預(yù)備型實驗,驗證型實驗,設(shè)計型實驗,研究型實驗,綜合型實驗。
預(yù)備型實驗需要學(xué)生在課前預(yù)習(xí)完成,上課前任課教師檢查或者指定學(xué)生對其他同學(xué)的預(yù)備型實驗進行檢查。例如,冒泡排序算法實現(xiàn)就是預(yù)備型實驗,學(xué)生通過完成該實驗?zāi)軌蚴煜ら_發(fā)環(huán)境,了解類C語言與C語言的區(qū)別。驗證型實驗是驗證教師課堂講授的內(nèi)容,設(shè)計型實驗和研究型實驗都是在之前實驗的基礎(chǔ)上進行設(shè)計創(chuàng)新。驗證型實驗、設(shè)計型實驗、研究型實驗都是在課堂完成,學(xué)生根據(jù)自己學(xué)習(xí)的情況進行實驗類別的選擇。例如:線性表基本操作的實現(xiàn)、二叉樹基本操作的實現(xiàn)等屬于驗證型實驗,學(xué)生將課堂上的內(nèi)容通過算法實現(xiàn)進行驗證,加深對課堂知識的理解;一元二次多項式的實現(xiàn)、利用隊列實現(xiàn)約瑟夫環(huán)問題等屬于設(shè)計型實驗,該類實驗要求學(xué)生根據(jù)所學(xué)的知識來進行相關(guān)設(shè)計并最終解決問題;用各種查找、排序算法對同一組數(shù)據(jù)進行操作、利用隊列實現(xiàn)按層次遍歷二叉樹等屬于研究型實驗,通過完成該類實驗,學(xué)生能更好地掌握各種數(shù)據(jù)結(jié)構(gòu)的特點,以及如何在需要的時候選擇恰當?shù)臄?shù)據(jù)結(jié)構(gòu);綜合型實驗也就是課程設(shè)計,是教師根據(jù)課堂所講授的幾個章節(jié)的內(nèi)容綜合布置一道題目,讓學(xué)生課下組織材料,獨立或者幾個同學(xué)一起進行設(shè)計,定期舉行綜合型實驗的匯報答辯[4]。例如:地圖填色問題,銀行排隊等問題屬于綜合型實驗,學(xué)生選擇多種學(xué)過的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)算法設(shè)計的要求,從而達到對所學(xué)知識綜合運用,融會貫通的目的。
三個結(jié)合是指算法分析能力與程序設(shè)計能力相結(jié)合,集中啟發(fā)式探討與分類輔導(dǎo)答疑相結(jié)合,階段化過程考核與多元化綜合能力考核相結(jié)合。
算法分析能力與程序設(shè)計能力相結(jié)合是指將教材上的算法和實驗課上程序設(shè)計有機結(jié)合起來,能將算法轉(zhuǎn)化為對應(yīng)的程序,用程序來驗證算法。集中啟發(fā)式探討與分類輔導(dǎo)答疑相結(jié)合是指實驗課堂上教師做適當?shù)膯l(fā)式指導(dǎo),學(xué)生根據(jù)教師的啟發(fā)分組進行討論,教師根據(jù)每組討論的情況再進行指導(dǎo),循環(huán)幾輪之后,學(xué)生對于所設(shè)計的程序、程序所對應(yīng)的算法都有了深入的理解。例如:利用棧實現(xiàn)表達式的問題,學(xué)生分組對問題進行討論時,教師啟發(fā)學(xué)生要結(jié)合棧的特點來解決表達式的加減乘除運算問題,通過分組討論、編程實現(xiàn),使得每個學(xué)生都能掌握棧這種數(shù)據(jù)結(jié)構(gòu)。階段化過程考核與多元化綜合能力考核是指取消一考定結(jié)果的先例,而是將考核階段化、過程化、多元化,每個綜合型實驗進行答辯考核,實驗過程進行隨機考核,考核方式包括答辯,書面小結(jié),課堂表現(xiàn)等。學(xué)生最終實驗成績=課堂表現(xiàn)25 +書面小結(jié)25 +答辯50 。
兩個培養(yǎng)指算法分析設(shè)計能力培養(yǎng)和綜合能力培養(yǎng)相結(jié)合。我們要求培養(yǎng)出的學(xué)生不僅能寫出優(yōu)秀的算法,編出高效、優(yōu)質(zhì)的程序,更是一個綜合能力突出的項目經(jīng)理。例如:在實驗過程中選取了停車場問題、地圖涂色問題、銀行排隊問題、實現(xiàn)串行算法并行化問題等。這些算法的分析以及程序的實現(xiàn)不僅幫助學(xué)生進行算法分析設(shè)計,更重要的是借助實現(xiàn)這些程序,學(xué)生的編程能力、綜合處理問題的能力都得到了提高。
通過將數(shù)據(jù)結(jié)構(gòu)實驗課程在濱州學(xué)院2009級到2011級??频慕虒W(xué)過程中進行分類分層次的改革實踐之后,主要出現(xiàn)了如下表現(xiàn):
(1)學(xué)生學(xué)習(xí)積極性大幅提高,到課率高,課堂表現(xiàn)積極。通過將實驗項目進行五個層次,三個結(jié)合,兩個培養(yǎng)的分層劃分,學(xué)生對該課程的學(xué)習(xí)循序漸進,課前預(yù)習(xí)實驗課堂內(nèi)容,課上選擇設(shè)計型實驗或者研究型實驗或者驗證型實驗進行分組協(xié)作,課下總結(jié)學(xué)過的內(nèi)容和同學(xué)們一起進行綜合型實驗的設(shè)計,整個過程相輔相成,極大地提高了學(xué)生的學(xué)習(xí)效果[5]。
(2)學(xué)生的算法分析設(shè)計能力和綜合能力都大幅提高。通過過程考核、隨機考核、實驗答辯等多個考核形式,動態(tài)掌握了學(xué)生的學(xué)習(xí)情況,隨時發(fā)現(xiàn)問題隨時解決。老師考核學(xué)生,學(xué)生根據(jù)分組情況,組長考核組員,組員之間互相監(jiān)督,互相學(xué)習(xí),使得絕大多數(shù)同學(xué)的算法分析設(shè)計能力和綜合能力都大幅提高。
(3)2010級軟件技術(shù)專業(yè)和網(wǎng)絡(luò)技術(shù)專業(yè)??瓢嗟膶I韭史謩e為23 和36 ?!稊?shù)據(jù)結(jié)構(gòu)》是專升本考試的必考科目,專升本率的升高可以從一個方面反映出學(xué)生對該門課程的掌握是隨著實驗課程教學(xué)改革的過程逐年提高的。
實驗教學(xué)是教學(xué)中極其重要的組成,能否良好地開展實驗教學(xué)決定了學(xué)生對課程掌握的程度和老師的教學(xué)效果。幾年來的實驗教學(xué)改革顯示,實驗課程的教學(xué)組織過程更加科學(xué),極大地調(diào)動了學(xué)生的學(xué)習(xí)積極性;實驗內(nèi)容的分類分層能極大地提高學(xué)生的動手創(chuàng)新能力,充分調(diào)動學(xué)生在實驗課堂上的主動性和積極性,使得??茖嶒灲虒W(xué)的總體水平得到了明顯提高,進而推動本專業(yè)其他課程的講授。
[1] 安 婧.美國高校信息化建設(shè)對我國高校的啟示研究[D].哈爾濱:黑龍江大學(xué),2010.
[2] 顧春琴.面向CDIO的《數(shù)據(jù)結(jié)構(gòu)》教學(xué)改革與實踐[J].現(xiàn)代計算機:專業(yè)版,2010(15):30-31.
[3] 李剛.《電子商務(wù)概論》課程教學(xué)改革探索[J].淮南職業(yè)技術(shù)學(xué)院學(xué)報,2012(2):53-54.
[4] 吳衛(wèi)江.計算機接口技術(shù)課程實驗教學(xué)探討[J].計算機教育,2011(6):95-97.
[5] 黨興亞.利用計算機教學(xué)提高學(xué)生整體素質(zhì)[J].成才之路,2013(4):21.