摘要:“數(shù)據(jù)結(jié)構(gòu)與算法”是計(jì)算機(jī)科學(xué)技術(shù)專業(yè)重要的專業(yè)課程,該課程的教與學(xué)都有相當(dāng)?shù)碾y度。近年來(lái),我們?cè)谠撜n程中引入了項(xiàng)目式教學(xué)方法,通過(guò)精心設(shè)計(jì)項(xiàng)目,以軟件工程思想指導(dǎo)項(xiàng)目式教學(xué)過(guò)程,將師范教師教育與專業(yè)教育相融合等一系列教學(xué)改革,取得了顯著的教學(xué)成效。本文介紹了我院的這些經(jīng)驗(yàn)。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu)與算法;教學(xué)改革;項(xiàng)目;教學(xué)模式
中圖分類號(hào):G642文獻(xiàn)標(biāo)識(shí)碼:B
“數(shù)據(jù)結(jié)構(gòu)與算法”是計(jì)算機(jī)科學(xué)技術(shù)相關(guān)專業(yè)的重要基礎(chǔ)課程。該課程是計(jì)算機(jī)科學(xué)技術(shù)專業(yè)研究生入學(xué)考試國(guó)家統(tǒng)一考試的統(tǒng)考科目之一,也是設(shè)計(jì)和實(shí)現(xiàn)各種應(yīng)用軟件的重要基礎(chǔ)。課程教學(xué)效果對(duì)學(xué)生專業(yè)素養(yǎng)的形成具有重要的影響作用。近年來(lái),本課程組圍繞課程建設(shè),對(duì)“數(shù)據(jù)結(jié)構(gòu)與算法”課程教學(xué)進(jìn)行了有益的改革與探索。
1課程教學(xué)改革的必要性與緊迫性
我?!皵?shù)據(jù)結(jié)構(gòu)與算法”是江西省高等學(xué)校首批精品課程,它是一門理論性和實(shí)踐性都很強(qiáng)的課程。在過(guò)去的教學(xué)中,一部分老師重理論輕實(shí)踐,而且由于該課程內(nèi)容比較抽象,不好講解,有時(shí)教師即使花了很多的時(shí)間準(zhǔn)備,但由于學(xué)生個(gè)體的差異,也很難從整體上取得理想的教學(xué)效果。從學(xué)生的學(xué)習(xí)態(tài)度來(lái)看,學(xué)生對(duì)這門課程的認(rèn)識(shí)僅停留在這門課是研究生入學(xué)考試的必考課程,知道這門課程非常重要,但起初并不能體會(huì)到這門課程在專業(yè)體系中的作用,對(duì)它在軟件設(shè)計(jì)與開發(fā)中的作用更是缺乏感性認(rèn)識(shí),學(xué)生學(xué)習(xí)的興趣有待提高。
“數(shù)據(jù)結(jié)構(gòu)與算法”作為實(shí)踐性很強(qiáng)的計(jì)算機(jī)專業(yè)的基礎(chǔ)課,教學(xué)中必然離不開實(shí)踐。過(guò)去,我們往往采用一般性實(shí)驗(yàn)作為課程實(shí)踐的主要內(nèi)容,即布置針對(duì)本次課堂教學(xué)內(nèi)容的小型練習(xí)題,讓學(xué)生獨(dú)立完成程序設(shè)計(jì)與實(shí)現(xiàn)。這樣的實(shí)踐主要存在兩個(gè)方面問(wèn)題:
(1) 練習(xí)題一般為驗(yàn)證型的,所需要用到的知識(shí)點(diǎn)就是課堂教學(xué)剛講授過(guò)的內(nèi)容,學(xué)生不需要自己去考慮各種可能的解決方案并找到最合適的方法,學(xué)生受到的鍛煉相對(duì)較少。
(2) 學(xué)生獨(dú)立完成小型程序,可以一定程度上鍛煉個(gè)體的編程能力,但現(xiàn)代軟件開發(fā)的規(guī)模,使得團(tuán)隊(duì)合作在大多數(shù)情況下成為必須。為了在課程實(shí)踐環(huán)節(jié)加強(qiáng)團(tuán)隊(duì)協(xié)作,盡早地讓學(xué)生接受軟件工程訓(xùn)練,必須對(duì)傳統(tǒng)的實(shí)踐環(huán)節(jié)進(jìn)行改革。
從2003年起我校全面實(shí)行以學(xué)科類招生的全面學(xué)分制教學(xué)體制,為了保證學(xué)分制下專業(yè)課程的教學(xué)質(zhì)量,學(xué)校提出了“以生為本,全面發(fā)展”的人才培養(yǎng)模式。對(duì)“數(shù)據(jù)結(jié)構(gòu)與算法”等省校級(jí)精品課程提出了新的建設(shè)目標(biāo),要求以課程教學(xué)改革為手段,確實(shí)提升課程教學(xué)質(zhì)量,服務(wù)于學(xué)校人才培養(yǎng)模式改革與實(shí)踐。為此,課程組在省校級(jí)教學(xué)研究課題的支助下開展了基于項(xiàng)目的數(shù)據(jù)結(jié)構(gòu)與算法教學(xué)改革與實(shí)踐。
2基于項(xiàng)目的教學(xué)模式
基于項(xiàng)目的教學(xué)模式是指基于項(xiàng)目的學(xué)習(xí)(Project based Learning,PBL)模式。它是以學(xué)習(xí)/研究某種或多種學(xué)科的概念和原理為中心,在真實(shí)世界中借助多種資源開展探究活動(dòng),并在一定時(shí)間內(nèi)解決一系列相互關(guān)聯(lián)問(wèn)題的一種教學(xué)/學(xué)習(xí)模式。
2.1項(xiàng)目教學(xué)模式構(gòu)成要素
基于項(xiàng)目的學(xué)習(xí)模式主要由“內(nèi)容、活動(dòng)、情境、結(jié)果”四大要素構(gòu)成。
(1) 內(nèi)容:學(xué)科的核心觀念和原理
PBL模式的主要學(xué)習(xí)內(nèi)容是在現(xiàn)實(shí)生活和真實(shí)情境中表現(xiàn)出來(lái)的各種復(fù)雜的、非預(yù)測(cè)性的、多學(xué)科知識(shí)交叉的問(wèn)題。這種內(nèi)容的定位體現(xiàn)了當(dāng)今教育教學(xué)改革發(fā)展的價(jià)值取向,因?yàn)樗沟脦熒芯Γ瑢?duì)學(xué)科知識(shí)核心概念和觀點(diǎn)進(jìn)行深度學(xué)習(xí)和研究。
(2) 活動(dòng):生動(dòng)有效的學(xué)習(xí)策略
PBL模式的活動(dòng)主要是指學(xué)生采用一定的技術(shù)工具和一定的研究方法對(duì)問(wèn)題求解所采取的探究行動(dòng)。通常開展
課題支助:江西師范大學(xué)實(shí)驗(yàn)教改項(xiàng)目,江西省高等學(xué)校教學(xué)研究課題《“數(shù)據(jù)結(jié)構(gòu)”綜合性課程設(shè)計(jì)教學(xué)改革》,江西省教育廳科技項(xiàng)目#GJJ08155。
這種活動(dòng)的順序是:(A)結(jié)學(xué)生呈現(xiàn)有一定難度的問(wèn)題;(B)學(xué)生通過(guò)各種途徑搜尋資料,如實(shí)地調(diào)查研究、上網(wǎng)搜索;(C)對(duì)所掌握的資料進(jìn)行相應(yīng)的處理、加工并生成一定的信息,從而找到問(wèn)題的答案。
(3) 情境:特殊的學(xué)習(xí)環(huán)境
PBL模式注重促進(jìn)學(xué)生之間的合作學(xué)習(xí),同時(shí)也支持學(xué)生的個(gè)別化學(xué)習(xí)。PBL模式中的情境作用定位主要表現(xiàn)在:(A)促進(jìn)個(gè)人與個(gè)人之間以及個(gè)人和社會(huì)團(tuán)體間的合作;(B)鼓勵(lì)學(xué)生使用并掌握技術(shù)工具。
(4) 結(jié)果:豐富的學(xué)習(xí)成果
PBL模式強(qiáng)調(diào)促進(jìn)學(xué)生掌握豐富的工作技能并將這些技能運(yùn)用于終身學(xué)習(xí)中。其成果主要包括:(A)運(yùn)用知識(shí)的技能和策略;(B)特定的技能、計(jì)劃/部署、態(tài)度以及成功開展工作的信念。
2.2項(xiàng)目教學(xué)模式操作流程
PBL模式強(qiáng)調(diào)的是以學(xué)生為中心,強(qiáng)調(diào)小組合作學(xué)習(xí),要求學(xué)生對(duì)現(xiàn)實(shí)生活中的真實(shí)性問(wèn)題進(jìn)行探究。通常,其操作流程分為“選定項(xiàng)目—制定計(jì)劃—活動(dòng)探究—作品制作—成果交流—活動(dòng)評(píng)價(jià)”等六個(gè)步驟。
項(xiàng)目的選擇由學(xué)生來(lái)進(jìn)行,教師在此過(guò)程中作為指導(dǎo)者。計(jì)劃的內(nèi)容包括學(xué)習(xí)時(shí)間的詳細(xì)安排和活動(dòng)計(jì)劃?;顒?dòng)探究是項(xiàng)目學(xué)習(xí)的核心或主體部分。制作作品是PBL模式區(qū)別于一般活動(dòng)教學(xué)的典型特征,該過(guò)程與活動(dòng)探究交融在一起,在作品制作的過(guò)程中,學(xué)生運(yùn)用在學(xué)習(xí)過(guò)程中所獲得的知識(shí)和技能來(lái)完成作品的制作。要求對(duì)他們所研究的項(xiàng)目進(jìn)行描述,并且展示他們的研究成果,作品是學(xué)生在項(xiàng)目學(xué)習(xí)中所獲知識(shí)和技能的直接反映。
協(xié)作是計(jì)算機(jī)工作者應(yīng)該具備的基本素質(zhì),基于項(xiàng)目的教學(xué)模式要求學(xué)生以項(xiàng)目小組的形式開展團(tuán)隊(duì)合作,共同完成作品的制作,顯然這對(duì)提高他們的創(chuàng)新能力、團(tuán)隊(duì)協(xié)作能力都是非常有益的。
正是因?yàn)轫?xiàng)目協(xié)作教學(xué)模式的上述顯著優(yōu)點(diǎn),2005年起,我們就在“數(shù)據(jù)結(jié)構(gòu)與算法”的教學(xué)中引入項(xiàng)目教學(xué)模式作為一種課堂教學(xué)的輔助手段。利用信息技術(shù)支持下的PBL模式輔助教學(xué)過(guò)程,幫助學(xué)生提高解決問(wèn)題與分析問(wèn)題的能力,培養(yǎng)信息技術(shù)工作者所必須的團(tuán)隊(duì)合作精神。實(shí)踐表明,項(xiàng)目教學(xué)模式指導(dǎo)下的教學(xué)實(shí)踐對(duì)促進(jìn)課程建設(shè)起到了十分明顯的作用。近年來(lái),培養(yǎng)的學(xué)生在算法分析與設(shè)計(jì)方面的能力有了明顯的提高,大大提高了“數(shù)據(jù)結(jié)構(gòu)與算法”課程的教學(xué)質(zhì)量。
3課程教學(xué)改革的舉措
信息技術(shù)的發(fā)展,為開展項(xiàng)目教學(xué)模式提供了很好的資源平臺(tái)。近三年,我們圍繞項(xiàng)目教學(xué)模式在“數(shù)據(jù)結(jié)構(gòu)與算法”課程上進(jìn)行了以下的改革舉措。
(1) 借助信息技術(shù)支持PBL活動(dòng)設(shè)計(jì)
建構(gòu)主義認(rèn)為,學(xué)習(xí)者的知識(shí)是在一定的情境下,借助他人的幫助,利用必要的學(xué)習(xí)資源,通過(guò)意義自主建構(gòu)的方式而獲得。因此,設(shè)計(jì)一定的情境和活動(dòng)是PBL教學(xué)設(shè)計(jì)最重要的一環(huán)。我們?cè)凇皵?shù)據(jù)結(jié)構(gòu)與算法”課程中以PBL模式流程為主線,來(lái)設(shè)計(jì)教師和學(xué)生所從事的各類活動(dòng)。為幫助學(xué)生選定題目,教師除了在日常的課程教學(xué)中引導(dǎo)學(xué)生選題外,還專門開展專題講座,目的是引發(fā)學(xué)生對(duì)某一個(gè)或若干專題感興趣,期間也可以給學(xué)生感興趣的專題講授一些概括性的知識(shí)。例如,我們結(jié)合數(shù)據(jù)結(jié)構(gòu)介紹“互聯(lián)網(wǎng)搜索引擎原理”的講座后,極大地激發(fā)了學(xué)生的學(xué)習(xí)興趣,老師在這個(gè)講座中可以適當(dāng)?shù)亟榻B搜索引擎需要用到的數(shù)據(jù)結(jié)構(gòu)與算法知識(shí),如模式匹配、散列檢索等算法,進(jìn)一步增強(qiáng)了學(xué)生學(xué)習(xí)“數(shù)據(jù)結(jié)構(gòu)與算法”的興趣。
作品展示也是一種有效的激勵(lì)手段,通過(guò)展示一些學(xué)生比較好的作品,可以讓學(xué)生增強(qiáng)自信力。如在講到線性表一章時(shí),我們給學(xué)生演示上一級(jí)學(xué)生所做的“基于線性表的學(xué)生信息管理系統(tǒng)”,對(duì)于剛接學(xué)完C程序設(shè)計(jì)接觸數(shù)據(jù)結(jié)構(gòu)的學(xué)生來(lái)講,學(xué)長(zhǎng)們留下的這些好的作品給了他們巨大的榜樣,許多學(xué)生躍躍欲試,希望自己很快能投入到項(xiàng)目的制作中。
為了便于學(xué)生通過(guò)網(wǎng)絡(luò)進(jìn)行協(xié)作學(xué)習(xí),我們開發(fā)了數(shù)據(jù)結(jié)構(gòu)網(wǎng)絡(luò)教學(xué)平臺(tái)如圖1所示。借助于網(wǎng)絡(luò)平臺(tái),構(gòu)建了一個(gè)虛擬學(xué)習(xí)情境。
我們精心設(shè)計(jì)了與數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的項(xiàng)目,根據(jù)學(xué)生的興趣及其選題,再將學(xué)生分成若干個(gè)小組,然后指定或由學(xué)生推選出各組的組長(zhǎng)。組長(zhǎng)相當(dāng)于軟件項(xiàng)目中的項(xiàng)目經(jīng)理,負(fù)責(zé)整個(gè)軟件項(xiàng)目的組織協(xié)調(diào)。學(xué)生通過(guò)聽專題報(bào)告、文獻(xiàn)查閱,頭腦風(fēng)暴等環(huán)節(jié),每個(gè)成員提出自己的各種想法并對(duì)其他組員的意見進(jìn)行評(píng)價(jià),然后由小組長(zhǎng)綜合意見,確定本小組的研究項(xiàng)目。
(2) 采用軟件工程思想指導(dǎo)項(xiàng)目教學(xué)模式
在項(xiàng)目教學(xué)模式中,我們按照軟件工程的思想,要求學(xué)生進(jìn)行需求分析、確定時(shí)間計(jì)劃,確定行動(dòng)方案、確定最終作品的形式、確定小組內(nèi)的任務(wù)分工,教師負(fù)責(zé)審定教學(xué)計(jì)劃、并進(jìn)行必要的修改。值得一提的時(shí),剛開始進(jìn)行項(xiàng)目教學(xué)模式改革時(shí)教師的工作量是非常大的,每個(gè)教師在完成教學(xué)工作的同時(shí),還要額外地完成多個(gè)項(xiàng)目的指導(dǎo)。但經(jīng)過(guò)一屆的教學(xué)后,上一屆留下的資源可以給下一屆學(xué)生借鑒,上一屆學(xué)生中選拔的優(yōu)秀學(xué)生可以作為我們開展項(xiàng)目教學(xué)的“助理教師”,讓他們參與項(xiàng)目的審定,一方面節(jié)省了任課教師大量的時(shí)間,另一方面大大提高了這批學(xué)生的實(shí)際工作能力。
項(xiàng)目組在確定題目后,在“助教”和老師的共同參與下開展項(xiàng)目制定項(xiàng)目實(shí)施計(jì)劃,開展項(xiàng)目研究,定期提交項(xiàng)目階段性的研究成果或文檔報(bào)告,并在工作室定期介紹項(xiàng)目組的階段性成果。
(3) 師范教育技能與專業(yè)教育相融合
為了提高師范生教師教育技能,我們還要求學(xué)生在匯報(bào)時(shí)精心制作演示文稿,精心準(zhǔn)備,在規(guī)定的時(shí)間內(nèi)完成項(xiàng)目介紹,這種將師范教育技能的培養(yǎng)融合到專業(yè)課程的教學(xué)中的做法收效很好。對(duì)于每個(gè)項(xiàng)目組進(jìn)行項(xiàng)目成品匯報(bào)時(shí),要求匯報(bào)人以教師的角度來(lái)向大家介紹本項(xiàng)目組的成果,同時(shí)要求其展示軟件項(xiàng)目的成品,通過(guò)這種訓(xùn)練方式,使得學(xué)生在講述一個(gè)問(wèn)題時(shí),不經(jīng)意地就會(huì)站在教師的角度去考慮問(wèn)題,通過(guò)一段時(shí)間的煅煉,很多學(xué)生的教師教育技能得到了很大的提高。很多受過(guò)這種訓(xùn)練的學(xué)生在參加省校師范生教師教育技能大賽上獲獎(jiǎng)。很多學(xué)生表示,這種訓(xùn)練比起他們單純地接受教育學(xué)原理教育的效果要好得多。
除了教師指定項(xiàng)目外,學(xué)生也可自定項(xiàng)目。例如,一次我們布置了一道算法設(shè)計(jì)習(xí)題如下:給定一個(gè)w*h的方陣。每個(gè)小方塊可能有也可能沒(méi)有游戲塊。如圖2所示。
需要判斷任意給定兩個(gè)游戲塊是否有一條路線連通。并且這條路滿足以下兩個(gè)條件:①它必須由直線段構(gòu)成,每條線段只能是橫向或豎向。②它不能穿過(guò)任意的游戲塊(允許路徑暫時(shí)的離開方陣)。
部分學(xué)生在完成這道習(xí)題后,主動(dòng)提交了一份設(shè)計(jì)一個(gè)動(dòng)態(tài)演示該算法的程序設(shè)計(jì)項(xiàng)目報(bào)告。程序采用Java語(yǔ)言編寫,用圖形界面模擬廣度優(yōu)先搜索路徑的過(guò)程。圖3是該項(xiàng)目作品演示搜索過(guò)程的一個(gè)界面。
圖中所示的卡通人物在算法自動(dòng)生成的游戲方格中可以動(dòng)態(tài)演示從入口到出口采用廣度優(yōu)先搜索路徑的過(guò)程。在匯報(bào)該項(xiàng)目時(shí),這些學(xué)生還制作了講解用的演示文稿,整個(gè)匯報(bào)層次清晰,讓很多同學(xué)受益蜚淺。通過(guò)這個(gè)項(xiàng)目,學(xué)生不僅對(duì)數(shù)據(jù)結(jié)構(gòu)中的廣度優(yōu)先算法有了深刻的理解,更為重要的是,通過(guò)Java語(yǔ)言開發(fā),鍛煉了學(xué)生的軟件開發(fā)能力,使他們盡可能早地接受到了軟件工程訓(xùn)練。
(4) 改革成績(jī)?cè)u(píng)價(jià)機(jī)制,充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)主動(dòng)性
為了讓學(xué)生有激情參與到項(xiàng)目教學(xué)模式中來(lái),我們改革了傳統(tǒng)的教學(xué)成績(jī)?cè)u(píng)定機(jī)制,期末理論成績(jī)考試只占總成績(jī)的50%,另外50%成績(jī)來(lái)源于學(xué)生的項(xiàng)目實(shí)踐成績(jī)。學(xué)院建有的機(jī)器人開放實(shí)驗(yàn)室,實(shí)驗(yàn)室成員從數(shù)據(jù)結(jié)構(gòu)與算法方法具有較強(qiáng)動(dòng)手能力的學(xué)生中選拔。學(xué)校ACM程序設(shè)計(jì)競(jìng)賽隊(duì)的成員也基本上來(lái)自其中的優(yōu)秀學(xué)生。在課程項(xiàng)目中表現(xiàn)突出的學(xué)生有更多的機(jī)會(huì)參與到學(xué)院各類橫向或縱向課題的研究梯隊(duì)。以上激勵(lì)措施,極大的調(diào)動(dòng)了學(xué)生的學(xué)習(xí)主動(dòng)性。
5教學(xué)改革效果
近3年來(lái),在“數(shù)據(jù)結(jié)構(gòu)與算法”教學(xué)綜合改革中,我們以項(xiàng)目教學(xué)模式為指導(dǎo),在“數(shù)據(jù)結(jié)構(gòu)與算法”教學(xué)中精心設(shè)計(jì)項(xiàng)目,以軟件工程理論為指導(dǎo),使學(xué)生從低年級(jí)開始就對(duì)軟件工程思想有了較深的感性認(rèn)識(shí)。強(qiáng)化師范生的教師教育技能訓(xùn)練,率先將師范技能訓(xùn)練融合到專業(yè)課程的教學(xué)中,取得了非常好的教學(xué)成效,學(xué)生直接參與制作的《數(shù)據(jù)結(jié)構(gòu)課件》獲江西省高校第三屆優(yōu)秀多媒體課件大賽一等獎(jiǎng)。通過(guò)這種項(xiàng)目訓(xùn)練,不僅加深了學(xué)生對(duì)課程理論知識(shí)的理解,更為重要的是,學(xué)生學(xué)會(huì)了協(xié)作與探究學(xué)習(xí)。近年來(lái),學(xué)生多次在全國(guó)機(jī)器人大賽中獲獎(jiǎng),設(shè)計(jì)的軟件作品多次獲得電子大賽獎(jiǎng)勵(lì),這些成績(jī)的取得都與學(xué)校積極開展教學(xué)研究,改革課堂教學(xué)方法,將理論與實(shí)際應(yīng)用相結(jié)合,注重啟發(fā)式教學(xué),注意學(xué)生創(chuàng)新能力的培養(yǎng)等舉措直接相關(guān)。
以上工作使得“數(shù)據(jù)結(jié)構(gòu)與算法”課程的教學(xué)質(zhì)量從質(zhì)的方面得到了很大的提高。達(dá)到了教師滿意、學(xué)生受益的雙重教學(xué)效果。課程組為此獲江西省高等學(xué)校第10批優(yōu)秀教學(xué)成果二等獎(jiǎng)。
參考文獻(xiàn)
[1] 游海,徐曉泉,鐘志賢著. 培養(yǎng)創(chuàng)新精神 提高實(shí)踐能力—以學(xué)生為主體的教學(xué)模式,第1版[M]. 南昌:江西高校出版社,2005:42-61.
[2] 王珠珠,陳慶貴. 《基于現(xiàn)代信息技術(shù)環(huán)境下的學(xué)與教的理論與實(shí)踐研究》報(bào)告(上)[J]. 中國(guó)電化教育,2006,(238):5-11.
[3] 揭安全. 基于網(wǎng)絡(luò)協(xié)作教學(xué)模式的數(shù)據(jù)結(jié)構(gòu)課程資源建設(shè)與教學(xué)實(shí)踐[C]. 2007大學(xué)計(jì)算機(jī)課程報(bào)告論壇論文集[M]. 北京:高等教育出版社,2008.
[4] 鄭曉麗,王峰. 精品課程協(xié)作探究式學(xué)習(xí)平臺(tái)的構(gòu)建[J]. 中國(guó)教育信息化,2007,(2):33-35.
[5] 李云清,楊慶紅,揭安全. 數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)[M].北京:人民郵電出版社,2004.
[6] 陳越,何欽銘,馮雁.“數(shù)據(jù)結(jié)構(gòu)”綜合性課程設(shè)計(jì)教學(xué)探索與實(shí)踐[J]. 計(jì)算機(jī)教育,2008,(8).