李秋萍 張 璇 李 浪 李康滿 趙輝煌
(衡陽師范學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 湖南·衡陽 421008)
數(shù)據(jù)結(jié)構(gòu)課程是計(jì)算機(jī)相關(guān)學(xué)科中的一門綜合性的專業(yè)基礎(chǔ)課,是介于數(shù)學(xué)、計(jì)算機(jī)軟件、計(jì)算機(jī)硬件三者之間的核心基礎(chǔ)課程,這門課不僅是實(shí)現(xiàn)編譯程序的基礎(chǔ),而且是各類軟件程序設(shè)計(jì)、數(shù)據(jù)庫系統(tǒng)、操作系統(tǒng)及其他系統(tǒng)程序的重要基礎(chǔ)。因此,該課程的學(xué)習(xí)質(zhì)量至關(guān)重要。隨著復(fù)旦共識,北京指南和天大行動構(gòu)成的新工科建設(shè)三部曲的進(jìn)行,應(yīng)用型的本科高等學(xué)校建設(shè)成為了我國高等教育改革的重要目標(biāo),應(yīng)用型的本科教育模式是要同時(shí)進(jìn)行理論教學(xué)與實(shí)踐訓(xùn)練,并且要突出工程實(shí)踐,重點(diǎn)培養(yǎng)學(xué)生應(yīng)用能力的教學(xué)模式。為了提高應(yīng)用型本科教育的質(zhì)量,我們需要切實(shí)的加強(qiáng)學(xué)生實(shí)踐性和技能性環(huán)節(jié)的教學(xué),計(jì)算機(jī)應(yīng)用型本科教育培養(yǎng)的目標(biāo)是具備良好的理論基礎(chǔ)、知識面寬、創(chuàng)新能力強(qiáng)、面對實(shí)際問題可以靈活應(yīng)用相應(yīng)理論解決的應(yīng)用型人才。為培養(yǎng)理論基礎(chǔ)夯實(shí),實(shí)踐性強(qiáng)的應(yīng)用型人才,怎樣開展應(yīng)用型本科教育數(shù)據(jù)結(jié)構(gòu)課程教學(xué)成為我們所探討的問題。
數(shù)據(jù)結(jié)構(gòu)課程的特點(diǎn)是理論性強(qiáng)、知識點(diǎn)多且內(nèi)容高度抽象,這使學(xué)生在課程學(xué)習(xí)中不能夠充分理解教學(xué)內(nèi)容,在對知識模糊的狀態(tài)下,隨著理論與應(yīng)用的一度結(jié)合,學(xué)習(xí)越來越困難,在此狀態(tài)下,會逐漸失去對本課程學(xué)習(xí)的信心,從而造成本課程的理論基礎(chǔ)不扎實(shí)。除此之外,數(shù)據(jù)結(jié)構(gòu)課程中的大多算法是采用C語言和C++語言來實(shí)現(xiàn)的,C語言和C++語言中的順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)是數(shù)據(jù)存儲中較常用的方法,C語言和C++本身也是將算法轉(zhuǎn)換成程序的高級編程語言之一。因此,學(xué)生對C語言和C++的掌握情況將直接影響本課程的學(xué)習(xí)效果,所以,學(xué)好數(shù)據(jù)結(jié)構(gòu)理論基礎(chǔ)的前提是掌握好C語言和C++語言,一旦這兩者掌握不熟練,對數(shù)據(jù)結(jié)構(gòu)的理論基礎(chǔ)的學(xué)習(xí)也會產(chǎn)生一定的影響。
數(shù)據(jù)結(jié)構(gòu)課程一直以來是計(jì)算機(jī)相關(guān)專業(yè)的學(xué)習(xí)重點(diǎn),除卻理論知識要扎實(shí)外,應(yīng)用能力也是非常重要的,目前的教學(xué)形式,注重理論基礎(chǔ)知識而實(shí)踐訓(xùn)練只側(cè)重于單一知識點(diǎn)的訓(xùn)練并沒有達(dá)到理想中的效果,而且,學(xué)生上機(jī)實(shí)踐課程較少,只有一周兩個(gè)課時(shí),很難在上機(jī)實(shí)踐中有效的提高實(shí)踐能力,因上機(jī)實(shí)踐時(shí)間有限導(dǎo)致學(xué)生學(xué)習(xí)的理論知識不能夠及時(shí)的得到訓(xùn)練與驗(yàn)證,從而形成惡性循環(huán),對理論基礎(chǔ)不能夠得到深刻的認(rèn)識,從而應(yīng)用能力也沒有得到有效的提升。
應(yīng)用型本科教育重在“應(yīng)用”二字,教育觀、人才觀和質(zhì)量觀需以體現(xiàn)時(shí)代精神和社會發(fā)展要求為先導(dǎo),以實(shí)踐教學(xué)為核心,實(shí)踐教學(xué)是提高學(xué)生就業(yè)競爭力和社會職業(yè)素養(yǎng)的重要途徑,也是培養(yǎng)學(xué)生創(chuàng)新能力和實(shí)踐能力的重要環(huán)節(jié),而增強(qiáng)應(yīng)用能力需要扎實(shí)的理論基礎(chǔ)做鋪墊,因而加強(qiáng)理論基礎(chǔ)和提高學(xué)生應(yīng)用能力是本課程的教學(xué)目標(biāo)。
數(shù)據(jù)結(jié)構(gòu)是一門需要高度抽象思維能力的學(xué)科,如果完全依賴于傳統(tǒng)教學(xué)模式之上的話,教學(xué)過程中會顯得枯燥無味,容易導(dǎo)致學(xué)生注意力的分散,因此,改進(jìn)教學(xué)方法勢在必行,針對數(shù)據(jù)結(jié)構(gòu)教學(xué)改革可分為以下兩個(gè)基本點(diǎn):
3.1.1 課程教學(xué)之理論基礎(chǔ)
(1)在課程學(xué)習(xí)開始前,布置課前小作業(yè),對課程有一定的預(yù)習(xí),使同學(xué)們對將要學(xué)習(xí)的課程有一個(gè)大概的了解,(小作業(yè)可以為一些知識點(diǎn)的概念也可以為知識點(diǎn)間聯(lián)系圖)以便為后面課程的開展做鋪墊;
(2)在課程教學(xué)中,擔(dān)任課程任務(wù)的老師可以嘗試改變舊的教學(xué)方式,探索嘗試新的教學(xué)方式,盡可能有效的使學(xué)生積極、主動地沉浸到學(xué)習(xí)活動之中,在每節(jié)教學(xué)開始前將要學(xué)習(xí)的章節(jié)中的難點(diǎn)、重點(diǎn)告知學(xué)生,讓學(xué)生有更好的學(xué)習(xí)方向;
(3)數(shù)據(jù)結(jié)構(gòu)的概念復(fù)雜多樣,可以采用畫圖或列表等方式對各個(gè)基礎(chǔ)知識進(jìn)行歸納、總結(jié),對于抽象度難以理解的理論可以采用動畫演示,使用多媒體等輔助教學(xué)的工具將其展現(xiàn)在學(xué)生面前,使學(xué)生更加清晰,更加全面理解所學(xué)知識點(diǎn);
(4)創(chuàng)建一個(gè)本課程的知識論壇或群,學(xué)生可以在這里共同討論理解不全的知識點(diǎn)以及自己對一些方面的見解,使學(xué)生對本課程知識的理解更加深刻,更加全面;
(5)為學(xué)生提供網(wǎng)絡(luò)教學(xué)視頻資源,為沒有學(xué)習(xí)到位的學(xué)生提供再次學(xué)習(xí)的機(jī)會。
3.1.2 課程教學(xué)之實(shí)踐訓(xùn)練
(1)數(shù)據(jù)結(jié)構(gòu)課程的教學(xué)在于幫助學(xué)生理解算法中心思想,鍛煉學(xué)生邏輯思維創(chuàng)新能力,所以除了學(xué)習(xí)理論知識外,還應(yīng)關(guān)注學(xué)生的上機(jī)實(shí)踐,在上機(jī)實(shí)踐前,了解學(xué)生掌握基礎(chǔ)知識的基本情況和程序編寫能力,這個(gè)可以通過課堂小測取得,在剛接觸數(shù)據(jù)結(jié)構(gòu)實(shí)踐時(shí),可以讓學(xué)生先做實(shí)驗(yàn)指導(dǎo)書上的實(shí)驗(yàn),讓學(xué)生慢慢體驗(yàn)實(shí)驗(yàn)過程,培養(yǎng)編程興趣,然后再過渡到自主構(gòu)造性實(shí)驗(yàn),這時(shí)學(xué)生可以充分利用所學(xué)數(shù)據(jù)結(jié)構(gòu)算法知識對具體的問題進(jìn)行應(yīng)用。
(2)在不斷的學(xué)習(xí)下,學(xué)生在實(shí)踐時(shí)遇到諸多困難,此時(shí),老師應(yīng)給予幫助和鼓勵,讓學(xué)生重拾信心,突破重重困難,在不斷地實(shí)踐訓(xùn)練下,提高學(xué)生的應(yīng)用能力,創(chuàng)新能力。
(3)理論基礎(chǔ)課時(shí)往往多于上機(jī)實(shí)踐課時(shí),理論基礎(chǔ)固然重要,但上機(jī)實(shí)踐培養(yǎng)學(xué)生應(yīng)用能力也同等重要,此時(shí)應(yīng)增加上機(jī)實(shí)踐課時(shí),使學(xué)生有更多的時(shí)間來進(jìn)行實(shí)踐訓(xùn)練,以此逐步提高應(yīng)用能力。
(4)組織學(xué)生成立多個(gè)小組,小組成員分工共同完成一個(gè)項(xiàng)目設(shè)計(jì),項(xiàng)目設(shè)計(jì)要求展現(xiàn)數(shù)據(jù)結(jié)構(gòu)所學(xué)理論,并編寫項(xiàng)目計(jì)劃書,提高學(xué)生的思維動手能力與應(yīng)用動手能力。
(1)明確教學(xué)的重點(diǎn),理清層次的關(guān)系,從使用程序語言解決實(shí)際問題出發(fā),理清數(shù)據(jù)結(jié)構(gòu)、算法及程序的概念及其關(guān)系,掌握數(shù)據(jù)結(jié)構(gòu)的基本內(nèi)容,如數(shù)據(jù)的存儲結(jié)構(gòu)、邏輯結(jié)構(gòu)及其運(yùn)算,進(jìn)而構(gòu)建出相應(yīng)的知識體系框架(如圖1簡圖)。數(shù)據(jù)的存儲結(jié)構(gòu)和邏輯結(jié)構(gòu)是數(shù)據(jù)結(jié)構(gòu)的兩個(gè)密不可分的方面,數(shù)據(jù)的存儲結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲空間中的存放形式。按照數(shù)據(jù)的邏輯結(jié)構(gòu)對其進(jìn)行簡單的分類,包括線性結(jié)構(gòu)和非線性結(jié)構(gòu)。
圖1
(2)為了更快速地處理數(shù)據(jù),提高數(shù)據(jù)實(shí)現(xiàn)效率,如何按一定的邏輯結(jié)構(gòu),把數(shù)據(jù)組織起來,并選擇適當(dāng)?shù)拇鎯Ρ硎痉椒ò堰壿嫿Y(jié)構(gòu)組織好的數(shù)據(jù)存儲到計(jì)算機(jī)的存儲器里也成為優(yōu)化教學(xué)的內(nèi)容。
(3)任課教師應(yīng)將編程語言語法、理論基礎(chǔ)與編程思維培養(yǎng)、應(yīng)用能力訓(xùn)練并重教學(xué),安排好教學(xué)進(jìn)度,整理好教學(xué)資料,在上實(shí)踐課時(shí),檢查學(xué)生們理論知識的掌握情況,以便為后續(xù)數(shù)據(jù)結(jié)構(gòu)課程的開展夯實(shí)基礎(chǔ)。
應(yīng)用型的本科教育可以有效推進(jìn)中國高等教育大眾化的步伐,滿足中國經(jīng)濟(jì)社會發(fā)展對高層次應(yīng)用型人才的需求。數(shù)據(jù)結(jié)構(gòu)主要是讓學(xué)生掌握處理具體實(shí)際問題求解的方法,通過不斷加強(qiáng)理論知識的理解和反復(fù)實(shí)踐,使學(xué)生可以將不同數(shù)據(jù)的邏輯表示模式轉(zhuǎn)化為相應(yīng)的內(nèi)部存儲方式。數(shù)據(jù)結(jié)構(gòu)課程作為計(jì)算機(jī)相關(guān)專業(yè)的核心課程,其實(shí)踐性對培養(yǎng)應(yīng)用型人才至關(guān)重要,而當(dāng)今社會所面臨的新的教育命題便包括如何培養(yǎng)出適應(yīng)社會發(fā)展的應(yīng)用型人才,因此對數(shù)據(jù)結(jié)構(gòu)課程實(shí)施應(yīng)用型本科教育在培養(yǎng)應(yīng)用型人才上起到了不可或缺的作用,從數(shù)據(jù)結(jié)構(gòu)的課程特點(diǎn)出發(fā),對理論知識教學(xué)和上機(jī)實(shí)踐教學(xué)方式方法進(jìn)行改進(jìn),在理論教學(xué)中使得知識的講解更能引發(fā)學(xué)生興趣并且具有一定的實(shí)用性,實(shí)踐教學(xué)引導(dǎo)學(xué)生實(shí)驗(yàn)的自主性、旨在提高學(xué)生的動手能力,當(dāng)今時(shí)代急需應(yīng)用型人才,數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的核心課程,其實(shí)行應(yīng)用型本科教育,是在為培養(yǎng)出符合當(dāng)今社會發(fā)展的應(yīng)用型人才打下堅(jiān)實(shí)的基礎(chǔ)。