戴晶晶 夏宏雷
摘 要:《數(shù)據(jù)結(jié)構(gòu)》課程是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)一門專業(yè)基礎(chǔ)課程,是一門重要的核心課程。本文介紹了該課程目前的教學(xué)現(xiàn)狀,分析存在的問題并提出了解決方法。
關(guān)鍵字:數(shù)據(jù)結(jié)構(gòu);教學(xué)改革
Abstract:Data structure course is a professional basic course of computer science and technology, and it is very important. This paper focuses on the introduction of the current teaching situation, analysis the existing problem and provides methods to work out the existing problems.
Keywords:Data Structure; Educational Reform
數(shù)據(jù)結(jié)構(gòu)作為一門計(jì)算機(jī)專業(yè)的專業(yè)基礎(chǔ)課,在整個(gè)計(jì)算機(jī)課程的學(xué)習(xí)過程中起著重要的作用,是多數(shù)專業(yè)課程的先導(dǎo)課程,是學(xué)生學(xué)習(xí)程序設(shè)計(jì)的入門課程[1]。
1 教學(xué)現(xiàn)狀以及存在的問題
數(shù)據(jù)結(jié)構(gòu)是一門理論和實(shí)踐并重的課程,對(duì)于C語言的編程能力也有一定的要求。由于該課程在整個(gè)計(jì)算機(jī)課程學(xué)習(xí)中的重要地位,該課程一般開設(shè)于《C語言程序設(shè)計(jì)》課程之后?!禖語言程序設(shè)計(jì)》課程作為計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)學(xué)生編碼入門的第一門語言,大家在學(xué)習(xí)的過程中存在著一知半解,知識(shí)點(diǎn)無法融會(huì)貫通,因而學(xué)生在接觸了程序設(shè)計(jì)之后,緊接著就開設(shè)了這門課程,導(dǎo)致學(xué)生還沒有養(yǎng)成較好的程序設(shè)計(jì)思維,部分學(xué)生甚至對(duì)程序設(shè)計(jì)的概念都不是很清楚,進(jìn)而在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)課程時(shí),后期的教學(xué)內(nèi)容學(xué)起來相當(dāng)吃力[2],無法及時(shí)的跟上教師的講課進(jìn)度,導(dǎo)致該課程的學(xué)習(xí)效果并不是那么理想。因此傳統(tǒng)的教學(xué)方法已經(jīng)無法滿足目前的教學(xué)需求,數(shù)據(jù)結(jié)構(gòu)的教學(xué)改革迫在眉睫。
2 教學(xué)內(nèi)容的改革
數(shù)據(jù)結(jié)構(gòu)課程的學(xué)習(xí)可以理解為數(shù)據(jù)模型和算法設(shè)計(jì)的學(xué)習(xí)。在一般教學(xué)方法中,首先從數(shù)據(jù)模型出發(fā),讓學(xué)生理解不同數(shù)據(jù)模型的基本表現(xiàn)形式,然后從實(shí)際出發(fā),根據(jù)數(shù)據(jù)模型,依賴C語言進(jìn)行算法設(shè)計(jì)。因此,數(shù)據(jù)結(jié)構(gòu)的教學(xué)內(nèi)容可以從理論教學(xué)內(nèi)容、實(shí)驗(yàn)內(nèi)容安排兩方面進(jìn)行改革。
2.1 前后知識(shí)點(diǎn)的銜接
數(shù)據(jù)結(jié)構(gòu)課程對(duì)于C語言程序設(shè)計(jì)課程的依賴性較強(qiáng),良好的C語言基礎(chǔ)有助于數(shù)據(jù)結(jié)構(gòu)課程的學(xué)習(xí)。為了避免學(xué)生因前期課程知識(shí)的遺忘或基礎(chǔ)不扎實(shí)導(dǎo)致該課程學(xué)習(xí)過程中內(nèi)容跟不上,在教學(xué)課時(shí)安排中,適當(dāng)?shù)陌才耪n時(shí)對(duì)C語言程序設(shè)計(jì)中的重要知識(shí)點(diǎn)進(jìn)行回顧和復(fù)習(xí),如變量、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組、函數(shù)、指針等,幫助學(xué)生鞏固編程的知識(shí)點(diǎn)。同時(shí),在實(shí)驗(yàn)內(nèi)容安排中,安排一次實(shí)驗(yàn)對(duì)C語言程序設(shè)計(jì)的知識(shí)點(diǎn)進(jìn)行復(fù)習(xí)和鞏固,提升學(xué)生的編程能力,也利于后期數(shù)據(jù)結(jié)構(gòu)課程的開展,加強(qiáng)學(xué)生學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)的積極性。
2.2 合理安排理論教學(xué)內(nèi)容
由于不同的書本在知識(shí)內(nèi)容的安排上有所不同,在教學(xué)內(nèi)容安排的時(shí)候,統(tǒng)一教學(xué)內(nèi)容的順序,根據(jù)數(shù)據(jù)結(jié)構(gòu)的邏輯關(guān)系將理論教學(xué)內(nèi)容劃分為線性結(jié)構(gòu)、樹型結(jié)構(gòu)、圖型結(jié)構(gòu)三大部分,最后進(jìn)行檢索和排序算法的講解,如圖1所示。依據(jù)各模塊內(nèi)容的難易度合理安排學(xué)習(xí)的先后順序,逐步加大學(xué)習(xí)難度,避免學(xué)生在課程學(xué)習(xí)過程中過難而無法理解復(fù)雜的數(shù)據(jù)模型。
同時(shí),根據(jù)教學(xué)內(nèi)容的難易度合理安排安排授課課時(shí)。在學(xué)期初期,學(xué)生無法很快地掌握和理解數(shù)據(jù)結(jié)構(gòu)模型,因此,雖然安排學(xué)習(xí)的內(nèi)容較為簡(jiǎn)單,但是學(xué)生理解起來還是比較復(fù)雜。線性結(jié)構(gòu)作為一個(gè)重點(diǎn)內(nèi)容,又安排在學(xué)習(xí)的初期,應(yīng)適當(dāng)?shù)脑黾釉摬糠謨?nèi)容的授課時(shí)間,幫助學(xué)生更好地理解數(shù)據(jù)結(jié)構(gòu)模型的相關(guān)概念,為今后的課程內(nèi)容學(xué)習(xí)打下良好的基礎(chǔ)。
2.2 安排層次實(shí)驗(yàn)教學(xué)內(nèi)容
理論與實(shí)踐結(jié)合,實(shí)驗(yàn)教學(xué)可以幫助學(xué)生檢驗(yàn)和鞏固所學(xué)的知識(shí)點(diǎn),因此,實(shí)驗(yàn)內(nèi)容的安排也十分緊要。在實(shí)驗(yàn)教學(xué)內(nèi)容安排中,合理安排實(shí)驗(yàn)內(nèi)容,如表所示,加大基礎(chǔ)型實(shí)驗(yàn)內(nèi)容,與實(shí)際應(yīng)用相結(jié)合,避免理論脫離實(shí)際,幫助學(xué)生更好地理解相關(guān)知識(shí)點(diǎn)。如線性表實(shí)驗(yàn),結(jié)合比較常見的學(xué)生信息信息系統(tǒng)進(jìn)行內(nèi)容設(shè)置,將線性表中比較典型的操作加深對(duì)線性表的理解。
不同的學(xué)生理解問題的深淺不同,因而在實(shí)際的教學(xué)過程中,一個(gè)班級(jí)中的學(xué)生的學(xué)習(xí)進(jìn)度也是不同的。,針對(duì)這一現(xiàn)象,采用分層次實(shí)驗(yàn)教學(xué)。在布置實(shí)驗(yàn)任務(wù)的時(shí)候,將任務(wù)內(nèi)容劃分為兩部分,一部分為基礎(chǔ)題,要求所有的同學(xué)都必須完成;另一部分為能力提升部分,它為選做題,具有一定的綜合性和難度,用于鍛煉學(xué)生的編程和解決問題的能力,加大對(duì)學(xué)生綜合能力的培訓(xùn)。學(xué)生根據(jù)自己實(shí)際的學(xué)習(xí)情況來決定是否完成該部分,促進(jìn)學(xué)習(xí)的主動(dòng)性,有選擇地完成實(shí)驗(yàn)內(nèi)容,提高學(xué)生的編程興趣。該方法既解決了不同層次學(xué)生的學(xué)習(xí)能力問題,也避免了實(shí)驗(yàn)內(nèi)容過多或過少的問題,讓學(xué)生在實(shí)踐動(dòng)手過程中根據(jù)本身的學(xué)習(xí)情況進(jìn)行任務(wù)的挑選和完成。
3 教學(xué)方法的改革
3.1 案例式教學(xué)法
由于數(shù)據(jù)結(jié)構(gòu)的知識(shí)點(diǎn)較為抽象,在學(xué)習(xí)過程中理解起來難度較大,學(xué)習(xí)過后學(xué)生無法準(zhǔn)確地理解該知識(shí)點(diǎn)的用處。因此,僅按照書本的知識(shí)點(diǎn)進(jìn)行教學(xué)已經(jīng)無法滿足當(dāng)今的教學(xué)需求,根據(jù)《數(shù)據(jù)結(jié)構(gòu)》課程的實(shí)際情況,在理論授課的時(shí)候,可以采用案例式教學(xué)法,將抽象的知識(shí)點(diǎn)與生動(dòng)的例子結(jié)合在一起,邊學(xué)邊做,用貼合實(shí)際的案例來激起學(xué)生的學(xué)習(xí)興趣,幫助學(xué)生在知識(shí)點(diǎn)的學(xué)習(xí)過程中更好地掌握和理解該知識(shí)點(diǎn)的運(yùn)用方法和范圍,避免了理論與實(shí)際脫離。如順序表內(nèi)容的學(xué)習(xí),結(jié)合前期學(xué)生在C語言課程設(shè)計(jì)中所作的例子,將線性數(shù)據(jù)結(jié)構(gòu)組織的知識(shí)點(diǎn)融入到課程設(shè)計(jì)題目中,該內(nèi)容學(xué)生本身就比較熟悉,通過再次對(duì)課程設(shè)計(jì)內(nèi)容的講解,讓學(xué)生理解線性數(shù)據(jù)結(jié)構(gòu)的組織方法和存儲(chǔ)方法,同時(shí),將抽象的數(shù)據(jù)結(jié)構(gòu)與算法結(jié)合講解,設(shè)定題目相關(guān)的操作內(nèi)容,在分析問題和解決問題的過程中,學(xué)習(xí)順序表相關(guān)的操作,如排序、刪除、插入等。
3.2 算法演示教學(xué)
在數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)過程中,學(xué)生會(huì)接觸大量的操作集合,不同的數(shù)據(jù)結(jié)構(gòu),操作的實(shí)現(xiàn)算法不同,僅依賴枯燥的代碼講解讓學(xué)生無法理解實(shí)現(xiàn)該操作的算法思想,大大降低了學(xué)習(xí)的積極性。因此,在講解數(shù)據(jù)結(jié)構(gòu)算法的時(shí)候,結(jié)合當(dāng)前數(shù)據(jù)結(jié)構(gòu)的特點(diǎn),通過生動(dòng)的flash動(dòng)畫或制作動(dòng)態(tài)的PPT將算法的思想呈現(xiàn)在學(xué)生的眼前,吸引學(xué)生的注意力,幫助學(xué)生理解算法的思想,從而更好地理解和記憶算法的實(shí)現(xiàn)代碼。
3.3 翻轉(zhuǎn)課堂教學(xué)
傳統(tǒng)的教學(xué)模式以上課講為主,課下學(xué)習(xí)輔導(dǎo)為輔,課下學(xué)生在自主學(xué)習(xí)的過程中遇到難點(diǎn)雖然可以詢問老師,但是往往無法及時(shí)得到解決,從而導(dǎo)致學(xué)生無法很好地掌握和理解相關(guān)的知識(shí)點(diǎn)。因此,可以嘗試翻轉(zhuǎn)課堂教學(xué),篩選教學(xué)內(nèi)容較為優(yōu)質(zhì)的視頻分享給學(xué)生,學(xué)生自主課下先完成教學(xué)內(nèi)容的學(xué)習(xí),在課堂上,教師針對(duì)難重點(diǎn)進(jìn)行詳細(xì)講解,學(xué)生在初步了解了的情況下進(jìn)行二次學(xué)習(xí),可以幫助學(xué)生更快地跟上老師的教學(xué)進(jìn)度,掌握難重點(diǎn)內(nèi)容。翻轉(zhuǎn)課堂有效地解決了學(xué)生學(xué)習(xí)難,遇到問題無人詢問的情況。
3.4 優(yōu)化考核制度
數(shù)據(jù)結(jié)構(gòu)是一門動(dòng)手能力要求較高的課程,在課程學(xué)習(xí)過程中,學(xué)生自主地代碼練習(xí)時(shí)至關(guān)重要的。然后,部分學(xué)生的自主學(xué)習(xí)能力較差,課下很少會(huì)花費(fèi)時(shí)間進(jìn)行編碼練習(xí),因此,在成績(jī)考核比例中,可以加大作業(yè)和實(shí)驗(yàn)在平時(shí)成績(jī)中的比例,督促學(xué)生課下多進(jìn)行編碼練習(xí),同時(shí),為避免學(xué)生之間進(jìn)行作業(yè)的抄襲,可以采用當(dāng)面考核制,
4 總結(jié)
本文通過分析當(dāng)下數(shù)據(jù)結(jié)構(gòu)教學(xué)中存在的問題,提出了從教學(xué)內(nèi)容和教學(xué)方法兩方面的改革。通過理論課程的內(nèi)容和課時(shí)安排以及層次的實(shí)驗(yàn)內(nèi)容安排兩方面進(jìn)行了教學(xué)內(nèi)容的改革,依賴案例式教學(xué)、算法演示教學(xué)、翻轉(zhuǎn)課堂教學(xué)等方法來優(yōu)化教學(xué)手段,旨在培養(yǎng)符合計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)水平和特色的人才。
參考文獻(xiàn)
[1]宗瑜, 金萍. 案例教學(xué)法與《數(shù)據(jù)結(jié)構(gòu)》教學(xué)改革[J]. 皖西學(xué)院學(xué)報(bào), 2009(02):30-31.
[2]余艷, 劉燕麗, 李琳娜. 數(shù)據(jù)結(jié)構(gòu)實(shí)踐教學(xué)內(nèi)容設(shè)置的分析與思考[J]. 實(shí)驗(yàn)技術(shù)與管理, 2014(04):170-173.