摘要:“數(shù)據(jù)結(jié)構(gòu)”是計算機(jī)專業(yè)學(xué)生的一門重要基礎(chǔ)課程,也是工作面試中的必要課程,因此它是一門十分重要的課程。但是由于該課程內(nèi)容抽象難懂,學(xué)生在學(xué)習(xí)過程中產(chǎn)生了難以理解、難以實(shí)踐的狀況。為了進(jìn)一步提高學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生的自主能動性,達(dá)到更好的教學(xué)效果,探討了問題驅(qū)動法在“數(shù)據(jù)結(jié)構(gòu)”教學(xué)中的應(yīng)用。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);教學(xué)方法;問題驅(qū)動法
中圖分類號:G642.0 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-0079(2014)23-0078-02
隨著互聯(lián)網(wǎng)的飛速發(fā)展,計算機(jī)應(yīng)用技術(shù)已經(jīng)滲透到社會生活中的各行各業(yè)。當(dāng)人們用計算機(jī)來解決實(shí)際問題時,就要考慮數(shù)據(jù)的表示和數(shù)據(jù)的處理,而“數(shù)據(jù)結(jié)構(gòu)”課程的主要研究對象就是數(shù)據(jù)表示和數(shù)據(jù)的處理。目前,“數(shù)據(jù)結(jié)構(gòu)”已經(jīng)成為高校計算機(jī)專業(yè)的重要基礎(chǔ)性課程。一方面學(xué)生通過學(xué)習(xí)“數(shù)據(jù)結(jié)構(gòu)”課程擴(kuò)大和加深了從離散數(shù)學(xué)、編程語言獲得的方法與技術(shù);另一方面扎實(shí)掌握“數(shù)據(jù)結(jié)構(gòu)”課程內(nèi)容也為“操作系統(tǒng)”“高級編程”“算法設(shè)計”以及“軟件工程”等課程的學(xué)習(xí)打下了堅實(shí)的基礎(chǔ)。
由于“數(shù)據(jù)結(jié)構(gòu)”課程具有較強(qiáng)的理論性,傳統(tǒng)的授課模式和方法不能達(dá)到教學(xué)目的。許多學(xué)生在學(xué)習(xí)“數(shù)據(jù)結(jié)構(gòu)”課程時會認(rèn)為乏味無趣,無法領(lǐng)會該課程的學(xué)習(xí)目的,最終導(dǎo)致學(xué)生的學(xué)習(xí)效果不理想。針對上述問題,本文提出問題驅(qū)動法來彌補(bǔ)“數(shù)據(jù)結(jié)構(gòu)”教學(xué)中的弊端。
一、研究學(xué)生心理,強(qiáng)調(diào)問題驅(qū)動式的教學(xué)
目前大部分高校都是使用C語言版的《數(shù)據(jù)結(jié)構(gòu)》教材,這就要求學(xué)生應(yīng)具備良好的C語言基礎(chǔ)。很多高校的C語言教學(xué)還處于應(yīng)試教學(xué)模式,并不重視學(xué)生程序設(shè)計能力的培養(yǎng),僅僅通過課堂上教師的講解,沒有學(xué)生實(shí)際的練習(xí)操作,他們對諸如數(shù)組、結(jié)構(gòu)體、指針等數(shù)據(jù)類型仍缺乏認(rèn)識,也無法理解函數(shù)、函數(shù)的參數(shù)、函數(shù)的返回值、函數(shù)調(diào)用等知識點(diǎn),更無法明白遞歸及遞歸過程。但是這些知識點(diǎn)在“數(shù)據(jù)結(jié)構(gòu)”課程中的使用頻率很高,[2]是該課程的重要基礎(chǔ)。而在“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)中,盡管教師在課堂上不厭其煩的講解,但學(xué)生無法真正理解,導(dǎo)致教學(xué)質(zhì)量不高,學(xué)生對數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)興趣也大大減弱。[3,4]
針對“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)中存在的上述問題,本文提出問題驅(qū)動式教學(xué)模式。問題驅(qū)動法不同于其他教學(xué)方式,是一種基于建設(shè)性教學(xué)理論的教學(xué)模式。這種建設(shè)性教育理論如下:學(xué)生的學(xué)習(xí)動力來源于有待解決的問題,教師的職責(zé)是幫助學(xué)生探索問題,引導(dǎo)他們找到問題的解決方法;然后學(xué)生通過教師的指導(dǎo)以及與同學(xué)間的討論解決問題。在實(shí)際應(yīng)用中,本文從程序設(shè)計師的視角對數(shù)據(jù)結(jié)構(gòu)進(jìn)行討論,以問題為驅(qū)動,以應(yīng)用為目的,對于每一種數(shù)據(jù)結(jié)構(gòu)發(fā)展邏輯、表示方式進(jìn)行解析,生動具體地演繹其中的內(nèi)涵和道理。在具體實(shí)施時,應(yīng)著重注意怎樣將想法轉(zhuǎn)換為設(shè)計,將設(shè)計轉(zhuǎn)換為具體程序,將數(shù)據(jù)結(jié)構(gòu)應(yīng)用在實(shí)際程序設(shè)計中,從而幫助學(xué)生化抽象為具體,降低學(xué)習(xí)難度,提高學(xué)習(xí)興趣。以圖書館查閱系統(tǒng)為例,學(xué)生可以如何檢索所需書籍為引導(dǎo),教師詢問學(xué)生實(shí)際程序設(shè)計解決檢索問題時用到哪些數(shù)據(jù)結(jié)構(gòu),討論使用哪種數(shù)據(jù)結(jié)構(gòu)更好。本著由簡單到縝密的思路,可以先不用任何數(shù)據(jù)結(jié)構(gòu),會發(fā)現(xiàn)無法構(gòu)建檢索模塊;之后采用常用的數(shù)據(jù)結(jié)構(gòu),會發(fā)現(xiàn)雖然可以構(gòu)建檢索模塊,但是效率非常低;最后可以引導(dǎo)構(gòu)建更為精巧的矢量結(jié)構(gòu)、樹結(jié)構(gòu)、索引表、哈希表結(jié)構(gòu)等。這樣,圍繞一個問題來實(shí)現(xiàn)程序設(shè)計,涉及到一系列的數(shù)據(jù)結(jié)構(gòu),從而讓學(xué)生感受到各種數(shù)據(jù)結(jié)構(gòu)不是憑空出現(xiàn)的,而是由于問題驅(qū)動經(jīng)過邏輯上的逐步推理而得來的,從而幫助學(xué)生更加深入有趣地學(xué)習(xí)掌握數(shù)據(jù)結(jié)構(gòu)。
問題驅(qū)動式教學(xué)模式不僅增加了學(xué)生在學(xué)習(xí)過程中的理解、記憶和推理等思維活動,還增強(qiáng)了學(xué)習(xí)的指向性,學(xué)生通過查閱資料探索問題。這種教學(xué)模式體現(xiàn)了以學(xué)生為主體、教師為主導(dǎo)的教學(xué)理念。在整個教學(xué)過程中強(qiáng)調(diào)學(xué)生的主體性,意在激發(fā)學(xué)生在學(xué)習(xí)過程中主動性、積極性和創(chuàng)造性,教師起著組織、引導(dǎo)、促進(jìn)的作用。同時,學(xué)生是整個知識構(gòu)建過程的組織者,通過主動、有目的地獲取學(xué)習(xí)資料來實(shí)現(xiàn)學(xué)習(xí)的目標(biāo)和任務(wù)。問題驅(qū)動法的關(guān)鍵是問題的設(shè)計,明確的問題有利于學(xué)生完成最終的學(xué)習(xí)任務(wù),為此問題驅(qū)動法在實(shí)施過程中,要求教師必須根據(jù)課程內(nèi)容、學(xué)生的認(rèn)知能力和實(shí)際情況提出問題,以解決問題的方式引導(dǎo)學(xué)生主動學(xué)習(xí)和思考;教師設(shè)計的問題既要包括課程的主要知識點(diǎn),又要循序漸進(jìn);同時教師要不斷鼓勵學(xué)生大膽嘗試,激發(fā)他們的發(fā)散性思維。
二、建立起自主探索與協(xié)作的實(shí)踐環(huán)節(jié)
問題驅(qū)動式學(xué)習(xí)旨在通過獨(dú)立分析和解決問題的過程來培養(yǎng)學(xué)生自主學(xué)習(xí)能力以及解決具體問題時的協(xié)作學(xué)習(xí)的能力。所謂的自主學(xué)習(xí),就是以學(xué)生作為學(xué)習(xí)的主體,通過學(xué)生自己的努力,自覺、主動、積極地獲取知識。它要求學(xué)生在學(xué)習(xí)過程中獨(dú)立地分析、探索、實(shí)踐,充分發(fā)揮自身主動性,根據(jù)自身行動的反饋信息來形成對客觀事物的認(rèn)識和解決實(shí)際問題的方法。協(xié)作學(xué)習(xí)是在自主學(xué)習(xí)的基礎(chǔ)上,通過小組協(xié)商討論的形式,進(jìn)一步加深對知識的理解和認(rèn)識。學(xué)生通過協(xié)作學(xué)習(xí),可以看到問題的不同側(cè)面和解決方案,拓寬了學(xué)生解決問題的思路,對知識點(diǎn)也會有新的認(rèn)識與理解。
在數(shù)據(jù)結(jié)構(gòu)的實(shí)驗教學(xué)部分,重點(diǎn)培養(yǎng)學(xué)生自主學(xué)習(xí)與協(xié)作學(xué)習(xí)相結(jié)合的能力,具體實(shí)施時將實(shí)驗題目設(shè)計為必做題目和選做題目。教師制定必做題目,可以有目的的幫助學(xué)生夯實(shí)基礎(chǔ)知識。教師在制定實(shí)驗題目時應(yīng)注意以下幾個方面:一是選用難易適當(dāng)?shù)念}目,通過該題目,學(xué)生能夠較容易地理解和掌握數(shù)據(jù)結(jié)構(gòu)的基本理論與方法;二是題目要緊貼學(xué)生的日常生活和學(xué)習(xí),有助于激發(fā)學(xué)生的學(xué)習(xí)興趣,調(diào)動他們的積極性;三是題目要充分應(yīng)用到理論知識點(diǎn),理論與實(shí)踐相結(jié)合,真正達(dá)到學(xué)以致用,增強(qiáng)學(xué)生的實(shí)踐能力,激發(fā)他們潛在的學(xué)習(xí)興趣。這種問題驅(qū)動式的教學(xué)方式,不僅激發(fā)了學(xué)生自主求知的欲望,而且讓學(xué)生也體會到了實(shí)驗成功的喜悅。選做題目注重培養(yǎng)學(xué)生的實(shí)踐操作能力以及創(chuàng)新思維。在此階段教師以“導(dǎo)師”的身份出現(xiàn),學(xué)生充分發(fā)揮主體作用,變過去“被動”學(xué)習(xí)為“主動”學(xué)習(xí),在教師的指導(dǎo)和幫助下,主動搜集和查閱一些參考書、網(wǎng)絡(luò)學(xué)習(xí)資源,通過自主探索和協(xié)作學(xué)習(xí)找出解決問題的方法,提高自主學(xué)習(xí)能力。當(dāng)學(xué)生在解決問題時,可自由組合成組,2~3人適宜,明確分工,發(fā)揮各自長處,協(xié)作完成學(xué)習(xí)任務(wù)。教師對整個組的進(jìn)程進(jìn)行跟進(jìn)指導(dǎo)。小組可以定期開小組會議,大家圍繞一個主題展開討論,取長補(bǔ)短,充分發(fā)揮共同學(xué)習(xí)、協(xié)作的精神,共同完成任務(wù)。所有題目采取一組一題制,避免抄襲。由此一來,學(xué)生在問題驅(qū)動的環(huán)境下,將生硬的課程知識生動具體的應(yīng)用到實(shí)際項目中,進(jìn)而對數(shù)據(jù)結(jié)構(gòu)中的重難點(diǎn)知識進(jìn)一步完善和重構(gòu),有效提升了自身的實(shí)踐操作能力。
三、建立起公平的實(shí)驗評價環(huán)節(jié)
教師對學(xué)生的實(shí)驗結(jié)果給出正確的評價,同時在實(shí)驗結(jié)果的基礎(chǔ)上擴(kuò)展縱向或橫向思維,拓寬學(xué)生的思路,激發(fā)學(xué)生對數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)興趣和競爭意識。在課程中,以小組為單位來完成實(shí)驗,然后大家交流心得,相互點(diǎn)評。評價的標(biāo)準(zhǔn)如下:一是在實(shí)驗中反映出學(xué)生對數(shù)據(jù)結(jié)構(gòu)知識點(diǎn)的掌握應(yīng)用情況;二是小組內(nèi)部成員的合作溝通能力;三是學(xué)生自主學(xué)習(xí)能力;四是學(xué)生的創(chuàng)新能力等。當(dāng)要求學(xué)生在大家面前展示自己的實(shí)驗結(jié)果時,他們往往會完成的更好,細(xì)枝末節(jié)的問題也會考慮到。與此同時,同學(xué)間的相互交流能夠集思廣益,取長補(bǔ)短。通過實(shí)踐證明,公平的實(shí)驗評價環(huán)節(jié)是有效的、很有必要的,能鞏固知識、完善結(jié)構(gòu)、開闊思路。
四、建立相配套的評分機(jī)制
隨著教學(xué)環(huán)境和社會環(huán)境的改變,考核體系也由傳統(tǒng)的卷面模式轉(zhuǎn)變?yōu)槔碚摵蛯?shí)踐相結(jié)合的模式,這樣才能全面、客觀、公平的考核學(xué)生學(xué)習(xí)該課程的水平。從兩方面對“數(shù)據(jù)結(jié)構(gòu)”課程進(jìn)行考核:一是對該課程的理論知識點(diǎn)的考核。該考核主要針對理論知識的學(xué)習(xí),采用卷面的方式。二是對學(xué)生實(shí)踐能力的考察。該考核既注重學(xué)習(xí)的結(jié)果,也注重學(xué)習(xí)的過程和態(tài)度。因此對于實(shí)踐能力的考核,沿著設(shè)計思路、代碼的編寫、實(shí)驗時遇到的問題以及如何解決等線路進(jìn)行,采取面對面交流的方式進(jìn)行考核。
理論是實(shí)踐的基礎(chǔ),實(shí)踐檢驗并補(bǔ)充理論。采取上述評分機(jī)制促使學(xué)生理論實(shí)踐兩手都要抓,激勵學(xué)生靈活運(yùn)用所學(xué)的知識。另外,該評分機(jī)制既可以考察出學(xué)生的真實(shí)水平和能力,又有效地杜絕了少數(shù)學(xué)生的抄襲行為,更有助于推進(jìn)教學(xué)質(zhì)量的提高,激發(fā)了學(xué)生學(xué)習(xí)的積極性和主動性。
五、結(jié)語
將問題驅(qū)動教學(xué)法應(yīng)用到“數(shù)據(jù)結(jié)構(gòu)”教學(xué)中,通過與算法的適度分離和與程序設(shè)計的更加靠近,將數(shù)據(jù)結(jié)構(gòu)的功能、程序設(shè)計實(shí)現(xiàn)和具體應(yīng)用植入到學(xué)生的頭腦中,以使學(xué)生能夠使用各種數(shù)據(jù)結(jié)構(gòu)來編寫出真實(shí)有用的程序和軟件,從而提高學(xué)生的實(shí)戰(zhàn)能力。
參考文獻(xiàn):
[1]鹿旸.數(shù)據(jù)結(jié)構(gòu)與算法課程教學(xué)方法的思考[J].計算機(jī)教育,
2010,(5):88-90.
[2]范莉麗,彭濤.基于C語言的數(shù)據(jù)結(jié)構(gòu)教學(xué)技巧[J].計算機(jī)教育,2011,(18):61-64.
[3]游琪.項目驅(qū)動在數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)中的應(yīng)用研究[J].軟件導(dǎo)刊,2010,(9):187-188.
[4]案例驅(qū)動法在《數(shù)據(jù)結(jié)構(gòu)》教學(xué)中的應(yīng)用[J].電腦知識與技術(shù),
2010,(6):7322-7323.
(責(zé)任編輯:孫晴)