摘要:《數(shù)據(jù)結(jié)構(gòu)》課程是計算機專業(yè)基礎(chǔ)課,也是計算機專業(yè)的核心課程,學(xué)好《數(shù)據(jù)結(jié)構(gòu)》為計算機專業(yè)的后續(xù)課程如:《操作系統(tǒng)》、《軟件工程》、《算法設(shè)計》等課程打下基礎(chǔ)。該文通過對民辦高校學(xué)生的自身特點和《數(shù)據(jù)結(jié)構(gòu)》的教學(xué)特點出發(fā),探討《數(shù)據(jù)結(jié)構(gòu)》這門課對民辦高校學(xué)生的教育教學(xué)方法,促進民辦高校計算機專業(yè)學(xué)生學(xué)習(xí)這門課程的積極性和主動性,為以后學(xué)習(xí)其它課程打下堅實的基礎(chǔ)。
關(guān)鍵詞:民辦高校;數(shù)據(jù)結(jié)構(gòu);教學(xué)研究;教學(xué)改革
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2009)36-10172-02
Private Colleges and Universities, \"Data Structure\" Teaching Research and Exploration
YU Yun, WANG Ben-sheng
(Anhui Xinhua University, Hefei 230088,China)
Abstract: \"Data Structures\" course is the basis of computer science courses, but also the core of computer science courses, master \"data structure\" for the computer professional follow-up courses such as: \"Operating System\", \"Software Engineering\", \"algorithm design\" courses lay the foundation for . By means of the inherent characteristics of students in private universities and the \"Data Structure\" teaching characteristics of the study \"Data Structure\" This class of private college students in education and teaching methods, and promote private college computer science students to learn this course the enthusiasm and initiative nature study and other courses for the future and lay a solid foundation.
Key words: private colleges and universities; data structure; teaching and research; teaching reform
1 民辦高校學(xué)生的特點
1) 部分學(xué)生不愛學(xué)習(xí),怕學(xué)習(xí),上課睡覺或遲到、早退,不請假外出、不按時起床,甚至通宵上網(wǎng),經(jīng)常曠課,考試多門功課不及格;學(xué)習(xí)目的不夠明確,沒有養(yǎng)成良好的學(xué)習(xí)習(xí)慣,自主學(xué)習(xí)能力和毅力不夠強。更有一些人嬌生慣養(yǎng),吃不得苦,沒有刻苦鉆研精神,在遇到一些具體問題時,缺乏理性思考,易受外界因素影響,往往“隨大流”,憑著感覺走,對利弊、后果、危害考慮較少,特別是接觸到一些不健康的東西時,界限不容易把握,經(jīng)不起誘惑。缺乏持久的自我約束和自我管理能力,表現(xiàn)在剛?cè)胄r注意約束自己的行為,時間稍長就放松了要求,自身毛病就暴露出來了。
2) 學(xué)生智力并不差,且有一定思維活動能力,有的人雖有這樣或那樣的問題,但不是不可改變,也就是說這些學(xué)生有較大的可塑性,只要教學(xué)工作到位,他們能夠轉(zhuǎn)化,只要好好引導(dǎo),他們也會成人成才。其實大多數(shù)學(xué)生能夠認識到“嚴是愛,松是害”的道理,認為對他們實行嚴格管理是對他們的關(guān)心和愛護。大部分學(xué)生學(xué)習(xí)的目的明確,并能正確認識自己的處境,圍繞學(xué)習(xí)目標不懈地努力。對一些實用性課程、專題講座、技能比賽等反映出極大的興趣。期望在一些科技和學(xué)術(shù)性活動中拓寬知識,在一些娛樂活動中陶冶情操。
3)部分學(xué)生技能特長比較明顯。他們大多都有較強的為人處事能力,社交能力強,交際面廣,思想活躍,易于接受新事物。但是,不少同學(xué)文化底子薄,基礎(chǔ)差,偏科比較嚴重,參差不齊,總體發(fā)展不平衡。大多數(shù)學(xué)生對理性和抽象化知識興趣不濃,喜歡接受感性、具體、時尚的信息。對這些人要發(fā)揮其所長,引導(dǎo)他充實自己的技能。
2 《數(shù)據(jù)結(jié)構(gòu)》這門課的特點
《數(shù)據(jù)結(jié)構(gòu)》是計算機應(yīng)用專業(yè)的專業(yè)基礎(chǔ)課程,也是整個計算機學(xué)科體系中的四大支柱課程之一。該課程主要介紹各種離散結(jié)構(gòu)(如表、向量、集合、樹、圖等)在計算機上的存儲和處理,以及一些常用算法?!稊?shù)據(jù)結(jié)構(gòu)》也是一門理論性很強的課程,是從事計算機軟件開發(fā)的基礎(chǔ),對培養(yǎng)學(xué)生良好的編程思想和風(fēng)格也有很大的幫助作用。而民辦高校主要目標是培養(yǎng)技術(shù)應(yīng)用型人才,更加偏重于實踐能力的培養(yǎng),民辦高校學(xué)生的自身特點決定了理論性課程的教學(xué)難度較大。《數(shù)據(jù)結(jié)構(gòu)》恰恰重在理論,其概念的抽象性、算法的經(jīng)典性和復(fù)雜性、描述語言的先進性,若理論教學(xué)和實踐教學(xué)未能很好的結(jié)合起來,學(xué)生的基礎(chǔ)較薄弱,導(dǎo)致學(xué)生學(xué)習(xí)起來難度特別大。《數(shù)據(jù)結(jié)構(gòu)》被公認為是計算機課程中難學(xué)好的課程之一。
3 《數(shù)據(jù)結(jié)構(gòu)》教學(xué)方法
根據(jù)民辦高校學(xué)生的自身特點,課程的特點和多年的《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)經(jīng)驗,給出如何實施《數(shù)據(jù)結(jié)構(gòu)》教學(xué)過程以提高教學(xué)效果的方法。
1) 上好第一堂課,調(diào)動學(xué)生的學(xué)習(xí)興趣俗話說,“興趣是最好的老師”。講授《數(shù)據(jù)結(jié)構(gòu)》課程的第一次授課中,并不要急于介紹理論,而是強調(diào)應(yīng)用,通過介紹數(shù)據(jù)結(jié)構(gòu)在實際中的應(yīng)用來激發(fā)學(xué)生的學(xué)習(xí)興趣。如圖書館的書目檢索系統(tǒng),如何組織圖書的登錄號、書名、分類號等數(shù)據(jù),才能快速實現(xiàn)查找、插入、刪除操作;旅游線路設(shè)計問題,怎樣安排線路以求花費最少;在樓房工程建設(shè)中,如何施工以求工期最短;家族成員之間的關(guān)系等等。以上應(yīng)用貼近生活,學(xué)生都比較熟悉,興趣就能夠被激發(fā)起來,形成想學(xué)好這門課的愿望。而且實踐證明,教師在教學(xué)過程中越能闡明每一具體知識的目的意義,幫助學(xué)生了解知識所具有的價值,就越能吸引學(xué)生產(chǎn)生對知識的向往與追求的意向。這樣就可以將“要我學(xué)”變?yōu)椤拔乙獙W(xué)”。其實上述例子就已經(jīng)囊括了本門課中涉及的幾大類數(shù)據(jù)結(jié)構(gòu)——線性表、樹和圖,這樣教師就可以水到渠成的歸結(jié)出數(shù)據(jù)結(jié)構(gòu)的概念以及本書涉及的幾種數(shù)據(jù)結(jié)構(gòu)的類型,為后續(xù)學(xué)習(xí)的講解打下了良好的基礎(chǔ)。
2) 教師吃透知識點,化書面語為自身語言:
在《數(shù)據(jù)結(jié)構(gòu)》教學(xué)過程中,教師若將一知識點能很好地傳授給學(xué)生,備好課是前提,首先教師自己要吃透知識點,熟知其重點,難點所在,并熟記在心,其次,將知識點的理解,能用自己的語言通俗地描述出來,可用類比法,比喻法等,將復(fù)雜的知識簡單化,抽象的知識形象化,使學(xué)生更容易理解、接受。教師上新課前最好督促學(xué)生先預(yù)習(xí),再聽課,這樣學(xué)生在上課時有所側(cè)重地聽講,教學(xué)效果更佳,學(xué)生經(jīng)過自學(xué)(預(yù)習(xí))、助學(xué)(上課)、再自學(xué)(上機實踐,復(fù)習(xí)),三者投入一定的比例,經(jīng)過這一過程后,學(xué)生應(yīng)該能夠理解、掌握知識點并運用于實踐中。
3) 教師要解決學(xué)生C語言中的不足C語言程序設(shè)計是學(xué)習(xí)《數(shù)據(jù)結(jié)構(gòu)》中算法描述的工具,學(xué)生對它的熟悉掌握程度,直接關(guān)系到數(shù)據(jù)結(jié)構(gòu)課程算法設(shè)計的教學(xué)效果。而數(shù)據(jù)結(jié)構(gòu)課程教學(xué)過程中主要運用C語言中的指針、函數(shù)、數(shù)組作為函數(shù)參數(shù)以及結(jié)構(gòu)體類型等,這些知識點對于大部分學(xué)生來說運用能力不是很強,如果上課時直接切入主題,他們可能很難接受。如何來解決這個問題?我們可以利用一、兩節(jié)課的時間來復(fù)習(xí)C語言的相關(guān)知識,即數(shù)組、指針、函數(shù)和結(jié)構(gòu)體等。這樣可以幫學(xué)生回顧和連貫C語言的知識,加深印象,強化理解,又可以為數(shù)據(jù)結(jié)構(gòu)課程算法設(shè)計的教學(xué)做鋪墊
4) 提出問題,讓學(xué)生思考,變被動接受為主動參與
在課堂中若要講述一個知識點,用不同的方式講解效果不同,不妨先提出一個現(xiàn)實中的問題,讓學(xué)生討論,例如,講解圖的最短路徑的求解這一知識點時,可提出問題:例如旅游線路設(shè)計問題,怎樣安排線路以求花費最少,這時學(xué)生可能都在思考自己的方法,教師這時水到渠成地告訴大家,可以用普里姆和克魯斯卡爾兩種算法來實現(xiàn)網(wǎng)的最小生成樹,但如何設(shè)計兩種算法?這時全場學(xué)生會洗耳恭聽;這時教師再詳細講述這個問題的解決方法,相信學(xué)生聽后一定能做好。倘若教師一開始平鋪直敘地講解,恐怕學(xué)生就沒有這么認真地聽了,自然不會留下深刻的印象了。
5) 加強實踐環(huán)節(jié)為使學(xué)生真正學(xué)好“數(shù)據(jù)結(jié)構(gòu)”,除了在課堂上要采用行之有效的教學(xué)方法外,還要讓學(xué)生勤動手,多實踐。實踐理論的回顧和總結(jié)。實踐重要環(huán)節(jié)是上機實驗。上機實驗不僅能進一步鞏固對有關(guān)內(nèi)容的理解,同時還能提高學(xué)生靈活運用數(shù)據(jù)結(jié)構(gòu)和算法的能力,使學(xué)生在編程、上機操作、程序調(diào)試與正確性驗證等基本技能方面受到嚴格的訓(xùn)練。在安排實驗內(nèi)容、布置試驗任務(wù)時,可以遵循由易到難、由簡單到復(fù)雜的原則。在課程大綱指導(dǎo)下,在整個教學(xué)過程中,實驗過程要結(jié)合教學(xué)進度與學(xué)生的實際情況,制定實驗的內(nèi)容。實驗可分兩部分,一是驗證性實驗,主要結(jié)合課堂理論教學(xué)內(nèi)容展開,學(xué)生可以對在課堂上學(xué)到的基本算法進行驗證;二是設(shè)計性實驗,堅持“學(xué)以致用”的原則,目的是讓學(xué)生充分利用所學(xué)的理論知識進行相對復(fù)雜的應(yīng)用設(shè)計。上機結(jié)束后要求學(xué)生完成實習(xí)報告, 寫出自己調(diào)試過程中遇到的問題是如何解決的以及對設(shè)計與實現(xiàn)的回顧討論和分析,算法的時空分析,測試結(jié)果,以及經(jīng)驗體會, 并附上源程序代碼, 從而寫出完整的實驗報告。
6) 教學(xué)內(nèi)容的歸納提煉對于教師而言,不少人常說“數(shù)據(jù)結(jié)構(gòu)”這門課難講,學(xué)生也反映這門課不好學(xué),這是因為“數(shù)據(jù)結(jié)構(gòu)”不但有很強的理論性,而且具有一定的抽象性。同時“數(shù)據(jù)結(jié)構(gòu)”課程又有較強的實踐性,要求學(xué)生能夠使用一種語言(C、C++ 或Java) ,對算法進行程序設(shè)計,并且能夠進行上機調(diào)試,對于基礎(chǔ)薄弱的學(xué)生這就好似“雪上加霜”。既然“教”與“學(xué)”都有困難,當然這本來就是相輔相成的,而在“教”與“學(xué)”過程中首先應(yīng)該突破教師應(yīng)該怎么“教”,作為教師首先應(yīng)對理論概念和算法思想的知識處理,避免“照本宣科”,教師自己要熟悉教材、精通教材,把握本課程的重點和難點,能夠?qū)⑶昂髢?nèi)容聯(lián)系起來分析思考,盡量從中尋找共性的、規(guī)律性的東西進行歸納與提煉,并將其系統(tǒng)化、具體化。例如從數(shù)據(jù)結(jié)構(gòu)的定義出發(fā)包含三方面的內(nèi)容:邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)和算法。在講到每種數(shù)據(jù)結(jié)構(gòu)(線性表、棧、隊列、樹、圖)都會涉及到它的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)和算法。教師在講授的過程中可以用數(shù)據(jù)結(jié)構(gòu)包含的三方面內(nèi)容作為一條主線貫穿整本書,每講到一種新的數(shù)據(jù)結(jié)構(gòu)時都可以拿出這條主線來闡明其上的三方面內(nèi)容,這樣,學(xué)生學(xué)起來就會覺得有系統(tǒng)性,容易把握。綜觀全書不論是線性表、樹還是圖,最基本的、典型的存儲結(jié)構(gòu)就是兩類:順序存儲結(jié)構(gòu)、鏈式存儲結(jié)構(gòu),只要把它們掌握得好,整個課程學(xué)習(xí)的難度就不大。所以在教學(xué)過程中, 教師一方面要緊扣課程的主脈即各種數(shù)據(jù)結(jié)構(gòu)的基本概念、邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)、主要算法與相關(guān)應(yīng)用,把基本的概念與術(shù)語解釋清楚,把各種數(shù)據(jù)結(jié)構(gòu)與操作運算分析清楚,把有關(guān)算法的設(shè)計思路與實現(xiàn)方法講解清楚;另一方面,更要注重有關(guān)內(nèi)容的前后呼應(yīng),把握其內(nèi)在聯(lián)系,對各種相關(guān)結(jié)構(gòu)的特點與操作,進行相應(yīng)的歸納、總結(jié)與對比。
綜上所述,為什么有的學(xué)生對《數(shù)據(jù)結(jié)構(gòu)》這門課程能學(xué)得好,熟練掌握,靈活運用,而有的學(xué)生淺嘗轍止,甚至干脆放棄,原因可能是多方面的,但最主要取決于學(xué)生學(xué)這門課興趣和所花的時間多少,而時間的多少取決于本身對這門課的興趣大小,而興趣的產(chǎn)生又分為內(nèi)在的感覺和外在的培養(yǎng),從某一領(lǐng)域的門外漢到技術(shù)高手,學(xué)習(xí)的開始主要靠外在培養(yǎng)教育,此時教師的引導(dǎo)、興趣的激發(fā)起到至關(guān)重要的帶頭作用,緊接其后的是檢查監(jiān)督是繼續(xù)學(xué)習(xí)的保障,經(jīng)過一段時間后,當學(xué)生學(xué)習(xí)有成就感時,內(nèi)在的興趣才是學(xué)習(xí)真正原動力,再加之教師的點撥指導(dǎo),有了一定知識、經(jīng)驗的積累、實踐運用,多學(xué)好這門課已經(jīng)不遠了。
參考文獻:
[1] 于德順,楊宏益-認識民辦高校的學(xué)生特點[J].揚州江海職業(yè)技術(shù)學(xué)院學(xué)報,2007.
[2] 嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)[M](C語言版) [M].北京:清華大學(xué)出版社,1997.
[3] 嚴尉敏.編寫數(shù)據(jù)結(jié)構(gòu)的回顧和體會[M].教學(xué)與研究,1994.
[4] 解飛厚.冷靜看“特色”——關(guān)于高校辦學(xué)特色的思考[J].江蘇高教,2002(6).
[5] 楊棖.數(shù)據(jù)結(jié)構(gòu)[M].北京:高等教育出版社,2002.