米文麗
(甘肅省隴東學(xué)院信息工程學(xué)院 甘肅慶陽 745000)
啟發(fā)式教學(xué)在《數(shù)據(jù)結(jié)構(gòu)》課程中的應(yīng)用
米文麗
(甘肅省隴東學(xué)院信息工程學(xué)院 甘肅慶陽 745000)
數(shù)據(jù)結(jié)構(gòu)是計(jì)算機(jī)及其相關(guān)專業(yè)的核心課程之一,由于內(nèi)容多、概念多、算法復(fù)雜、邏輯性強(qiáng)等特點(diǎn),目前在課堂理論教學(xué)過程中學(xué)生學(xué)習(xí)興趣不高,普遍反映數(shù)據(jù)結(jié)構(gòu)難學(xué)難懂,為了提高數(shù)據(jù)結(jié)構(gòu)課程的教學(xué)效果,在教學(xué)過程中采用啟發(fā)式教學(xué),激發(fā)學(xué)生內(nèi)在的學(xué)習(xí)動(dòng)力,鼓勵(lì)學(xué)生積極思維,自己尋找解答,把書本知識(shí)轉(zhuǎn)化具體知識(shí),再進(jìn)一步把具體知識(shí)轉(zhuǎn)化為能力,促進(jìn)學(xué)生的全面發(fā)展。
數(shù)據(jù)結(jié)構(gòu);啟發(fā)式教學(xué);教學(xué)實(shí)施
數(shù)據(jù)結(jié)構(gòu)課程是計(jì)算機(jī)及其相關(guān)專業(yè)的必修專業(yè)基礎(chǔ),主要討論現(xiàn)實(shí)世界中數(shù)據(jù)的各種邏輯結(jié)構(gòu)、在計(jì)算機(jī)中的存儲(chǔ)結(jié)構(gòu)以及各種算法的設(shè)計(jì)問題。教學(xué)目的是使學(xué)生掌握如何組織數(shù)據(jù)、如何存儲(chǔ)數(shù)據(jù)、如何處理數(shù)據(jù)的基本概念和軟件設(shè)計(jì)的基本方法,從而為進(jìn)一步學(xué)習(xí)后續(xù)專業(yè)課程打下堅(jiān)實(shí)的基礎(chǔ)。
數(shù)據(jù)結(jié)構(gòu)課程具有內(nèi)容多、概念多、算法復(fù)雜、邏輯性強(qiáng)等特點(diǎn),目前在課堂理論教學(xué)過程中學(xué)生學(xué)習(xí)興趣不高,普遍反映數(shù)據(jù)結(jié)構(gòu)課程抽象、難學(xué),在學(xué)習(xí)和實(shí)際應(yīng)用中問題比較多,學(xué)習(xí)過程中成就感不強(qiáng),學(xué)完之后還是不知道如何應(yīng)用。為提高數(shù)據(jù)結(jié)構(gòu)課程教學(xué)質(zhì)量,在教學(xué)過程中使用啟發(fā)式教學(xué),并付諸實(shí)踐。
所謂啟發(fā)式教學(xué),就是教師根據(jù)教學(xué)目的、內(nèi)容、學(xué)生的知識(shí)水平和知識(shí)規(guī)律,運(yùn)用多種教學(xué)手段,采用啟發(fā)誘導(dǎo)辦法傳授知識(shí)、培養(yǎng)能力,使學(xué)生積極主動(dòng)地學(xué)習(xí),以促進(jìn)身心發(fā)展。啟發(fā)式教學(xué)思想的特點(diǎn)是:強(qiáng)調(diào)學(xué)習(xí)者是學(xué)習(xí)的主體,教師要調(diào)動(dòng)學(xué)習(xí)者的學(xué)習(xí)積極性,實(shí)現(xiàn)教師主導(dǎo)作用與學(xué)習(xí)者積極性相結(jié)合;強(qiáng)調(diào)激發(fā)學(xué)生內(nèi)在的學(xué)習(xí)動(dòng)力,實(shí)現(xiàn)內(nèi)在動(dòng)力與學(xué)習(xí)的責(zé)任感相結(jié)合;強(qiáng)調(diào)理論與實(shí)踐聯(lián)系,實(shí)現(xiàn)書本知識(shí)與直接經(jīng)驗(yàn)相結(jié)合。要求教師善于引導(dǎo)轉(zhuǎn)化,運(yùn)用一定的手段和方法,啟發(fā)學(xué)生的思想,引導(dǎo)學(xué)生去思考問題,運(yùn)用科學(xué)的思維方法,去分析問題、解決問題,鼓勵(lì)學(xué)生積極思維,自己尋找解答,把學(xué)生的書本知識(shí)轉(zhuǎn)化為學(xué)生的具體知識(shí),再進(jìn)一步把學(xué)生的具體知識(shí)轉(zhuǎn)化為學(xué)生的能力。
啟發(fā)式教學(xué)的特征:(1)客觀性:是指教學(xué)內(nèi)容、方法的設(shè)計(jì)和實(shí)施符合學(xué)生的客觀實(shí)際。這個(gè)實(shí)際內(nèi)容包括學(xué)生實(shí)際的需求、水平、特點(diǎn)等。教師備課“要了解學(xué)生”是客觀性的體現(xiàn)。(2)主動(dòng)性:指在教學(xué)活動(dòng)中,學(xué)生學(xué)習(xí)的自覺性、積極性、創(chuàng)造性得到了較好的發(fā)揮。它體現(xiàn)在學(xué)生對(duì)學(xué)習(xí)的意義有明確的認(rèn)識(shí),采取主動(dòng)進(jìn)取的態(tài)度,有克服困難的毅力,有較濃厚的學(xué)習(xí)興趣,掌握科學(xué)的學(xué)習(xí)方法,在學(xué)習(xí)中發(fā)揮獨(dú)創(chuàng)性。(3)互動(dòng)性:指在教學(xué)過程中師生之間的相互配合和相互作用。一方面是針對(duì)學(xué)生問題、需要等所進(jìn)行的雙向信息交流;另一方面是教師指點(diǎn)方法,引導(dǎo)學(xué)生思考和解決問題,而不是將問題的答案簡(jiǎn)單地告訴給學(xué)生。教師的作用在于有針對(duì)性地點(diǎn)化、引導(dǎo),啟發(fā)學(xué)生的積極性,教給學(xué)生學(xué)習(xí)與思維的方法。(4)發(fā)展性:是指在教學(xué)過程中,教師的教能有效地促進(jìn)學(xué)習(xí)者的學(xué),促進(jìn)學(xué)習(xí)者的全面發(fā)展,使教學(xué)活動(dòng)富有成效。啟發(fā)式教學(xué)各個(gè)特點(diǎn)之間各有側(cè)重,它們之間是互相依存和互相促進(jìn)的。
1.課前準(zhǔn)備
(1)教學(xué)目標(biāo)。掌握單鏈表的操作和模式匹配算法思想,練習(xí)在采用單鏈表存儲(chǔ)的線性序列中如何進(jìn)行模式匹配。
(2)教學(xué)難點(diǎn)。在單鏈表中進(jìn)行模式匹配時(shí)指針如何移動(dòng)。
(3)實(shí)踐目的。使學(xué)生進(jìn)一步掌握單鏈表的操作,熟悉模式匹配算法,實(shí)現(xiàn)用單鏈表存儲(chǔ)的線性序列的模式匹配。激發(fā)學(xué)生內(nèi)在的求知欲望和學(xué)習(xí)熱情,調(diào)動(dòng)學(xué)習(xí)的積極性,幫助學(xué)生完成知識(shí)的意義建構(gòu)。
(4)內(nèi)容分析。我校目前使用的教材是徐鳳生主編的《數(shù)據(jù)結(jié)構(gòu)與算法》,該書語言通俗易懂,重點(diǎn)突出,算法豐富。在本課程之前,學(xué)生已經(jīng)學(xué)習(xí)了《C語言程序設(shè)計(jì)》課程,具有一定的編程能力,并學(xué)習(xí)了數(shù)據(jù)結(jié)構(gòu)課程中的單鏈表和串的模式匹配。本次的內(nèi)容是單鏈表和模式匹配這兩部分的結(jié)合,目的是培養(yǎng)學(xué)生分析和解決問題的能力。
(5)對(duì)象分析。數(shù)據(jù)結(jié)構(gòu)課程的學(xué)習(xí)對(duì)象為大一或大二的學(xué)生,他們?cè)谥耙呀?jīng)學(xué)過計(jì)算機(jī)程序設(shè)計(jì)語言課程(C語言),因此有了一定的分析問題、解決問題和編寫程序的能力。
2.教學(xué)實(shí)施
(1)創(chuàng)設(shè)情境。教師:在《數(shù)據(jù)結(jié)構(gòu)》課程第四章中學(xué)習(xí)了串的表示和實(shí)現(xiàn)以及串的模式匹配(子串的定位操作),串的存儲(chǔ)分為兩種類型:順序(定長(zhǎng)順序存儲(chǔ)、堆分配存儲(chǔ))和鏈?zhǔn)剑▔K鏈存儲(chǔ)),而串的模式匹配是在串的順序存儲(chǔ)結(jié)構(gòu)上實(shí)現(xiàn)的。那么現(xiàn)在要求大家利用串的匹配思想,編寫程序?qū)崿F(xiàn):兩個(gè)整數(shù)序列A=a1,a2,a3,…,am和B=b1,b2,b3,…,bn已經(jīng)存入兩個(gè)單鏈表中,設(shè)計(jì)一個(gè)算法,判斷序列B是否是序列A的子序列。教師利用《數(shù)據(jù)結(jié)構(gòu)》網(wǎng)絡(luò)課程中的社區(qū)論壇發(fā)布題目要求。
學(xué)生:帶著給定的問題復(fù)習(xí)以前學(xué)過的知識(shí),如單鏈表的操作,線性序列的存儲(chǔ),模式匹配算法等。如何將單鏈表的操作和模式匹配操作結(jié)合起來,這就激發(fā)了學(xué)習(xí)者學(xué)習(xí)的興趣。學(xué)生在論壇中討論實(shí)現(xiàn)這個(gè)功能的算法中所要包含的一些操作以及如何實(shí)現(xiàn),學(xué)生之間進(jìn)行實(shí)時(shí)或非實(shí)時(shí)的交流,接受教師指導(dǎo),形成實(shí)現(xiàn)功能的一個(gè)思想,然后利用C語言編寫程序。
(2)抽取啟發(fā)原型。這個(gè)題目的原型就是串的模式匹配。串的模式匹配即子串定位是一種重要的串運(yùn)算。設(shè)s(主串)和t(子串)是給定的兩個(gè)串,在主串s中找到等于子串t的過程稱為模式匹配,如果在s中找到等于t的子串,則稱匹配成功,函數(shù)返回t在s中的首次出現(xiàn)的存儲(chǔ)位置(或序號(hào)),否則匹配失敗,返回-1。t也稱為模式。在這個(gè)題中采用簡(jiǎn)單的模式匹配算法,算法思想是:首先將s中的第一個(gè)字符與t中第一個(gè)字符進(jìn)行比較,若不同,就將s中的第二個(gè)字符與t中第一個(gè)字符進(jìn)行比較,...,直到s的某一個(gè)字符si和t1相同,再將它們之后的字符進(jìn)行比較,若也相同,則如此繼續(xù)往下比較,當(dāng)s的某一個(gè)字符si與t的字符tj不同時(shí),則s返回到本趟開始字符的下一個(gè)字符,即si-j+2,t返回到t1,繼續(xù)開始下一趟的比較,重復(fù)上述過程。若t中的字符全部比完,則說明本趟匹配成功,否則,匹配失敗。
(3)總結(jié)討論。串的特點(diǎn)是有零個(gè)或多個(gè)字符組成的有限序列,即串中的每個(gè)元素是字符,而這個(gè)題目中給定的序列是整數(shù),所以數(shù)據(jù)類型發(fā)生變化,另外串的模式匹配是在順序存儲(chǔ)的結(jié)構(gòu)上實(shí)現(xiàn)的,而題目要求是單鏈表。因此,可以先將數(shù)據(jù)序列用單鏈表來存儲(chǔ),再按照串的模式匹配來思考如何實(shí)現(xiàn),然后對(duì)串的模式匹配算法進(jìn)行改寫。
經(jīng)過討論后得到解決上述問題的算法思想為:將兩個(gè)整數(shù)序列用單鏈表存儲(chǔ),然后從兩鏈表的第一個(gè)結(jié)點(diǎn)開始,若對(duì)應(yīng)數(shù)據(jù)相等,則后移指針;若對(duì)應(yīng)數(shù)據(jù)不等,則A鏈表從上次開始比較結(jié)點(diǎn)的后繼開始,B鏈表仍從第一結(jié)點(diǎn)開始比較,直到B鏈表到尾表示匹配成功。A鏈表到尾B鏈表未到尾表示失敗。操作中應(yīng)記住A鏈表每次的開始結(jié)點(diǎn),以便下趟匹配時(shí)好從其后繼開始。
數(shù)據(jù)結(jié)構(gòu)是一門實(shí)踐性很強(qiáng)的課程,通過啟發(fā)式教學(xué),引導(dǎo)學(xué)生運(yùn)用科學(xué)的思維方法思考問題,分析問題、解決問題,鼓勵(lì)學(xué)生積極思維,尋找解答,把書本知識(shí)轉(zhuǎn)化為具體知識(shí),再進(jìn)一步把具體知識(shí)轉(zhuǎn)化為能力,希望能夠?qū)μ岣邤?shù)據(jù)結(jié)構(gòu)課程的教學(xué)質(zhì)量有所幫助。
[1]徐鳳生.《數(shù)據(jù)結(jié)構(gòu)與算法》(C語言版)[M].機(jī)械工業(yè)出版社,2012.
[2]嚴(yán)蔚敏,吳偉民.《數(shù)據(jù)結(jié)構(gòu)與算法》(C語言版)[M].清華大學(xué)出版社,2010.
[3]鐘祖榮.啟發(fā)式教學(xué)的特征及實(shí)施要領(lǐng)[J].中國(guó)教育學(xué)刊,1996(4).
[4]劉光然.啟發(fā)式教學(xué)在《數(shù)據(jù)結(jié)構(gòu)》課堂教學(xué)中的嘗試[J].職業(yè)教育研究,2010(5).
[5]趙爽,林永民.“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)方法研究[J].福建電腦,2013(3).
[6]張彬連,徐洪智,覃遵躍.數(shù)據(jù)結(jié)構(gòu)課程教學(xué)研究與改革.計(jì)算機(jī)教育,2013(4).
Application of heuristic teaching in "data structure" course
Mi Wen-li
(School of Information Engineering, Gansu Longdong University, Qingyang Gansu, 745000, China)
Data structure is one of the core courses of computer and related professional, due to the characteristics of the content, concepts, algorithm complexity, strong logic, the students’ learning interest is not high, generally reflect the data structure is difficult to understand, in order to improve the teaching effect of data structure course, the heuristic teaching method is used in the process of teaching, to stimulate students' intrinsic motivation to learn, to encourage students to active thinking, to find their own answers, to specific knowledge transformation, knowledge of books, to further take the knowledge into ability, promote the comprehensive development of students.
data structure; heuristic teaching; teaching practice
TP312
A
1000-9795(2014)05-0156-01
[責(zé)任編輯:劉麗杰]
2014-03-13
米文麗(1980-),女,講師,碩士,從事計(jì)算機(jī)軟件與理論方向的研究。