李婷
[摘 要] 數(shù)據(jù)結(jié)構(gòu)與算法是信息與計(jì)算科學(xué)專業(yè)的核心基礎(chǔ)課程,對后續(xù)課程有重要的影響。在總結(jié)多年教學(xué)經(jīng)驗(yàn)的基礎(chǔ)上,從理論教學(xué)、實(shí)踐教學(xué)和引入思維導(dǎo)圖等方面對課程教學(xué)方法提出思考,目的在于提高學(xué)生對數(shù)據(jù)結(jié)構(gòu)的理解程度和靈活應(yīng)用能力,以達(dá)到應(yīng)用型人才培養(yǎng)的目標(biāo)。
[關(guān)鍵詞] 數(shù)據(jù)結(jié)構(gòu)與算法;理論教學(xué)方法;實(shí)踐教學(xué)方法;思維導(dǎo)圖工具
一、引言
數(shù)據(jù)結(jié)構(gòu)與算法是信息與計(jì)算科學(xué)專業(yè)的核心基礎(chǔ)課程,是進(jìn)行非數(shù)值計(jì)算程序設(shè)計(jì)的基礎(chǔ),也是后續(xù)學(xué)習(xí)的重要先修課程。
本文針對信息與計(jì)算科學(xué)專業(yè)的特點(diǎn),結(jié)合具體教學(xué)過程中出現(xiàn)的問題和地方院校學(xué)生基礎(chǔ)素質(zhì)的情況,從教學(xué)內(nèi)容、教學(xué)手段及教學(xué)方法等方面進(jìn)行了思考,旨在尋找合理的教學(xué)方法,達(dá)到應(yīng)用型人才培養(yǎng)的目的。
二、改革方法思考
1.理論教學(xué)方法思考。數(shù)據(jù)結(jié)構(gòu)與算法課程所涉及到的知識點(diǎn)較多,包括四種邏輯結(jié)構(gòu)、兩種存儲結(jié)構(gòu)和四種操作,理論性和實(shí)踐性均較強(qiáng),且有高度抽象的特點(diǎn)。課程在內(nèi)容組織上,難點(diǎn)分布的跨度大,概念多。對于算法的描述,通常只給了偽代碼的描述,而分析較少,不易看懂。由于地方學(xué)院的學(xué)生基礎(chǔ)較薄弱,學(xué)生的數(shù)學(xué)理論基礎(chǔ)不夠扎實(shí),如離散數(shù)學(xué)、數(shù)值分析等課程掌握得不深,再加上前期的程序設(shè)計(jì)學(xué)習(xí)中不能理解程序設(shè)計(jì)的思想,比如指針的原理、尋址方式等,這在很大程度上影響學(xué)生對課程內(nèi)容的理解。所以在授課時(shí)一定要精講細(xì)講慢講,要注意學(xué)生的反饋,在難理解的地方多花時(shí)間,必要時(shí)通過板書逐步演算算法的執(zhí)行過程,將問題進(jìn)行深入淺出的分析,師生互動,使學(xué)生容易理解算法。
另外,在授課時(shí),要對課程內(nèi)容進(jìn)行一定的篩選,去掉一些深入應(yīng)用的課堂講解,將這部分內(nèi)容留給學(xué)生進(jìn)行課外討論和學(xué)習(xí),把課堂時(shí)間主要用于講透基礎(chǔ)知識。另外在后續(xù)課程中有問題,留到后續(xù)課程后詳細(xì)討論。若不加選擇地將所有教材內(nèi)容全部詳細(xì)講完,一則課時(shí)數(shù)不夠,二則因?yàn)橼s課時(shí)可能讓學(xué)生一知半解。
由于學(xué)生的基礎(chǔ)、能力存在較大的差異,在授課時(shí)也要注意對學(xué)生進(jìn)行分類施教。對小部分學(xué)習(xí)能力強(qiáng)、基礎(chǔ)較好的學(xué)生,要鼓勵他們進(jìn)行自主學(xué)習(xí)、超進(jìn)度學(xué)習(xí),并且可以讓這部分學(xué)生擔(dān)任課程的答疑助手,通過答疑可以幫助同學(xué)理解課堂知識,也促進(jìn)了自身更有效的掌握和消化知識;對多數(shù)能力中等的學(xué)生,要把知識點(diǎn)處理得更容易理解,這樣才能讓他們不至于因難而退,而能把課堂知識中最基本、最常用的內(nèi)容掌握;對少數(shù)基礎(chǔ)差的學(xué)生,應(yīng)該提醒和鼓勵他們補(bǔ)充缺失的基礎(chǔ)知識,首先要先補(bǔ)程序設(shè)計(jì)語言基礎(chǔ),教學(xué)安排由易到難,只要前期能補(bǔ)缺,后面循序漸進(jìn)就能跟上進(jìn)度。
2.實(shí)踐教學(xué)方法思考。數(shù)據(jù)結(jié)構(gòu)與算法課程的教學(xué)目的之一在于培養(yǎng)學(xué)生有一定的程序閱讀能力、設(shè)計(jì)能力,面對實(shí)際問題,有分析和解決問題的能力,邏輯思維能力提高,能將理論知識用于實(shí)踐。因此在教學(xué)中特別需要重視上機(jī)實(shí)踐的環(huán)節(jié)。
要讓學(xué)生多動手、多練習(xí)、多調(diào)試分析,在練習(xí)中才知道自己對哪些細(xì)節(jié)還沒理解,才能真正的掌握知識。
在上機(jī)實(shí)踐中觀察發(fā)現(xiàn),只有少部分同學(xué)可以比較順利的掌握教學(xué)內(nèi)容并實(shí)現(xiàn)完整算法,多數(shù)同學(xué)對簡單的算法尚能編寫程序,稍復(fù)雜點(diǎn)的入手就比較困難。
所以,我們對實(shí)踐教學(xué)內(nèi)容進(jìn)行如下思考設(shè)計(jì):在整個(gè)學(xué)期的實(shí)踐處理上,一方面保留基礎(chǔ)性實(shí)驗(yàn),這部分實(shí)驗(yàn)難度不大,且考慮給出初步代碼框架,只留下關(guān)鍵部分讓學(xué)生去編寫,使學(xué)生在初學(xué)時(shí)不至于無從入手,能順利進(jìn)行編程實(shí)驗(yàn),理解和消化教學(xué)內(nèi)容,從而獲得一定的成就感,提高學(xué)習(xí)的積極性。在這個(gè)階段還要有意識地讓學(xué)生學(xué)會自己調(diào)試修改程序,從能調(diào)試語法錯(cuò)誤到能調(diào)試邏輯錯(cuò)誤,這樣才能真正讓學(xué)生掌握解決問題的能力,不會過分依賴?yán)蠋?。另一方面,增加一些?shí)用性較強(qiáng)、難度稍大的課后實(shí)驗(yàn),讓學(xué)生進(jìn)行分組完成。學(xué)生可以通過小組討論得出算法流程,然后再上機(jī)編程實(shí)現(xiàn)。例如,要求隨機(jī)生成一個(gè)迷宮后,自動求出迷宮的解,又如九皇后問題的解,等等。通過這些有趣實(shí)用的實(shí)驗(yàn),有利于加強(qiáng)學(xué)生對知識的應(yīng)用能力、分析問題的能力和團(tuán)隊(duì)合作的協(xié)調(diào)能力,激發(fā)學(xué)生的求知欲。
在上機(jī)實(shí)踐過程中,通常對算法的步驟一開始是不熟悉的,編程有助于幫助學(xué)生發(fā)現(xiàn)在聽課時(shí)的盲點(diǎn),能回頭再去找答案,加深對理論算法的理解,同時(shí)多上機(jī)操作能培養(yǎng)學(xué)生良好的程序編寫習(xí)慣和風(fēng)格,注重程序注解的說明。
3.思維導(dǎo)圖在理論教學(xué)中的應(yīng)用。思維導(dǎo)圖是近年來的流行教學(xué)手段之一。思維導(dǎo)圖是使用一個(gè)中央關(guān)鍵詞或想法引起形象化的構(gòu)造和分類的想法,它采用了層級的技巧,把各級主題的關(guān)系用層級圖來顯示,它可以將思維形象化,由一個(gè)思考中心點(diǎn),向外發(fā)散出成千上萬的關(guān)結(jié)點(diǎn),每個(gè)關(guān)結(jié)點(diǎn)又可以成為另一個(gè)中心主題,呈現(xiàn)放射性的結(jié)構(gòu)。
在數(shù)據(jù)結(jié)構(gòu)一課的教學(xué)中,課程的內(nèi)容就是圍繞一個(gè)中心問題提出新問題,提出解決新問題的設(shè)置,所以在教學(xué)過程中,不妨應(yīng)用思維導(dǎo)圖,通過導(dǎo)圖的方向來引導(dǎo)學(xué)生的思考方向,通過層級對比關(guān)系,讓學(xué)生對知識的體系更加清晰明確,能更好地自己去總結(jié)、對比,提出新的問題。
例如,數(shù)據(jù)結(jié)構(gòu)與算法的出發(fā)點(diǎn)是對數(shù)據(jù)的操作處理,可以分成數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)操作兩部分。數(shù)據(jù)結(jié)構(gòu)的定義是相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合,分為集合、線性結(jié)構(gòu)、樹形結(jié)構(gòu)、圖狀結(jié)構(gòu)四種。數(shù)據(jù)之間的關(guān)系由邏輯結(jié)構(gòu)體現(xiàn),在計(jì)算機(jī)上具體實(shí)現(xiàn)這四種結(jié)構(gòu)靠的是存儲結(jié)構(gòu),存儲結(jié)構(gòu)又分為順序存儲和鏈?zhǔn)酱鎯?。?shù)據(jù)的操作為基本的增刪查改。結(jié)合數(shù)據(jù)的邏輯關(guān)系,針對采用的實(shí)現(xiàn)存儲方式,討論和研究四種數(shù)據(jù)操作的實(shí)現(xiàn)方法,就是這門課的中心和目的。我們可以將上面的關(guān)系以圖1所示的思維導(dǎo)圖來展示。
通過圖1的思維導(dǎo)圖的關(guān)系分析,學(xué)生能清楚的知道后續(xù)每個(gè)章節(jié)的任務(wù),比如線性表一章,任務(wù)是掌握元素的關(guān)系為線性結(jié)構(gòu),在取順序結(jié)構(gòu)存儲時(shí),增刪查改是怎么實(shí)現(xiàn)的,取鏈?zhǔn)酱鎯r(shí),增刪查改又是怎么實(shí)現(xiàn)的,方便學(xué)生有目的有方向的去預(yù)習(xí)、去復(fù)習(xí),去對比、去思考,有利于激發(fā)學(xué)生的學(xué)習(xí)興趣。
4.教學(xué)考核方式的思考。本課程是實(shí)踐性課程,衡量這門課學(xué)得好壞,不能光檢查學(xué)生能不能理解課程知識內(nèi)容,還要檢查學(xué)生能不能編程并檢驗(yàn)理論內(nèi)容,故考核的方法采用上機(jī)考查和理論考查兩種。上機(jī)考查是指提供問題后,要求學(xué)生結(jié)合相應(yīng)的軟件,選擇合適的算法,編寫程序進(jìn)行調(diào)試后得到運(yùn)行結(jié)果;理論考查則采用筆試的形式,要求學(xué)生針對某個(gè)問題,分析后描述解決問題的步驟,最后綜合平時(shí)的實(shí)驗(yàn)作業(yè)成績與上機(jī)考查成績、理論考查卷面成績得出最后成績。
三、總結(jié)
近年來,地方高等院校一直推動應(yīng)用型人才的教學(xué)改革,使得培養(yǎng)出的學(xué)生都能成為社會需求的應(yīng)用型人才。本文結(jié)合多年對信息與計(jì)算科學(xué)專業(yè)的數(shù)據(jù)結(jié)構(gòu)與算法課程的教學(xué)經(jīng)驗(yàn),提出了幾點(diǎn)改革的思考方向,并探討了一系列的教學(xué)改革措施,以期在教學(xué)中更好地讓學(xué)生掌握知識、提高能力,達(dá)到應(yīng)用型人才培養(yǎng)的目標(biāo)。
參考文獻(xiàn)
[1]嚴(yán)蔚敏.吳敏民.數(shù)據(jù)結(jié)構(gòu)(C語言版)[M].北京:清華大學(xué)出版社,1997
[2]林書揚(yáng).為什么要給思維導(dǎo)圖“轉(zhuǎn)基因”——淺談“學(xué)科思維導(dǎo)圖”與“思維導(dǎo)圖”[J].中國信息技術(shù)教育,2015,(18):80-81.