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