姚婷婷
【摘要】本文分析了《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)過程中存在問題的原因。并根據(jù)分析結(jié)果有針對性地提出了開發(fā)基于基于Flash動畫演示的《數(shù)據(jù)結(jié)構(gòu)》在線開放教學(xué)資源的解決方案。
【關(guān)鍵詞】《數(shù)據(jù)結(jié)構(gòu)》 ?Flash動畫 ?教學(xué)資源建設(shè)
【中圖分類號】G64 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 【文獻標(biāo)識碼】A ? ? ?【文章編號】2095-3089(2015)11-0041-01
《數(shù)據(jù)結(jié)構(gòu)》是計算機專業(yè)的重要專業(yè)基礎(chǔ)課,在整個計算機專業(yè)課程體系中處于承上啟下的核心地位。該課程試圖讓學(xué)生深刻理解數(shù)據(jù)在計算機內(nèi)的表現(xiàn)、存儲形式以及操作模式,進而讓學(xué)生掌握如何利用計算機解決一些簡單的實際問題(排序、尋找最短路徑等)。通過該課程的學(xué)習(xí),學(xué)生將深刻理解數(shù)據(jù)在計算機內(nèi)部表示以及相關(guān)操作,邏輯思維能力以及分析解決問題的能力進一步加強。該課程的最優(yōu)結(jié)果是,學(xué)生能夠?qū)ΜF(xiàn)實社會中的問題進行分析,根據(jù)自身對待解決問題和計算機內(nèi)部運行機制的理解就該問題進行計算機內(nèi)部建模。
但一直以來,《數(shù)據(jù)結(jié)構(gòu)》是歷屆計算機專業(yè)學(xué)生反映最難聽懂的課程之一。從本校該課程考試成績的統(tǒng)計結(jié)果來看,及格率在55%到65%之間徘徊,優(yōu)秀率基本都在個位數(shù)。從該課程在整個課程體系中的地位來看,《數(shù)據(jù)結(jié)構(gòu)》將是各種操作型軟件平臺以及程序開發(fā)類平臺的重要基礎(chǔ),對學(xué)生的專業(yè)可塑度將有深遠影響。鑒于上述情況,計算機專業(yè)教師試圖從教學(xué)方法和手段、教學(xué)資源等幾個方面做了諸多教學(xué)改革的嘗試,收到了一定的效果,但本課題組認(rèn)為隨著隨著多媒體技術(shù)的不斷推陳出新,《數(shù)據(jù)結(jié)構(gòu)》這門課程的教學(xué)改革也不能停止向前探索。
基于多年一線《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)經(jīng)驗可知,學(xué)生學(xué)習(xí)《數(shù)據(jù)結(jié)構(gòu)》的難點分為兩個部分。
第一部分是邏輯層面的內(nèi)容。即學(xué)生需要理解數(shù)據(jù)在計算機內(nèi)部的常用表現(xiàn)和組織形式,這一部分可以完全脫離先導(dǎo)語言層面來教學(xué)。然而,從認(rèn)知規(guī)律來講,這部分的難點在于學(xué)生從未接觸甚至想象過關(guān)于數(shù)據(jù)在計算機內(nèi)部的組織形式問題(工程化的問題)。這是因為計算機運轉(zhuǎn)時內(nèi)存于用戶是一個無法觀察的黑匣子,人們對它的詳細運作一無所知。因此,本文認(rèn)為,可以試圖通過簡潔而直觀的畫面引導(dǎo)學(xué)生逐步接受計算機內(nèi)部數(shù)據(jù)組織形式,以期從根本上降低《數(shù)據(jù)結(jié)構(gòu)》課程理解的抽象程度。所以,計劃編制一套flash動畫集,該動畫集將解決學(xué)生對計算機內(nèi)存中的數(shù)據(jù)組織、數(shù)據(jù)操作沒有直觀印象的難點。學(xué)生在腦海里面有了連續(xù)的動畫畫面,便于學(xué)生透徹理解并掌握程序。
第二部分是利用先導(dǎo)程序語言表達程序邏輯的問題。在很多關(guān)于《數(shù)據(jù)結(jié)構(gòu)》課程的教改課題中都關(guān)注了先導(dǎo)程序語言的問題(尤其是C語言中結(jié)構(gòu)體、指針)。在那些教改課題中,都強調(diào)了先導(dǎo)程序語言問題對學(xué)?!稊?shù)據(jù)結(jié)構(gòu)》課程的重要性。然而本文發(fā)現(xiàn),在C語言掌握得比較好的學(xué)生也存在程序語言的表達的問題。仔細分析這種現(xiàn)象可以得出除了邏輯上的問題之外,還需要對使用程序語言的能力進一步強化的結(jié)論。針對這個問題,在編制的flash動畫中,將以循序漸進的方式將程序與內(nèi)存變化聯(lián)動。這樣,學(xué)生就能觀察程序控制著內(nèi)存中數(shù)據(jù)的變化過程,尤其是在復(fù)雜嵌套的循環(huán)過程中,內(nèi)存中的數(shù)據(jù)變化,將是引導(dǎo)學(xué)生理解每一句程序語言功能的深刻體驗。在《數(shù)據(jù)結(jié)構(gòu)》課程中,如果程序出錯,學(xué)生在邏輯清楚的前提下,觀看flash動畫觀察內(nèi)存隨著程序語句的變化而變化,這將是一個神奇的溫故知新、舉一反三的過程,將語言課中學(xué)習(xí)的規(guī)則完美表現(xiàn)《數(shù)據(jù)結(jié)構(gòu)》課程中的邏輯過程。
關(guān)于《數(shù)據(jù)結(jié)構(gòu)》課程改革的探索從來就沒有停止過。本課題組認(rèn)為先行者們的教學(xué)改革大致可以分為兩類:
第一類著眼于強調(diào)《數(shù)據(jù)結(jié)構(gòu)》課程與其先導(dǎo)語言課的關(guān)系,夯實語言基礎(chǔ)以便促進數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)。此類改革,調(diào)整附加學(xué)習(xí)先導(dǎo)語言課中與《數(shù)據(jù)結(jié)構(gòu)》聯(lián)系緊密的章節(jié)的內(nèi)容以及延長實踐時間。然而本課題組認(rèn)為,《數(shù)據(jù)結(jié)構(gòu)》課程并不是語言課程的延伸,應(yīng)該在先導(dǎo)語言課程里面所解決的問題,不應(yīng)該再次強調(diào);況且,夯實《數(shù)據(jù)結(jié)構(gòu)》課程的先導(dǎo)語言課的基礎(chǔ)也不能從根本上解決學(xué)生該門課程學(xué)校效果不好的問題——邏輯層面的問題未解決?!稊?shù)據(jù)結(jié)構(gòu)》課程的核心問題應(yīng)該是理解現(xiàn)實社會中的數(shù)據(jù)在計算機中的投影。所以,掌握現(xiàn)實數(shù)據(jù)在計算機的表現(xiàn)與組織形式,以及基于某種組織形式上的數(shù)據(jù)操作,才是重點。先導(dǎo)語言課只是一種具體語言外化形式,就如語言與思想之間的關(guān)系。正如,一個會寫漢字,會寫優(yōu)美句子的人,卻不一定能夠?qū)懗鼋Y(jié)構(gòu)嚴(yán)謹(jǐn),言之有物的文章是一個道理。
第二類可以歸納為面向CDIO的教學(xué)改革,即“構(gòu)思、設(shè)計、實現(xiàn)、運作”。它的指導(dǎo)思想是:以誠信、職業(yè)道德培養(yǎng)為基礎(chǔ),以工程設(shè)計任務(wù)為導(dǎo)向,以培養(yǎng)個體能力(包括終生學(xué)習(xí)能力和實踐能力)、團隊能力和系統(tǒng)的適應(yīng)于調(diào)控能力為主要目標(biāo),讓學(xué)生以主動的、實踐的、課程之間有聯(lián)系的方式學(xué)習(xí)工程。筆者認(rèn)為,該類方法以工程為驅(qū)動,培養(yǎng)學(xué)生的職業(yè)素養(yǎng)效果是不可詬病的。但,學(xué)生如果沒有經(jīng)過專業(yè)基礎(chǔ)的學(xué)習(xí),掌握必備的基礎(chǔ)知識和技能,是沒有辦法完成以工程為單位的學(xué)習(xí)目標(biāo)的。正如一個還走都走不穩(wěn)的孩子,你安排其去打醬油,任務(wù)雖小,但對于蹣跚學(xué)步的孩子,但太過于高大上而失去實際意義。
綜上,本文提出根據(jù)《數(shù)據(jù)結(jié)構(gòu)》課程自身特點,編制配有合理劇情的flash動畫,將數(shù)據(jù)在計算機內(nèi)部的表示、組織形式以及各經(jīng)典算法執(zhí)行的內(nèi)存改變透明化,讓學(xué)生在動畫劇情中直觀領(lǐng)會。通過這種方式,以期對學(xué)生的《數(shù)據(jù)結(jié)構(gòu)》學(xué)習(xí)過程有所幫助。
參考文獻:
[1] 顧春琴. 面向CDIO的《數(shù)據(jù)結(jié)構(gòu)》改革與實踐,現(xiàn)代計算機,2010.11.
[2] 宗瑜. 案例教學(xué)法與《數(shù)據(jù)結(jié)構(gòu)》教學(xué)改革,皖西學(xué)院學(xué)報,2009,04.
[3] 王森.《數(shù)據(jù)結(jié)構(gòu)》教學(xué)方法的研究,辦公自動化, 2011.06.
[4] 盛魁.高職數(shù)據(jù)結(jié)構(gòu)教學(xué)與實踐,凱里學(xué)院學(xué)報,2011.12.
[5] 杜作陽. 數(shù)據(jù)結(jié)構(gòu)教學(xué)改革的研究,高教論壇,2007.12.
[6] 李冬梅.“數(shù)據(jù)結(jié)構(gòu)”課程的教學(xué)改革和教材建設(shè),計算機教育, 2012.07.
[7] 謝麗麗.“C語言與數(shù)據(jù)結(jié)構(gòu)”課程的教學(xué)改革實踐,計算機教育,2009.04.
[8] 孟凡榮.計算思維在數(shù)據(jù)結(jié)構(gòu)中的時間探索,教育教學(xué)論壇,2015.3.