摘 要: 本文作者對高職《數(shù)據(jù)結(jié)構(gòu)》課程實踐教學的重要性、存在的問題,提出了實踐教學的探索和實施方法,得到了一定的實效。
關(guān)鍵詞: 高職 《數(shù)據(jù)結(jié)構(gòu)》課程 實踐教學 探索
1.引言
《數(shù)據(jù)結(jié)構(gòu)》是計算機程序設(shè)計的的重要理論技術(shù)基礎(chǔ),它不僅是計算機類各專業(yè)的核心課程, 而且是其它專業(yè)的重要選修課。《數(shù)據(jù)結(jié)構(gòu)》是實踐性很強的課程,本課程的教學不僅要注重學生對理論的理解、學習基本理論知識,更要注重培養(yǎng)學生的實踐能力,通過上機實踐驗證算法的正確性,掌握和鞏固所學理論知識。
通過本課程的學習,學生能夠?qū)W會分析研究計算機加工的數(shù)據(jù)結(jié)構(gòu)的特性,今后能夠針對具體問題選擇適當?shù)倪壿嫿Y(jié)構(gòu)、存儲結(jié)構(gòu),以及相應(yīng)的算法,編寫出結(jié)構(gòu)清晰、正確易讀、符合軟件工程規(guī)范的程序,為進一步學習后續(xù)專業(yè)課程和軟件開發(fā)打下堅實基礎(chǔ)。
因此,《數(shù)據(jù)結(jié)構(gòu)》課程教學中實踐教學有著相當重要的意義。
2.高職《數(shù)據(jù)結(jié)構(gòu)》實踐教學的重要性
目前,我國正在大力發(fā)展職業(yè)教育,國務(wù)院作出的《關(guān)于大力發(fā)展職業(yè)教育的決定》,要求“落實科學發(fā)展觀,把發(fā)展職業(yè)教育作為經(jīng)濟社會發(fā)展的重要基礎(chǔ)和教育工作的戰(zhàn)略重點”[1]?!吨泄仓醒雵鴦?wù)院關(guān)于深化教育改革,全面推進素質(zhì)教育的決定》中指出:“加強課程的社會性和實踐性,重視實驗課程的教學,培養(yǎng)學生實際操作能力?!币虼?,培養(yǎng)出合格的高職學生是目前各高職學校亟待解決的問題。高職教育不能等同于普通高校的教育,對《數(shù)據(jù)結(jié)構(gòu)》的教學要體現(xiàn)出高職教育特色,我們要充分認識到實踐教學的重要性和創(chuàng)新性,要使學生學好《數(shù)據(jù)結(jié)構(gòu)》尤其要注重本課程的實踐教學[2]。
《數(shù)據(jù)結(jié)構(gòu)》課程性質(zhì)本身決定了實踐教學的重要性。《數(shù)據(jù)結(jié)構(gòu)》課程實踐教學包括兩方面:(1)與課程教學同步的上機實驗;(2)課程結(jié)束后的課程設(shè)計。在整個教學過程中,兩者缺一不可,相輔相成。通過兩方面循序漸進地訓練,學生能掌握更多的程序設(shè)計技巧和方法,提高分析問題、解決問題的能力。
3.當前《數(shù)據(jù)結(jié)構(gòu)》實踐教學中存在的問題
《數(shù)據(jù)結(jié)構(gòu)》研究的是各種數(shù)據(jù)結(jié)構(gòu)中元素之間的邏輯關(guān)系及在計算機中的存儲實現(xiàn)[3]。只有通過實踐環(huán)節(jié),學生才能夠更加感性地掌握這些數(shù)據(jù)結(jié)構(gòu)所適用的運算及其實現(xiàn)和應(yīng)用。然而,當前《數(shù)據(jù)結(jié)構(gòu)》實踐教學中存在著較多問題:一是由于我國辦學的歷史原因,高職的教材和大綱基本上都來自普通高校的教材和大綱的改編和縮編版本,很少有適合高職教育的《數(shù)據(jù)結(jié)構(gòu)》的教材;二是由于高職學生相對普通高校學生基礎(chǔ)差,底子薄,因而在學習本課程時產(chǎn)生了畏難厭學的情緒;三是學生在學習《數(shù)據(jù)結(jié)構(gòu)》時,由于對前驅(qū)課程(如C語言)掌握得不夠熟練,導致學習本課程困難;四是學生普遍實際動手能力較差,實踐不能夠佐證理論;五是學生認為這門課程理論性太強,太抽象、枯燥,面對具體問題時,不知該如何應(yīng)用學過的知識來給出切實可行的解決方案,理論不能夠指導實踐。
4.解決上述問題的幾個前提條件
要解決上述問題,使得教師教好數(shù)據(jù)結(jié)構(gòu),學生學好數(shù)據(jù)結(jié)構(gòu),我們必須做好準備工作。
4.1制定合理的教學計劃,正確處理理論教學和實踐教學的關(guān)系。
教師在授課之前一定要合理地制定教學計劃、進度,這首先是教師對課程教學認識水平的一個重要體現(xiàn),其次關(guān)系著這門課程的教學能否正常進行開展??傮w而言,教學計劃應(yīng)該詳略得當,同時考慮高職的特點。
教師要教好數(shù)據(jù)結(jié)構(gòu),學生要學好數(shù)據(jù)結(jié)構(gòu),最為關(guān)鍵的一點就是注重并正確對待理論教學和實踐教學的關(guān)系。教師應(yīng)在計劃中以理論為基礎(chǔ),偏重于實踐,對于《數(shù)據(jù)結(jié)構(gòu)》這門課將理論和實踐比例協(xié)調(diào)在2∶1到1.2∶1,在教學計劃中能夠按照知識體系的鋪展將教學分成理論教學和實踐操作兩大模塊,相互交叉進行,并將實踐操作模塊分為教學內(nèi)容實驗和綜合實驗(課程設(shè)計)。
這就要求教師不斷提高自身素質(zhì),能夠根據(jù)學生實際學習情況,以及對數(shù)據(jù)結(jié)構(gòu)等計算機知識的需求,做個教學有創(chuàng)新意識、不斷進取的新型教師。
4.2選取好教材。
所謂好教材就是要具有高職特色,教師在教材內(nèi)容的選取上應(yīng)堅持以學致用、學用結(jié)合的原則,集先進性、科學性和實用性于一體,盡可能地將最基礎(chǔ)、最適用的軟件寫入教材,略去一些純理論的推導和繁瑣的數(shù)學證明;在內(nèi)容的深淺程度上,把握理論夠用、側(cè)重實用、由深入淺的原則。同時,教材文字要淺顯易懂,銜接自然,邏輯性強。由許樂平主編的《數(shù)據(jù)結(jié)構(gòu)——C++描述》是一本非常適合高職的教材,其配套的《數(shù)據(jù)結(jié)構(gòu)學習指導與實驗》也是一本非常好的實踐教學用書[4]。
4.3注重教學過程、合理實施教學組織、理論能夠指導實踐。
教學過程包括教師、學生、教學內(nèi)容、教學手段和方法等基本要素,彼此聯(lián)系,相互影響,形成了錯綜復雜的關(guān)系。教師要注重教學過程,采用啟發(fā)式、討論式、任務(wù)驅(qū)動式等多種教學方法設(shè)計好教學過程,并正確分析、認識和妥善處理這些關(guān)系,以提高高職課程教學質(zhì)量。
教師實施教學組織要根據(jù)教學內(nèi)容,合理安排教學進度,注重節(jié)奏教學,精心準備,激情授課,強調(diào)交互式教學,深入淺出,理論聯(lián)系實際,突出原理的應(yīng)用;同時能夠以人為本,誠心與學生交朋友,推崇親情教學。
對于高職學生,我們要重點培養(yǎng)其解決實際問題的能力,以應(yīng)用知識為主,衡量學習成績的標準不是知不知道,而是會不會干;所學的理論知識要能夠指導實踐。教師在教學過程中應(yīng)盡量多采用一些動態(tài)效果來描述算法的思想,使學生易于接受和理解,并加深印象;盡可能將前后內(nèi)容聯(lián)系起來,從中尋找一些規(guī)律,進行歸納提煉和使其系統(tǒng)化,使學生能較好地理解各個知識點間的聯(lián)系,從而降低課程的復雜度;在課堂上多舉一些編程中常用到的一些數(shù)據(jù)結(jié)構(gòu)中的算法,讓學生知道這些算法都是用來干什么的;最后通過合理、有效地設(shè)計實踐內(nèi)容,來強化理論教學的效果,從而起到理論指導實踐的作用。
任務(wù)驅(qū)動教學法是一種非常好的教學方法,其實施過程為:提出任務(wù)→分析任務(wù)→完成任務(wù)→交流總結(jié)。在理論教學和實踐教學兩個模塊中教師都可以很自如地運用這個方法。
5.實踐教學探索
國務(wù)院《關(guān)于大力發(fā)展職業(yè)教育的決定》要求“加強職業(yè)院校學生實踐能力和職業(yè)技能的培養(yǎng)”[1]?!稊?shù)據(jù)結(jié)構(gòu)》由于其課程地位的重要性,課程的實踐教學不能單純考慮課程本身,而必須綜合考慮多個方面進行。加強實踐,培養(yǎng)學生實踐操作技能是本課程教學重點,也是高職教學的重要環(huán)節(jié)。
5.1實踐教學內(nèi)容的設(shè)計。
教師要根據(jù)學校實際教學條件和本課程知識體系的特點,合理安排實踐內(nèi)容,合理選題,立足基本,以培養(yǎng)學生動手操作能力為主,既要鞏固課堂知識、拓寬知識面,又要培養(yǎng)學生的分析問題、解決問題的能力和創(chuàng)新能力。
5.1.1實驗課的題目安排要做到立足基本、分開層次、注意難易搭配。
至少要求學生完成以下模塊的實驗(基本實踐):①線性表操作;②棧和隊列的應(yīng)用;③二叉樹的操作;④圖的操作;⑤查找;⑥排序。例如在“線性表操作”實驗中,可以設(shè)置以下題目:(1)分別用數(shù)組和鏈表實現(xiàn)線性表的逆置;(2)分別用數(shù)組和循環(huán)單鏈表實現(xiàn)約瑟夫問題;(3)一元多項式的加法。通過這種分層教學法,學生可以根據(jù)自己掌握理論知識的實際情況,選擇做較難的還是稍易的題目,每一位學生都能夠上機編程,提高自己的動手操作能力。
5.1.2科學設(shè)置課程設(shè)計。
課程設(shè)計是《數(shù)據(jù)結(jié)構(gòu)》實驗教學中必不可少的一個重要環(huán)節(jié),它是學生對所學課程知識的綜合運用,能夠很好地培養(yǎng)學生全面、靈活的設(shè)計思想和較高的創(chuàng)新能力,加深學生對該課程所學內(nèi)容的進一步理解與鞏固[2]。因此如何科學地設(shè)置選題是本課程實踐教學的一個至關(guān)重要的環(huán)節(jié)。建議設(shè)置一些具有綜合性和專業(yè)性的題目,同時兼顧典型性、趣味性,比如:停車場管理、職工工資管理系統(tǒng)模擬、民航自動售票系統(tǒng)、舞伴匹配問題、類似記事本的文本編輯器、若干旅游城市的旅游線路選擇等。學生課程設(shè)計前至少提前一個月給學生布置下去,供學生選擇,給他們較充分的時間去思考、查閱資料、論證可行性,在可行的基礎(chǔ)上編寫程序,準備到機房實踐驗證,避免杜絕學生為了應(yīng)付檢查而出現(xiàn)“抄襲、拷貝”現(xiàn)象。課程設(shè)計對教師而言不是給出一個或若干選題就是任務(wù)完成,而要自始至終貫穿整個實踐環(huán)節(jié)。
5.1.3實踐題目形式的設(shè)計。
對于實踐環(huán)節(jié),傳統(tǒng)的題目無論實驗還是課程設(shè)計往往是給出文字敘述的題目和一些測試數(shù)據(jù),就由學生去完成,通常再由教師給予一定的指導。但事實上,實踐環(huán)節(jié)的題目形式應(yīng)該是可以多樣化的。筆者曾做過一些探索嘗試:①借鑒全國計算機三級考試上機考試的形式,除了給出文字敘述以外,還給出大部分程序,要求學生完成實現(xiàn)某個功能的函數(shù);②借鑒程序員考試除給出文字敘述以外,還給出基本完善的程序,缺少若干語句,要求學生進行語句填空;③除了給出文字敘述以外還給出一個基本完成的程序,但包含若干細小的錯誤,要求學生根據(jù)測試數(shù)據(jù)測試情況進行排錯。其中③能夠更好地考查學生的能力,也更加適合高職學生的能力實踐,因為高職計算機專業(yè)學生就業(yè)目標之一就是成為軟件測試員。
5.2開設(shè)《數(shù)據(jù)結(jié)構(gòu)》興趣小組,培養(yǎng)學生的團隊協(xié)作精神。
培養(yǎng)學生的學習熱情,無論是理論教學還是實踐教學對學生的學習都非常重要,而在《數(shù)據(jù)結(jié)構(gòu)》實踐教學中作用尤為突出。教師可開設(shè)興趣小組,鼓勵一些能力突出的學生利用“數(shù)據(jù)結(jié)構(gòu)”理論,結(jié)合相關(guān)的軟件工程的知識,針對一些特定的課題或者具有實際市場價值的系統(tǒng)項目進行相關(guān)研究,這樣一方面可以激發(fā)學生的學習興趣,增強學生的編程能力、系統(tǒng)分析能力和科學創(chuàng)新能力,另一方面可以培養(yǎng)學生的團隊協(xié)作精神。此項工作可以借助微機協(xié)會的指導或者和學校競賽輔導小組相輔相成,經(jīng)過嘗試可以發(fā)現(xiàn):①小組的成員往往能夠領(lǐng)先完成每次實驗的內(nèi)容,以他們?yōu)楹诵模車膶W生也基本能夠順利完成實驗。②通過研究趣味性的題目,小組成員常常進行討論,有時組員依次發(fā)言,就自己所研究的問題、所得到的收獲、所想到的解題思路進行闡述,并指出自己選擇這種解決方案的原因,通過相互討論,并由實踐指導教師進行點評,指出方案中的優(yōu)點、不足和需要改進的方法,小組成員感覺到這種方法能夠?qū)W以致用,學習積極性大大提高,雖然興趣小組開發(fā)不了大型的或者實用的程序,但經(jīng)過教師指導,小組成員普遍反映這種方式既加深了對數(shù)據(jù)結(jié)構(gòu)知識的理解,又增加了開發(fā)經(jīng)驗,獲益匪淺。③在實踐環(huán)節(jié)的課程設(shè)計過程中,尤其對應(yīng)后面涉及的幾個較大的題目,學生既可以借助興趣小組的概念,又可以自由組合,甚至由教師指定分組,以小組的形式共同實現(xiàn)它們。教師要以培養(yǎng)學生的動手操作能力和團隊協(xié)作精神為目的,鼓勵學生互相溝通、共同探討、共同參與,發(fā)揮各自的優(yōu)勢,達到共同提高的目的;同時要指導學生相互分工合作,從功能分割模塊到模塊間參數(shù)傳遞,乃至綜合測試等都要給予學生必要的指導。指定分組的情況往往是:基于學生中實踐動手能力有強弱的區(qū)分,分組務(wù)必使得每組學生中都有動手能力較強的學生,由他們負責所在小組的實驗,指定他們做一些實驗輔導工作,這樣變教師指導實踐為學生指導實踐,能夠充分調(diào)動學生參加實踐的積極性。通過相互合作學生不僅得到了互相學習的機會,而且激發(fā)了學習熱情,培養(yǎng)了團隊協(xié)作精神,為以后的實際工作打下良好的基礎(chǔ)。
因此,開設(shè)“數(shù)據(jù)結(jié)構(gòu)”興趣小組,解決一些特定課題或者實際生活中的問題是一項很有意義的嘗試。
5.3實踐教學方法及過程管理的改進。
5.3.1以學生為主體,加強教師在實踐教學中的主導作用。
改革實踐教學方法就是要注重學生是主體,通過對學生的系統(tǒng)引導,充分調(diào)動他們獲取知識的積極性和主動性,增強他們的能力,提高學生的素質(zhì)。實踐是整個教學過程中的一個重要環(huán)節(jié),實踐教學的方法直接影響著學生對實踐的態(tài)度,也影響著他們的動手能力、創(chuàng)新意識的培養(yǎng)。
5.3.2學生實踐過程的組織和管理。
根據(jù)《數(shù)據(jù)結(jié)構(gòu)》課程的特點,我們可以采取范例演示、獨立實踐與分組實踐及上述三種方式交叉出現(xiàn)等多種形式進行實踐活動?;诂F(xiàn)有條件和培養(yǎng)團隊精神的角度出發(fā),我們可以對實驗采用獨立實踐,課程設(shè)計采用分組實踐來組織實施實踐教學活動,一方面所有的學生都能夠按照基本要求掌握數(shù)據(jù)結(jié)構(gòu)必需的基本操作,另一方面學生通過分組可以相互學習、相互討論切磋,提出一個最優(yōu)方案后再實施,從而加強學生之間相互溝通和合作精神,為將來從事IT業(yè)需要群體合作的工作打好一定的溝通基礎(chǔ)。
教師要以學生為主體,改變自己在教學環(huán)節(jié)中作用,有針對性地選擇學習內(nèi)容,不再“滿堂灌”,進行共性化與個性化相結(jié)合的教學。
5.4改革考試方式,加強實驗考核。
傳統(tǒng)的考核方式多是閉卷筆試,對于實踐性很強的《數(shù)據(jù)結(jié)構(gòu)》這一課程,單純用筆試已經(jīng)很難準確和完整衡量一個學生的知識水平和運用能力,必須通過實踐操作、上機考核,才能真實反映學生所掌握知識技能。對于高職生,我們應(yīng)該著重考核學生綜合運用所學知識、解決實際問題的能力,促進學生個性與能力的全面發(fā)展。因此,筆者從有利于學生掌握知識,鞏固所學內(nèi)容,提高能力和素質(zhì)的目的出發(fā),對《數(shù)據(jù)結(jié)構(gòu)》的考核采取了一系列的措施,并在城職院許可的范圍內(nèi)進行了一些考試改革的嘗試,強調(diào)實驗考核的重要性。具體做法是:每次實驗課結(jié)束后要求學生填寫實驗報告,包括實驗?zāi)康?、實驗?nèi)容、詳細設(shè)計、實驗結(jié)果和實驗體會。此外,對考試分數(shù)的分配也進行了重新調(diào)整,上機實驗和平時作業(yè)占總成績的20%,課程設(shè)計占總成績的20%,期末考試占總成績的60%。筆者通過加大上機實驗和課程設(shè)計的分值,有效地調(diào)動了學生的學習積極性,達到了督促學生勤動手、多思考的目的。
6.結(jié)語
總之,對于高職高專《數(shù)據(jù)結(jié)構(gòu)》課程的實踐教學,我們應(yīng)不斷探索教學方法策略,使學生通過數(shù)據(jù)結(jié)構(gòu)的實踐,提高分析問題、解決問題的能力。只要我們思想上重視實踐環(huán)節(jié)的教學,提高自身實踐教學的能力,采用合理的教學方法,“數(shù)據(jù)結(jié)構(gòu)”課程的實踐教學必將取得良好的效果。
參考文獻:
[1]國務(wù)院.關(guān)于大力發(fā)展職業(yè)教育的決定.國發(fā)[2005]35號,2005,11,09.
[2]王宗亮.高職高專計算機專業(yè)課程教學探索與實踐.廣東水利電力職業(yè)技術(shù)學院學報,2005,9.
[3]嚴蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語言版)[M].北京:清華大學出版社,1997.
[4]許樂平.數(shù)據(jù)結(jié)構(gòu)——C++描述[M].北京:中央廣播電視大學出版社,2006.