宋萬里 張鸰
摘要:數(shù)據(jù)結(jié)構(gòu)與算法課程是計算機(jī)專業(yè)的核心基礎(chǔ)課程,對學(xué)生的就業(yè)具有決定性作用。該文具體分析了目前課程的教學(xué)現(xiàn)狀,總結(jié)出一些迫切解決的問題并在文中闡述了具體應(yīng)對的改革措施,并進(jìn)行了實踐。該文對數(shù)據(jù)結(jié)構(gòu)與算法乃至相關(guān)的計算機(jī)課程的教學(xué)都有一定的借鑒意義。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);算法;教學(xué)改革;實踐
中圖分類號:G424 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)32-7677-02
Abstract: Data Structure and Algorithm is the core course of computer specialty, and plays a decisive role in the employment of students. This paper analyzes the teaching situation of the course at present, and summarizes some urgent problems to be resolved. The reform measures response to the problems above are described and practiced. This paper has certain reference meaning to teaching of Data Structure and Algorithm and the associated computer courses.
Key words: data structure; algorithm; teaching reform; practice
“數(shù)據(jù)結(jié)構(gòu)和算法”課程涉及數(shù)據(jù)在計算機(jī)中的表示、組織與處理,以及相應(yīng)的算法設(shè)計和算法性能分析,為計算機(jī)軟件開發(fā)人員提供必要的專業(yè)基礎(chǔ)知識和技能訓(xùn)練,同時也是計算機(jī)應(yīng)用相關(guān)學(xué)科所必須掌握的課程。通過本課程的學(xué)習(xí),使學(xué)生熟練掌握計算機(jī)程序設(shè)計中常見的各種數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)及相應(yīng)的運(yùn)算,初步掌握算法的時間分析和空間分析的技術(shù),并能根據(jù)計算機(jī)加工的數(shù)據(jù)特性運(yùn)用數(shù)據(jù)結(jié)構(gòu)的知識和技巧設(shè)計出更好的算法和程序,培養(yǎng)了大家數(shù)據(jù)抽象能力、算法構(gòu)造性思維方法能力及邏輯思維能力,并進(jìn)一步培養(yǎng)基本的良好的程序設(shè)計能力。其中的知識與方法,無論對學(xué)生進(jìn)一步學(xué)習(xí)計算機(jī)領(lǐng)域的其他課程,還是對今后從事研究、應(yīng)用開發(fā)及技術(shù)管理工作都發(fā)揮著重要的作用。但本課程理論性強(qiáng),算法抽象,理解困難,不易掌握。該文針對高職的實際情況,對“數(shù)據(jù)結(jié)構(gòu)和算法”課程教學(xué)改革進(jìn)行了探索和實踐。
1 教學(xué)現(xiàn)狀分析
“數(shù)據(jù)結(jié)構(gòu)和算法”課程歷來被看作是計算機(jī)專業(yè)的教學(xué)難點(diǎn)。多年來,學(xué)生普遍感覺此課程學(xué)習(xí)困難、難以理解、不好掌握。主要有如下幾個原因:1) 學(xué)生文化基礎(chǔ)普遍偏差、參差不齊。學(xué)生入學(xué)成績分?jǐn)?shù)相對較低并且相差懸殊,對問題的分析能力、邏輯思維能力較弱,缺乏正確的學(xué)習(xí)方法。2) 自我管理和自我約束能力不強(qiáng)、缺乏學(xué)習(xí)的積極性和主動性。大學(xué)學(xué)習(xí)給予同學(xué)們的自學(xué)空間較大,管理方面也不如中學(xué)那樣嚴(yán)格,從而導(dǎo)致學(xué)生上課聽不懂、下課不愿學(xué)。3) 沒有端正的學(xué)習(xí)態(tài)度。高職學(xué)生受到高中時個別老師的誤導(dǎo),以為上大學(xué)玩玩也可以順利畢業(yè),找到工作。同時也受到大學(xué)期間個別老師的誤導(dǎo),以為期末劃劃重點(diǎn),最后突擊,背背題目就可以過關(guān)。課上上網(wǎng)、玩手機(jī)、打游戲等等,課下不投入精力。4) 學(xué)生的計算機(jī)科學(xué)理論有所欠缺,對理論化的教學(xué)方法感到吃力。高職計算機(jī)課程主要以實用為主,課上理論講授較少或幾乎沒有,學(xué)生對理論內(nèi)容有畏難情緒,難以接受。5) 學(xué)生的前導(dǎo)課程基礎(chǔ)不牢。學(xué)生普遍程序設(shè)計課程掌握的不好,沒有養(yǎng)成獨(dú)立的思維和良好的學(xué)習(xí)習(xí)慣,缺乏實際動手能力或動手能力不強(qiáng)。6) 實驗內(nèi)容設(shè)置不合理。實驗大部分是驗證性的,學(xué)生不需要自己去考慮各種可能的解決方案并找到最合適的方法,上機(jī)編程變成了簡單的文字輸人。7) 教師現(xiàn)場指導(dǎo)顧此失彼。由于學(xué)生人數(shù)相對較多,程序代碼開發(fā)過程中學(xué)生問題各異,在課程有限的時間里輔導(dǎo)不能及時到位。8) 考核機(jī)制不完善,課程成績主要是根據(jù)學(xué)生上機(jī)的出勤和提交的實驗報告情況,再與期末考試結(jié)合給出,平時激勵不到位,考核不合理。
2 教學(xué)改革與實踐
通過上面對目前教學(xué)中存在問題的分析,我們明確了傳統(tǒng)的課程教學(xué)已經(jīng)不適應(yīng)新形勢的要求,實踐動手能力欠缺,思維僵化和編程能力不強(qiáng)的學(xué)生,沒有就業(yè)競爭力。這就要求數(shù)據(jù)結(jié)構(gòu)和算法課程教師結(jié)合高職的實際情況,從數(shù)據(jù)結(jié)構(gòu)的教學(xué)特點(diǎn)出發(fā),明確教學(xué)目的,制訂合理教學(xué)方案,強(qiáng)化學(xué)生解決問題的思維能力和實際動手能力,提高學(xué)生的編程能力,真正提高教學(xué)效果,最終提升學(xué)生的就業(yè)競爭力。針對以上問題,該文給出了如下的教學(xué)對策:
1) 針對高職學(xué)生文化基礎(chǔ)普遍較差,學(xué)習(xí)習(xí)慣不好,自我管理和自我約束能力不強(qiáng),缺乏學(xué)習(xí)的主動性等特點(diǎn),我們在數(shù)據(jù)結(jié)構(gòu)課程教學(xué)過程中引入了趣味教學(xué),并加強(qiáng)教師與學(xué)生間的溝通。趣味教學(xué)旨在改變傳統(tǒng)的教學(xué)方法和教學(xué)手段#活躍課堂氣氛,把枯燥、抽象的知識通過某種有趣的、學(xué)生易于接受的方式表現(xiàn)出來,從而達(dá)到提高學(xué)生學(xué)習(xí)效率和教學(xué)質(zhì)量的目的,它適合于任何形式的教學(xué)過程,特別適用于高職教育教學(xué)[1]。堆棧,是僅能在一端添加、刪除對象的數(shù)據(jù)結(jié)構(gòu),我們可以以自助餐廳里的彈簧托盤舉例,如圖1所示。先來分析托盤的原理,在彈簧托盤上新增托盤后,整疊托盤重量增加,導(dǎo)致下面的職稱彈簧被壓縮,而整疊托盤的高度仍保持在一個固定的位置。拿托盤正好與此相反。之后讓大家分析思考使用Java語言如何實現(xiàn)這樣一個彈簧托盤。由于這個例子貼近生活,學(xué)生往往會有想法,課堂氣氛活躍起來,能夠開動腦筋,動起手來編碼。實現(xiàn)了基本的彈簧托盤后,在引導(dǎo)學(xué)生一起實現(xiàn)一個自動彈簧托盤,讓它能夠給出目前的使用狀態(tài),比如有多少個托盤,托盤太多超過負(fù)荷或者沒有托盤了要自動提示警告信息,讓托盤變得只能起來,也就是實現(xiàn)我們講授的堆棧。通過這樣帶有趣味性和貼近生活的例子,來調(diào)動課堂的活躍氣氛,激發(fā)了學(xué)生的學(xué)習(xí)興趣,提高學(xué)生學(xué)習(xí)的積極性和主動性,學(xué)生能夠積極的預(yù)習(xí)、復(fù)習(xí)相關(guān)知識,逐漸養(yǎng)成良好的學(xué)習(xí)習(xí)慣。教學(xué)是一個雙向互動的過程,教師在教學(xué)的過程中要從學(xué)生的實際情況出發(fā),采用學(xué)生容易接受的教學(xué)方法講授教學(xué)內(nèi)容,才能形成良好的師生關(guān)系。教師課前備課準(zhǔn)備好“問題”,課上通過問題引導(dǎo)學(xué)生積極思考,踴躍發(fā)言,將傳統(tǒng)的“一言堂”編程“群英會”,激發(fā)學(xué)生學(xué)習(xí)的興趣,鼓勵學(xué)生之間的交流與溝通,營造融洽的課題氣氛。只有這樣學(xué)生對課程知識才更容易接受和掌握,才會取得良好的教學(xué)效果。endprint
2) 針對學(xué)生沒有端正的學(xué)習(xí)態(tài)度和對理論題目有畏難情緒的問題,在課堂上直接引入往屆學(xué)生面試的試題或從《Java面試寶典》等書籍中挑選合適的例題來給學(xué)生講解或讓學(xué)生獨(dú)立完成,比如圖2中所示的題目。這個題目對高職學(xué)生有一定的難度,由于畏難情緒,大部分學(xué)生不愿意思考解答,對這種題目很是反感。但當(dāng)你和學(xué)生們講清是以后找工作的面試題時,他們明顯產(chǎn)生興趣,注意力一下集中起來,再加上老師在黑板上上畫圖分步講解,能收到很好的教學(xué)效果。如果能將往屆學(xué)生請入課堂現(xiàn)身說法,再加上平時課堂上對相關(guān)公司對需求人才的知識結(jié)構(gòu)的宣傳講解,整個教學(xué)就能產(chǎn)生比較理想的效果。通過這樣找工作面試直接相關(guān)的例子,來吸引學(xué)生課堂的注意力,激發(fā)學(xué)習(xí)興趣,提高學(xué)生學(xué)習(xí)的積極性和主動性,讓學(xué)生自發(fā)的產(chǎn)生學(xué)習(xí)的動力。
[在一個單鏈表中,若刪除p所指結(jié)點(diǎn)的后續(xù)結(jié)點(diǎn),則執(zhí)行____。
3) 針對學(xué)生的前導(dǎo)課程基礎(chǔ)不牢問題,加強(qiáng)對Java語言課程內(nèi)容的復(fù)習(xí)和邏輯思維能力的訓(xùn)練。數(shù)據(jù)結(jié)構(gòu)與算法課程的學(xué)習(xí)是一個承前啟后的過程,如果沒有學(xué)好Java課程,本課程的學(xué)習(xí)效果必將大打折扣。數(shù)據(jù)結(jié)構(gòu)的算法中大量使用Java語言中的字符串、程序結(jié)構(gòu)知識和集合類等編程基礎(chǔ)知識,數(shù)據(jù)結(jié)構(gòu)課程學(xué)習(xí)過程中主要就是運(yùn)用這些知識點(diǎn)以及相關(guān)的邏輯思維能力來分析、解決問題。對于大部分剛學(xué)完Java語言的學(xué)生來說,在Java語言的運(yùn)用和邏輯思維能力還不強(qiáng)的情況下直接切入主題,他們就會感到茫然。為了解決這個問題,在開課之初,利用一、兩次課的時間來復(fù)習(xí)Java語言的相關(guān)知識,并引導(dǎo)學(xué)生訓(xùn)練課程中使用到的基本技巧和思維方式。這樣才能為數(shù)據(jù)結(jié)構(gòu)與算法課程的學(xué)習(xí)打下良好的基礎(chǔ)。
4) 針對課程的實驗內(nèi)容設(shè)置問題,教學(xué)中要努力做到讓實驗內(nèi)容盡量與工程實際緊密結(jié)合。數(shù)據(jù)結(jié)構(gòu)是一門緊密結(jié)合實踐,解決現(xiàn)實世界問題的課程,因此合理設(shè)汁實驗對于學(xué)生解決實際問題的能力的提高有很大幫助[2]。教師在教學(xué)過程中一定要注重課程內(nèi)容的實用性,并強(qiáng)調(diào)數(shù)據(jù)結(jié)構(gòu)和相關(guān)算法的靈活應(yīng)用。本人在教學(xué)過程中棧結(jié)構(gòu)應(yīng)用選取了迷宮問題作為教學(xué)考核案例,隊列結(jié)構(gòu)應(yīng)用選取銀行排隊仿真系統(tǒng)作為考核案例,串處理應(yīng)用選取文本編輯器作為考核案例,圖結(jié)構(gòu)的實現(xiàn)和應(yīng)用選取旅游線路安排系統(tǒng)作為考核案例。通過貼近實際的案例,學(xué)生學(xué)到實用開發(fā)技能,并訓(xùn)練了將理論結(jié)合到實際項目開發(fā)中去的實用技能,才能取得較好效果。
5) 針對教師現(xiàn)場指導(dǎo)不到位的問題,我們采用分組教學(xué)模式。有學(xué)生組成4-6人為一組的學(xué)習(xí)小組,針對學(xué)生對所學(xué)內(nèi)容不同的掌握程度,對學(xué)生區(qū)別對待,選撥知識掌握較好并有一定組織能力的優(yōu)秀學(xué)生作為組長,讓組長輔導(dǎo)組員,讓優(yōu)秀學(xué)生在幫助
別人解決問題的同時提高自己的能力,讓他們帶領(lǐng)組員共同開發(fā),當(dāng)組長不能解決時,再由老師解答。這樣往往由于進(jìn)取心和好勝心的趨勢,作為組長的同學(xué)更能認(rèn)真、踏實的學(xué)習(xí),進(jìn)步明顯。而對與學(xué)習(xí)稍差一些的學(xué)生適當(dāng)降低要求,并且讓組長及時指導(dǎo),增強(qiáng)他們學(xué)習(xí)的信心,他們也能迅速跟上。這樣就照顧到了全班學(xué)生的不同學(xué)習(xí)情況,能讓所有同學(xué)都能穩(wěn)步提高。
6) 針對課程考核不完善的問題,我們采用多樣化的考核方法。在數(shù)據(jù)結(jié)構(gòu)與算法課程教學(xué)過程中實用了全方位、多角度的考核方式。我們把職業(yè)素養(yǎng)、實際操作、技能比賽相結(jié)合,把學(xué)院期中、期末考核與認(rèn)證考試考核相結(jié)合,強(qiáng)調(diào)項目實踐能力??己藭r間由期中、期末這樣的點(diǎn)拉長為過程考核的線,過程性考核與結(jié)果性考核相結(jié)合??己酥黧w由個人變?yōu)閭€人與小組考核相結(jié)合,并且自評、互評與教師評價相結(jié)合。多樣化的考核讓學(xué)生更充分的利用了在校時間,促進(jìn)了學(xué)生的學(xué)習(xí)。
3 結(jié)束語
數(shù)據(jù)結(jié)構(gòu)這門課程不論對學(xué)生學(xué)習(xí)還是教師教學(xué)都有一定難度,優(yōu)秀的教學(xué)方法和高效的實施方案值得我們?nèi)パ芯俊=虒W(xué)改革不是目標(biāo),而是一個過程,需要在教學(xué)過程中通過不斷地探索、總結(jié),形成一個集教學(xué)內(nèi)容、教學(xué)方法、教學(xué)手段和考核方式等完整的教學(xué)體系,提高學(xué)生運(yùn)用數(shù)據(jù)結(jié)構(gòu)的知識分析問題、運(yùn)用相應(yīng)的算法動手編程解決問題的能力,努力提升課程的教學(xué)效果。該文分析了目前數(shù)據(jù)結(jié)構(gòu)與算法課程存在的問題并給出了教學(xué)改革的舉措并進(jìn)行了實踐,取得了一定的效果,下一步我們將本文的教學(xué)改革成果應(yīng)用于移動教學(xué)平臺上,期待能發(fā)揮更大的作用。
參考文獻(xiàn):
[1] 王劍, 鐘元生, 羅成, 等. 高職數(shù)據(jù)結(jié)構(gòu)課程趣味教學(xué)的實踐[J]. 職教論壇, 2010(17):31-32.
[2] 申華, 肖瑩瑩. 數(shù)椐結(jié)構(gòu)課程的實踐性教學(xué)模式[J]. 計算機(jī)教育, 20l2(4):103-105.
[3] 唐玉媛. 高職院校數(shù)據(jù)結(jié)構(gòu)課程教學(xué)研究[J]河北師范大學(xué)學(xué)報:教育科學(xué)版, 2009,11(04):127-129.
[4] 蔡紅. 高職數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革探索[J]. 中國職業(yè)技術(shù)教育, 2011(14):87-89.
[5] 陳廣. 高職“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)改革研究[J]. 教育與職業(yè), 2011(27):35-36.
[6] 劉越暢,鐘秀玉,鐘志初,陳世基. 數(shù)據(jù)結(jié)構(gòu)課程工程化實驗教學(xué)的探索和實踐[J]. 實驗室研究與探索,2012,31(8):339-341.
[7] 沈華. 數(shù)據(jù)結(jié)構(gòu)課內(nèi)實踐教學(xué)方案[J]. 實驗室研究與探索,2013,32(10):396-400.endprint
2) 針對學(xué)生沒有端正的學(xué)習(xí)態(tài)度和對理論題目有畏難情緒的問題,在課堂上直接引入往屆學(xué)生面試的試題或從《Java面試寶典》等書籍中挑選合適的例題來給學(xué)生講解或讓學(xué)生獨(dú)立完成,比如圖2中所示的題目。這個題目對高職學(xué)生有一定的難度,由于畏難情緒,大部分學(xué)生不愿意思考解答,對這種題目很是反感。但當(dāng)你和學(xué)生們講清是以后找工作的面試題時,他們明顯產(chǎn)生興趣,注意力一下集中起來,再加上老師在黑板上上畫圖分步講解,能收到很好的教學(xué)效果。如果能將往屆學(xué)生請入課堂現(xiàn)身說法,再加上平時課堂上對相關(guān)公司對需求人才的知識結(jié)構(gòu)的宣傳講解,整個教學(xué)就能產(chǎn)生比較理想的效果。通過這樣找工作面試直接相關(guān)的例子,來吸引學(xué)生課堂的注意力,激發(fā)學(xué)習(xí)興趣,提高學(xué)生學(xué)習(xí)的積極性和主動性,讓學(xué)生自發(fā)的產(chǎn)生學(xué)習(xí)的動力。
[在一個單鏈表中,若刪除p所指結(jié)點(diǎn)的后續(xù)結(jié)點(diǎn),則執(zhí)行____。
3) 針對學(xué)生的前導(dǎo)課程基礎(chǔ)不牢問題,加強(qiáng)對Java語言課程內(nèi)容的復(fù)習(xí)和邏輯思維能力的訓(xùn)練。數(shù)據(jù)結(jié)構(gòu)與算法課程的學(xué)習(xí)是一個承前啟后的過程,如果沒有學(xué)好Java課程,本課程的學(xué)習(xí)效果必將大打折扣。數(shù)據(jù)結(jié)構(gòu)的算法中大量使用Java語言中的字符串、程序結(jié)構(gòu)知識和集合類等編程基礎(chǔ)知識,數(shù)據(jù)結(jié)構(gòu)課程學(xué)習(xí)過程中主要就是運(yùn)用這些知識點(diǎn)以及相關(guān)的邏輯思維能力來分析、解決問題。對于大部分剛學(xué)完Java語言的學(xué)生來說,在Java語言的運(yùn)用和邏輯思維能力還不強(qiáng)的情況下直接切入主題,他們就會感到茫然。為了解決這個問題,在開課之初,利用一、兩次課的時間來復(fù)習(xí)Java語言的相關(guān)知識,并引導(dǎo)學(xué)生訓(xùn)練課程中使用到的基本技巧和思維方式。這樣才能為數(shù)據(jù)結(jié)構(gòu)與算法課程的學(xué)習(xí)打下良好的基礎(chǔ)。
4) 針對課程的實驗內(nèi)容設(shè)置問題,教學(xué)中要努力做到讓實驗內(nèi)容盡量與工程實際緊密結(jié)合。數(shù)據(jù)結(jié)構(gòu)是一門緊密結(jié)合實踐,解決現(xiàn)實世界問題的課程,因此合理設(shè)汁實驗對于學(xué)生解決實際問題的能力的提高有很大幫助[2]。教師在教學(xué)過程中一定要注重課程內(nèi)容的實用性,并強(qiáng)調(diào)數(shù)據(jù)結(jié)構(gòu)和相關(guān)算法的靈活應(yīng)用。本人在教學(xué)過程中棧結(jié)構(gòu)應(yīng)用選取了迷宮問題作為教學(xué)考核案例,隊列結(jié)構(gòu)應(yīng)用選取銀行排隊仿真系統(tǒng)作為考核案例,串處理應(yīng)用選取文本編輯器作為考核案例,圖結(jié)構(gòu)的實現(xiàn)和應(yīng)用選取旅游線路安排系統(tǒng)作為考核案例。通過貼近實際的案例,學(xué)生學(xué)到實用開發(fā)技能,并訓(xùn)練了將理論結(jié)合到實際項目開發(fā)中去的實用技能,才能取得較好效果。
5) 針對教師現(xiàn)場指導(dǎo)不到位的問題,我們采用分組教學(xué)模式。有學(xué)生組成4-6人為一組的學(xué)習(xí)小組,針對學(xué)生對所學(xué)內(nèi)容不同的掌握程度,對學(xué)生區(qū)別對待,選撥知識掌握較好并有一定組織能力的優(yōu)秀學(xué)生作為組長,讓組長輔導(dǎo)組員,讓優(yōu)秀學(xué)生在幫助
別人解決問題的同時提高自己的能力,讓他們帶領(lǐng)組員共同開發(fā),當(dāng)組長不能解決時,再由老師解答。這樣往往由于進(jìn)取心和好勝心的趨勢,作為組長的同學(xué)更能認(rèn)真、踏實的學(xué)習(xí),進(jìn)步明顯。而對與學(xué)習(xí)稍差一些的學(xué)生適當(dāng)降低要求,并且讓組長及時指導(dǎo),增強(qiáng)他們學(xué)習(xí)的信心,他們也能迅速跟上。這樣就照顧到了全班學(xué)生的不同學(xué)習(xí)情況,能讓所有同學(xué)都能穩(wěn)步提高。
6) 針對課程考核不完善的問題,我們采用多樣化的考核方法。在數(shù)據(jù)結(jié)構(gòu)與算法課程教學(xué)過程中實用了全方位、多角度的考核方式。我們把職業(yè)素養(yǎng)、實際操作、技能比賽相結(jié)合,把學(xué)院期中、期末考核與認(rèn)證考試考核相結(jié)合,強(qiáng)調(diào)項目實踐能力??己藭r間由期中、期末這樣的點(diǎn)拉長為過程考核的線,過程性考核與結(jié)果性考核相結(jié)合??己酥黧w由個人變?yōu)閭€人與小組考核相結(jié)合,并且自評、互評與教師評價相結(jié)合。多樣化的考核讓學(xué)生更充分的利用了在校時間,促進(jìn)了學(xué)生的學(xué)習(xí)。
3 結(jié)束語
數(shù)據(jù)結(jié)構(gòu)這門課程不論對學(xué)生學(xué)習(xí)還是教師教學(xué)都有一定難度,優(yōu)秀的教學(xué)方法和高效的實施方案值得我們?nèi)パ芯俊=虒W(xué)改革不是目標(biāo),而是一個過程,需要在教學(xué)過程中通過不斷地探索、總結(jié),形成一個集教學(xué)內(nèi)容、教學(xué)方法、教學(xué)手段和考核方式等完整的教學(xué)體系,提高學(xué)生運(yùn)用數(shù)據(jù)結(jié)構(gòu)的知識分析問題、運(yùn)用相應(yīng)的算法動手編程解決問題的能力,努力提升課程的教學(xué)效果。該文分析了目前數(shù)據(jù)結(jié)構(gòu)與算法課程存在的問題并給出了教學(xué)改革的舉措并進(jìn)行了實踐,取得了一定的效果,下一步我們將本文的教學(xué)改革成果應(yīng)用于移動教學(xué)平臺上,期待能發(fā)揮更大的作用。
參考文獻(xiàn):
[1] 王劍, 鐘元生, 羅成, 等. 高職數(shù)據(jù)結(jié)構(gòu)課程趣味教學(xué)的實踐[J]. 職教論壇, 2010(17):31-32.
[2] 申華, 肖瑩瑩. 數(shù)椐結(jié)構(gòu)課程的實踐性教學(xué)模式[J]. 計算機(jī)教育, 20l2(4):103-105.
[3] 唐玉媛. 高職院校數(shù)據(jù)結(jié)構(gòu)課程教學(xué)研究[J]河北師范大學(xué)學(xué)報:教育科學(xué)版, 2009,11(04):127-129.
[4] 蔡紅. 高職數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革探索[J]. 中國職業(yè)技術(shù)教育, 2011(14):87-89.
[5] 陳廣. 高職“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)改革研究[J]. 教育與職業(yè), 2011(27):35-36.
[6] 劉越暢,鐘秀玉,鐘志初,陳世基. 數(shù)據(jù)結(jié)構(gòu)課程工程化實驗教學(xué)的探索和實踐[J]. 實驗室研究與探索,2012,31(8):339-341.
[7] 沈華. 數(shù)據(jù)結(jié)構(gòu)課內(nèi)實踐教學(xué)方案[J]. 實驗室研究與探索,2013,32(10):396-400.endprint
2) 針對學(xué)生沒有端正的學(xué)習(xí)態(tài)度和對理論題目有畏難情緒的問題,在課堂上直接引入往屆學(xué)生面試的試題或從《Java面試寶典》等書籍中挑選合適的例題來給學(xué)生講解或讓學(xué)生獨(dú)立完成,比如圖2中所示的題目。這個題目對高職學(xué)生有一定的難度,由于畏難情緒,大部分學(xué)生不愿意思考解答,對這種題目很是反感。但當(dāng)你和學(xué)生們講清是以后找工作的面試題時,他們明顯產(chǎn)生興趣,注意力一下集中起來,再加上老師在黑板上上畫圖分步講解,能收到很好的教學(xué)效果。如果能將往屆學(xué)生請入課堂現(xiàn)身說法,再加上平時課堂上對相關(guān)公司對需求人才的知識結(jié)構(gòu)的宣傳講解,整個教學(xué)就能產(chǎn)生比較理想的效果。通過這樣找工作面試直接相關(guān)的例子,來吸引學(xué)生課堂的注意力,激發(fā)學(xué)習(xí)興趣,提高學(xué)生學(xué)習(xí)的積極性和主動性,讓學(xué)生自發(fā)的產(chǎn)生學(xué)習(xí)的動力。
[在一個單鏈表中,若刪除p所指結(jié)點(diǎn)的后續(xù)結(jié)點(diǎn),則執(zhí)行____。
3) 針對學(xué)生的前導(dǎo)課程基礎(chǔ)不牢問題,加強(qiáng)對Java語言課程內(nèi)容的復(fù)習(xí)和邏輯思維能力的訓(xùn)練。數(shù)據(jù)結(jié)構(gòu)與算法課程的學(xué)習(xí)是一個承前啟后的過程,如果沒有學(xué)好Java課程,本課程的學(xué)習(xí)效果必將大打折扣。數(shù)據(jù)結(jié)構(gòu)的算法中大量使用Java語言中的字符串、程序結(jié)構(gòu)知識和集合類等編程基礎(chǔ)知識,數(shù)據(jù)結(jié)構(gòu)課程學(xué)習(xí)過程中主要就是運(yùn)用這些知識點(diǎn)以及相關(guān)的邏輯思維能力來分析、解決問題。對于大部分剛學(xué)完Java語言的學(xué)生來說,在Java語言的運(yùn)用和邏輯思維能力還不強(qiáng)的情況下直接切入主題,他們就會感到茫然。為了解決這個問題,在開課之初,利用一、兩次課的時間來復(fù)習(xí)Java語言的相關(guān)知識,并引導(dǎo)學(xué)生訓(xùn)練課程中使用到的基本技巧和思維方式。這樣才能為數(shù)據(jù)結(jié)構(gòu)與算法課程的學(xué)習(xí)打下良好的基礎(chǔ)。
4) 針對課程的實驗內(nèi)容設(shè)置問題,教學(xué)中要努力做到讓實驗內(nèi)容盡量與工程實際緊密結(jié)合。數(shù)據(jù)結(jié)構(gòu)是一門緊密結(jié)合實踐,解決現(xiàn)實世界問題的課程,因此合理設(shè)汁實驗對于學(xué)生解決實際問題的能力的提高有很大幫助[2]。教師在教學(xué)過程中一定要注重課程內(nèi)容的實用性,并強(qiáng)調(diào)數(shù)據(jù)結(jié)構(gòu)和相關(guān)算法的靈活應(yīng)用。本人在教學(xué)過程中棧結(jié)構(gòu)應(yīng)用選取了迷宮問題作為教學(xué)考核案例,隊列結(jié)構(gòu)應(yīng)用選取銀行排隊仿真系統(tǒng)作為考核案例,串處理應(yīng)用選取文本編輯器作為考核案例,圖結(jié)構(gòu)的實現(xiàn)和應(yīng)用選取旅游線路安排系統(tǒng)作為考核案例。通過貼近實際的案例,學(xué)生學(xué)到實用開發(fā)技能,并訓(xùn)練了將理論結(jié)合到實際項目開發(fā)中去的實用技能,才能取得較好效果。
5) 針對教師現(xiàn)場指導(dǎo)不到位的問題,我們采用分組教學(xué)模式。有學(xué)生組成4-6人為一組的學(xué)習(xí)小組,針對學(xué)生對所學(xué)內(nèi)容不同的掌握程度,對學(xué)生區(qū)別對待,選撥知識掌握較好并有一定組織能力的優(yōu)秀學(xué)生作為組長,讓組長輔導(dǎo)組員,讓優(yōu)秀學(xué)生在幫助
別人解決問題的同時提高自己的能力,讓他們帶領(lǐng)組員共同開發(fā),當(dāng)組長不能解決時,再由老師解答。這樣往往由于進(jìn)取心和好勝心的趨勢,作為組長的同學(xué)更能認(rèn)真、踏實的學(xué)習(xí),進(jìn)步明顯。而對與學(xué)習(xí)稍差一些的學(xué)生適當(dāng)降低要求,并且讓組長及時指導(dǎo),增強(qiáng)他們學(xué)習(xí)的信心,他們也能迅速跟上。這樣就照顧到了全班學(xué)生的不同學(xué)習(xí)情況,能讓所有同學(xué)都能穩(wěn)步提高。
6) 針對課程考核不完善的問題,我們采用多樣化的考核方法。在數(shù)據(jù)結(jié)構(gòu)與算法課程教學(xué)過程中實用了全方位、多角度的考核方式。我們把職業(yè)素養(yǎng)、實際操作、技能比賽相結(jié)合,把學(xué)院期中、期末考核與認(rèn)證考試考核相結(jié)合,強(qiáng)調(diào)項目實踐能力??己藭r間由期中、期末這樣的點(diǎn)拉長為過程考核的線,過程性考核與結(jié)果性考核相結(jié)合??己酥黧w由個人變?yōu)閭€人與小組考核相結(jié)合,并且自評、互評與教師評價相結(jié)合。多樣化的考核讓學(xué)生更充分的利用了在校時間,促進(jìn)了學(xué)生的學(xué)習(xí)。
3 結(jié)束語
數(shù)據(jù)結(jié)構(gòu)這門課程不論對學(xué)生學(xué)習(xí)還是教師教學(xué)都有一定難度,優(yōu)秀的教學(xué)方法和高效的實施方案值得我們?nèi)パ芯俊=虒W(xué)改革不是目標(biāo),而是一個過程,需要在教學(xué)過程中通過不斷地探索、總結(jié),形成一個集教學(xué)內(nèi)容、教學(xué)方法、教學(xué)手段和考核方式等完整的教學(xué)體系,提高學(xué)生運(yùn)用數(shù)據(jù)結(jié)構(gòu)的知識分析問題、運(yùn)用相應(yīng)的算法動手編程解決問題的能力,努力提升課程的教學(xué)效果。該文分析了目前數(shù)據(jù)結(jié)構(gòu)與算法課程存在的問題并給出了教學(xué)改革的舉措并進(jìn)行了實踐,取得了一定的效果,下一步我們將本文的教學(xué)改革成果應(yīng)用于移動教學(xué)平臺上,期待能發(fā)揮更大的作用。
參考文獻(xiàn):
[1] 王劍, 鐘元生, 羅成, 等. 高職數(shù)據(jù)結(jié)構(gòu)課程趣味教學(xué)的實踐[J]. 職教論壇, 2010(17):31-32.
[2] 申華, 肖瑩瑩. 數(shù)椐結(jié)構(gòu)課程的實踐性教學(xué)模式[J]. 計算機(jī)教育, 20l2(4):103-105.
[3] 唐玉媛. 高職院校數(shù)據(jù)結(jié)構(gòu)課程教學(xué)研究[J]河北師范大學(xué)學(xué)報:教育科學(xué)版, 2009,11(04):127-129.
[4] 蔡紅. 高職數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革探索[J]. 中國職業(yè)技術(shù)教育, 2011(14):87-89.
[5] 陳廣. 高職“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)改革研究[J]. 教育與職業(yè), 2011(27):35-36.
[6] 劉越暢,鐘秀玉,鐘志初,陳世基. 數(shù)據(jù)結(jié)構(gòu)課程工程化實驗教學(xué)的探索和實踐[J]. 實驗室研究與探索,2012,31(8):339-341.
[7] 沈華. 數(shù)據(jù)結(jié)構(gòu)課內(nèi)實踐教學(xué)方案[J]. 實驗室研究與探索,2013,32(10):396-400.endprint