摘要:《數(shù)據(jù)結(jié)構(gòu)》課程是計算機專業(yè)的核心課程。針對該課程內(nèi)容繁雜、抽象,課時少以及學生怕學、教師難教的特點,在教學中采用目標教學法,使教師和學生有統(tǒng)一的目標要求,讓教師教有方向,學生學有目標,提高學生學習興趣和激發(fā)學生的學習動機,進而收到好的教學效果。
關(guān)鍵詞:目標教學法;數(shù)據(jù)結(jié)構(gòu);教學目標
《數(shù)據(jù)結(jié)構(gòu)》是計算機專業(yè)的核心課程之一,在專業(yè)課程體系中起著承上啟下的作用。學好該課程對計算機專業(yè)學生來講極為重要。但學生普遍反映《數(shù)據(jù)結(jié)構(gòu)》內(nèi)容枯燥乏味、抽象、復(fù)雜繁瑣,不知道要學什么,怎么學,學了有什么用處,學起來沒有興趣。同時,許多教師也認為該課程內(nèi)容多、抽象,課時少,經(jīng)常是臨近期末只能“草草收兵”。經(jīng)過多年的嘗試,筆者發(fā)現(xiàn),目標教學法比較適合數(shù)據(jù)結(jié)構(gòu)這門課的教學。目標教學法是在教學過程中以教學目標為核心,要求學生在學科學習中通過自學,分析、判斷、綜合、歸納、概括等多種形式的智力活動,進行積極的探索、發(fā)現(xiàn)和體驗的一種教學方法。運用目標教學法,要求教師課前科學正確地擬定教學目標,教學過程中教師與學生的一系列活動以教學目標為綱,最后以教學目標為準則測評教學效果,并對照目標矯正教學中的不足。實踐證明,采用目標教學法不僅能克服教師上課的隨意性,做到有的放矢,使學生學有目標、聽有方向,激發(fā)學生的學習興趣及積極性,還能解決內(nèi)容多、課時少的問題。
目標教學法的基本結(jié)構(gòu)
樹標樹標即制定及展示目標。學生在課時教學目標的引導(dǎo)下,認真閱讀教材,閱讀時做到邊看邊思考,并標出自己認為重要的內(nèi)容,從而使學生初步看清教材的層次,理出教材的重點。
析標析標即分析歸納,概括總結(jié)。是指在閱讀教材的基礎(chǔ)上,學生在教師的指導(dǎo)下將教材的內(nèi)容通過分析、歸納、總結(jié)、概括,濃縮成一些簡明扼要的書面語言。析標是目標教學法的重點和難點。
拓標拓標即深入思考,擴展提高。主要是對教材中與濃縮的內(nèi)容密切相關(guān)的知識點的展現(xiàn)與強調(diào),以加深學生對教材基本知識的理解,使學生學會用已學過的知識解決問題的能力。
結(jié)標結(jié)標即聯(lián)系實際,啟迪創(chuàng)新。學生在教師的啟發(fā)和誘導(dǎo)下,結(jié)合實際問題,編寫出程序,并上機實現(xiàn)。結(jié)標是數(shù)據(jù)結(jié)構(gòu)教學中理論聯(lián)系實際原則在課堂教學中的具體體現(xiàn),也是學生應(yīng)用數(shù)據(jù)結(jié)構(gòu)的知識解決實際問題的直接體現(xiàn)。
目標教學法在《數(shù)據(jù)結(jié)構(gòu)》
教學中的應(yīng)用
(一)樹標的教學應(yīng)用
分析學習任務(wù),確定總目標學生學習《數(shù)據(jù)結(jié)構(gòu)》的目的是了解計算機處理對象的特性,能從現(xiàn)實世界的問題中抽象出適當?shù)臄?shù)學模型,然后以合適的數(shù)據(jù)結(jié)構(gòu)在計算機內(nèi)表示,并設(shè)計一個針對此數(shù)學模型的算法進行編程調(diào)試,獲得問題的解決。所以該門課程教學的主線是引導(dǎo)學生學會從問題入手,分析和研究計算機加工處理數(shù)據(jù)結(jié)構(gòu)的特性,使學生能夠為他們應(yīng)用的數(shù)據(jù)選擇適當?shù)倪壿嫿Y(jié)構(gòu)、存儲結(jié)構(gòu)及其相應(yīng)的操作算法,并初步掌握算法的性能分析技術(shù)。為實現(xiàn)解決問題為主要目的的教學目標,教學任務(wù)的設(shè)計應(yīng)把原來以知識掌握為線索的設(shè)計改變?yōu)橐越鉀Q問題為主線索的設(shè)計,這要求教師精心篩選和設(shè)計各教學單元的實驗課題、實驗內(nèi)容及實驗要求,在開課時打印在紙上或以電子文檔的形式發(fā)給學生,這樣有明顯的導(dǎo)向意義。學生帶著問題學習,學習目標會更加明確和具體。
回顧舊知識,預(yù)習新知識數(shù)組、指針、函數(shù)、結(jié)構(gòu)體、鏈表等是數(shù)據(jù)結(jié)構(gòu)用來解決問題的主要知識,而這些又是C語言的難點,所以學生對C語言的掌握程度直接影響著數(shù)據(jù)結(jié)構(gòu)的教學效果。因此,教師在講授《數(shù)據(jù)結(jié)構(gòu)》時,對將要用到的C語言知識應(yīng)采用提問或簡述的方式,對這些知識的定義、特點及應(yīng)用的方式進行有針對性的復(fù)習、鞏固并強化學生的理解,這對后面《數(shù)據(jù)結(jié)構(gòu)》的學習可起到事半功倍的效果。另外,為了解決課時少的問題及更好地提高教學效果,可以在本節(jié)課結(jié)束前把下節(jié)課的學習目標展示給學生,即向?qū)W生展示課時目標,使學生在課前有充裕的時間進行預(yù)習和自學,預(yù)習時要求學生做到“眼到、心到、手到”,并用鉛筆標出教材中的重點。在展示教學目標時,應(yīng)盡量少用“掌握、理解、了解”等模糊詞語,避免學生反感及不便于矯正,而應(yīng)在吃透課時教學目標的基礎(chǔ)上,將各知識點轉(zhuǎn)換為合理的、符合各層次課時目標要求的問題。這種通過解決問題來達到學習目標的方式將會取得更好的效果。
(二)析標的教學應(yīng)用
檢測學生自學此環(huán)節(jié)首先讓學生解答展示目標中提出的問題,在此過程中鼓勵學生之間的協(xié)作與討論。與此同時教師板書提示性筆記,筆記主要是目標教學法中的濃縮語言和擴展部分的知識點,是課時教學的重點,是教學內(nèi)容的集萃,又是對學生進行當堂訓練和檢測的試題,還是學生的部分課后作業(yè)。
點撥精講,釋疑解難在學生對教材內(nèi)容有基本了解的基礎(chǔ)上,教師要合理地講解教學內(nèi)容,去粗求精,去同求異,精講重點難點,對不好理解的抽象的內(nèi)容和不易掌握的算法等難點,要對癥下藥,深入討論,使學生不但知其然,且知其所以然。這當中,應(yīng)適時利用現(xiàn)代多媒體教學手段,以生動形象,靈活、高密度的方式把知識呈現(xiàn)給學生。同時還應(yīng)注意引導(dǎo)學生去分析問題,抓住本質(zhì),組織數(shù)據(jù),設(shè)計算法,解決問題,要求學生能舉一反三,觸類旁通,初步培養(yǎng)學生解決問題的能力。如結(jié)合教材中經(jīng)典的算法,要求學生結(jié)合實際問題把算法改寫成程序。
(三)拓標的教學應(yīng)用
學生獨立思考,完成擴展此環(huán)節(jié)主要培養(yǎng)學生應(yīng)用教材中學到的知識解決實際問題的綜合能力。可利用問題驅(qū)動的方式,由教師合理設(shè)置問題,問題力爭與教材中的重點難點、實用知識以及實際生活緊密貼合,要求學生用已學過的知識思考解答,并完成從算法到程序的課業(yè)。此過程中教師要適當引導(dǎo)學生掌握分析問題和解決問題的能力,在解決問題的過程中鞏固知識,加深對重要知識的理解,從而達到教學目標。如學習線性表時,要求學生用順序及鏈式兩種存儲方式建立他們所在班級學生的成績表,實現(xiàn)對成績的排序,查找給定條件的記錄,對記錄的插入、刪除等操作,要求編寫程序上機實現(xiàn)。編寫此程序,教材中已有一些算法,學生只要參照修改即可,無參照的算法教師可以提示或?qū)懗龊瘮?shù)的前半部分,其余由學生補上。此外,教師應(yīng)及時給學生總結(jié)解決問題(編寫程序)的方法和規(guī)律,要求學生記住一些典型的算法,如插入、刪除等,讓學生懂得編寫程序是有章可尋的。
師生討論,完成濃縮此環(huán)節(jié)進行知識的歸納與總結(jié),可采用教師與學生角色轉(zhuǎn)換法,或教師自問自答等方式提煉出各章節(jié)的共同點和銜接線索,對各類數(shù)據(jù)類型建立統(tǒng)一的一般的抽象模式,并分別討論各類數(shù)據(jù)類型獨自的特征和算法,在課程內(nèi)容間建立一種宏觀的聯(lián)系和銜接。按計算機處理的對象及教材知識,可將學生應(yīng)掌握的知識歸納為數(shù)據(jù)結(jié)構(gòu)知識簡表(見表1)。由表1可見,該課程主要研究三方面的內(nèi)容:邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)和算法,每種數(shù)據(jù)結(jié)構(gòu)(線性表、棧、隊列、樹、圖)都會涉及這三方面的內(nèi)容,每講一種新的數(shù)據(jù)結(jié)構(gòu)時都可以用這條主線來闡明其上三方面的內(nèi)容,這樣學生學起來就有系統(tǒng)性,容易把握。如從存儲結(jié)構(gòu)看,無論是線性表、樹,還是圖結(jié)構(gòu),最基本、最典型的存儲結(jié)構(gòu)有順序存儲和鏈式存儲,只要把這兩種存儲結(jié)構(gòu)掌握好了,整門課程的學習難度就不大了,只需對相關(guān)結(jié)構(gòu)的特點與操作進行相應(yīng)的歸納、總結(jié)與對比,找出其不同點就可以了。對于各種數(shù)據(jù)類型的算法基本上都是要求實現(xiàn)數(shù)據(jù)的創(chuàng)建(存儲)、插入、刪除、查找、替換、排序等操作,學生只要掌握了這些基本的算法,編寫程序就具備了一定的基礎(chǔ)。
(三)結(jié)標的教學應(yīng)用要點
為了使學生真正學好《數(shù)據(jù)結(jié)構(gòu)》,除了在課堂上要采用行之有效的教學方法外,還要讓學生多動手實踐。只有通過實踐才能發(fā)現(xiàn)“教”與“學”中存在的問題;才能使學生學會應(yīng)用所學的知識對實踐任務(wù)進行分析、抽象、建立與之相適應(yīng)的模型,使問題最終在計算機上得于實現(xiàn);才能便于教師實現(xiàn)目標測評,進一步指導(dǎo)學生完成學習目標??赏ㄟ^讓學生做作業(yè)和上機實驗的方式進行實踐。首先,要求學生不僅要做作業(yè),還要交作業(yè)。作業(yè)的布置要重質(zhì)量,重效益,重視由粗放型向集約型轉(zhuǎn)換。教師應(yīng)對學生交的作業(yè)進行全面檢查與批改,對出現(xiàn)的問題要及時總結(jié)、歸納、講評,并適當篩選部分問題作典型分析、討論、解決。其次,通過精心設(shè)計實驗課題,激發(fā)學生的學習積極性。針對教學目標,選擇有代表性、難度適中、綜合性強的典型“問題”作為實驗課題,以點帶面,使學生在面對實際問題時學會分析問題,設(shè)計解決方案,編程,上機調(diào)試。此類課題要循序漸進,由簡單到復(fù)雜,可分三步進行:(1)驗證型實驗。主要結(jié)合教材中的典型算法展開,把算法轉(zhuǎn)換為程序及課堂上已完成的程序;(2)應(yīng)用型實驗。這類實驗旨在培養(yǎng)學生的創(chuàng)新意識與能力。教師從實際應(yīng)用中精心選擇的實驗題目,由學生獨自或者分成小組,通過分析,編寫程序,上機調(diào)試完成;(3)課程設(shè)計。由教師布置綜合性的課題,或者由學生選擇自己感興趣的課題,要求每個學生獨立完成問題描述、需求分析、邏輯設(shè)計、詳細設(shè)計和編程到上機測試的實現(xiàn)過程,并作為必修課的一部分。為了便于測評是否達到教學目標和能及時采取補救措施,首先,在進行實驗過程中,教師應(yīng)深入學生當中,與他們進行雙向交流,針對學生在實驗中出現(xiàn)的錯誤,采用提示或設(shè)疑的方式,讓他們自己動腦糾正程序錯誤。其次,每次上機實驗時,要求學生填寫實驗記錄,記錄中要體現(xiàn)實驗者的思維過程,即實驗者是如何理解實驗的每一步的,該實驗的目的和原理是什么,關(guān)鍵在哪里,是否有更好的改進方法等,并要求附上源程序。這樣強調(diào)對實驗過程和實驗結(jié)果的討論,有利于培養(yǎng)學生發(fā)現(xiàn)問題、分析問題和解決問題的能力。實驗記錄由教師簽名并計分作為總成績的一部分,教師通過檢查學生的實驗記錄,了解本課時的教學效果,并及時對教學不足之處進行矯正和補償,對個別差生進行個體教學,使其跟上教學進度,完成學習目標。
總之,對于任何一門課程,所采用的教學方法都必須依據(jù)教學對象和具體的教學內(nèi)容,深鉆細研,靈活安排,巧妙結(jié)合,才能收到最佳的教學效果,進而實現(xiàn)教學目標。在《數(shù)據(jù)結(jié)構(gòu)》課程教學中,通過采用目標教學法,可克服教學中的盲目性和主觀隨意性,并且學生能以感知、聯(lián)想、對比、分析、判斷、綜合、概括等多種形式的智能活動積極參與學習,充分體現(xiàn)以能力為中心的高職教育特色。
參考文獻:
[1]徐炳文,楊育標.目標教學法:課堂教學模式探討[J].職業(yè)教育研究,2006,(8).
[2]鄧文華.數(shù)據(jù)結(jié)構(gòu)[M].北京:清華大學出版社,2007.
[3]余麗娟.數(shù)據(jù)結(jié)構(gòu)課程與學生邏輯思維能力的培養(yǎng)[J].職業(yè)教育研究,2008,(2).
[4]李紅宇.“任務(wù)驅(qū)動”法在數(shù)據(jù)結(jié)構(gòu)教學中的實踐[J].福建電腦,2007,(6).
[5]朱玉全.數(shù)據(jù)結(jié)構(gòu)教學中若干問題的探討[J].中國科教創(chuàng)新導(dǎo)刊,2008,(19).
作者簡介:
濮永仙(1976—),女,云南騰沖人,云南大學在讀計算機技術(shù)碩士,云南省德宏高等師范專科學校講師,主要從事計算機教育研究。