李莉+田翔華+李豐軍+森干+畢雪華
摘要:該文依托我?!罢n程中心”,滿足學(xué)生自主學(xué)習(xí)的需要,設(shè)計(jì)并實(shí)現(xiàn)了基于校園網(wǎng)的數(shù)據(jù)結(jié)構(gòu)課程輔助教學(xué)系統(tǒng),并在我校實(shí)施應(yīng)用,為學(xué)生的課前預(yù)習(xí)、課堂教學(xué)、課后練習(xí)、重點(diǎn)回顧等提供了個(gè)性化的教學(xué)服務(wù),取得了顯著的效果,提升了教學(xué)質(zhì)量。
關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);網(wǎng)絡(luò)輔助教學(xué);自主學(xué)習(xí);個(gè)性化;教學(xué)服務(wù)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)26-0130-03
Abstract: In this paper, basing on "curriculum center" of our school, satisfying students' autonomous learning, we designed and implemented the data structure course aided teaching system Based on campus network, and application in our school, for students to preview before class, classroom teaching, after-school practice, focus on provide personalized teaching service, achieved significant effect, improved the quality of teaching.
Key words: data structure; network assisted instruction; autonomous learning; individualization; teaching service
1 背景
隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)教育的深入發(fā)展,尤其是高等教育改革的需求,為解決傳統(tǒng)教學(xué)模式易受時(shí)間、空間限制,無(wú)法滿足教師教學(xué)的多層次多樣化和學(xué)生個(gè)性化學(xué)習(xí)的需要,我校大力開展“課程中心”的建設(shè),充分利用計(jì)算機(jī)網(wǎng)絡(luò)這一現(xiàn)代化的教學(xué)手段,為學(xué)生創(chuàng)建一個(gè)全面、開放、自主、個(gè)性化的教學(xué)服務(wù),從而促進(jìn)學(xué)生自主學(xué)習(xí),提升教學(xué)質(zhì)量。
數(shù)據(jù)結(jié)構(gòu)是我校醫(yī)學(xué)信息管理專業(yè)的一門重要專業(yè)基礎(chǔ)課程,該課程主要研究非數(shù)值計(jì)算的程序設(shè)計(jì)問題,涉及大量的概念、數(shù)據(jù)模型和算法,是軟件設(shè)計(jì)與開發(fā)的必備基礎(chǔ)。但由于該課程理論和實(shí)踐性強(qiáng)、內(nèi)容豐富且抽象,學(xué)生普遍反映存在學(xué)生難學(xué)、教師難教的困境。因此探索和構(gòu)建新的教學(xué)模式、教學(xué)方法是教學(xué)組一直以來(lái)重點(diǎn)研究的一個(gè)課題。經(jīng)過多年的探索和實(shí)踐,在我校“課程中心”網(wǎng)絡(luò)平臺(tái)上提出采用最新的多媒體和web技術(shù)設(shè)計(jì)實(shí)現(xiàn)了自主的、多媒體化和交互性強(qiáng)的《數(shù)據(jù)結(jié)構(gòu)》課程的教學(xué)輔助系統(tǒng),來(lái)輔助現(xiàn)有的課堂教學(xué)新模式。
2 系統(tǒng)總體設(shè)計(jì)
近年來(lái),高校校園網(wǎng)的建設(shè)和發(fā)展極其迅速, 采用B/S(Browser/Server,瀏覽器/服務(wù)器)架構(gòu)為用戶提供跨平臺(tái)、開放的輔助教學(xué)系統(tǒng)更具潛力[1]。我校于2013年建設(shè)了課程中心網(wǎng)站教學(xué)平臺(tái),為進(jìn)一步加強(qiáng)優(yōu)質(zhì)教育資源的開發(fā)、普及和共享,提高教育教學(xué)質(zhì)量,允許教學(xué)團(tuán)隊(duì)根據(jù)課程性質(zhì)和教學(xué)特點(diǎn)等再次開發(fā)和設(shè)計(jì)。本教學(xué)組教師采用現(xiàn)代化技術(shù)與手段,建設(shè)了《數(shù)據(jù)結(jié)構(gòu)》課程中心,并不斷地進(jìn)行補(bǔ)充完善,使教學(xué)管理人員、課程負(fù)責(zé)人、上課教師及學(xué)生可以隨時(shí)隨地登錄課程中心進(jìn)行管理評(píng)估、完善補(bǔ)充課程資源、實(shí)現(xiàn)師生互動(dòng)、自主學(xué)習(xí)等后端管理及操作應(yīng)用。
2.1 設(shè)計(jì)思路和原則
數(shù)據(jù)結(jié)構(gòu)課程主要研究如何根據(jù)實(shí)際問題合理地選擇邏輯結(jié)構(gòu)去組織數(shù)據(jù),并設(shè)計(jì)有效的物理存儲(chǔ)結(jié)構(gòu),實(shí)現(xiàn)插入、刪除等基本運(yùn)算和查找、排序等眾多算法并對(duì)其進(jìn)行分析評(píng)價(jià)。課程概念多、知識(shí)抽象,算法復(fù)雜,具有很強(qiáng)的理論性,邏輯性和技巧性[2]。學(xué)生普遍認(rèn)為該課程學(xué)起來(lái)較枯燥,往往難以理解和接受,算法設(shè)計(jì)更是感到無(wú)從下手,導(dǎo)致他們的學(xué)習(xí)興趣不高、主動(dòng)性不強(qiáng),達(dá)不到教學(xué)目的。對(duì)此我們進(jìn)行認(rèn)真分析,以學(xué)生為主體,在設(shè)計(jì)該教學(xué)輔助系統(tǒng)時(shí)充分考慮并實(shí)施在該課程教與學(xué)的全過程建立課前預(yù)習(xí)、課堂教學(xué)、課后練習(xí)與習(xí)題課、上機(jī)實(shí)踐教學(xué)四大教學(xué)環(huán)節(jié)相融合的教學(xué)結(jié)構(gòu)。同時(shí),綜合該課程的教學(xué)體系、知識(shí)架構(gòu)、教學(xué)手段、教學(xué)方法和策略以及教學(xué)活動(dòng)安排在網(wǎng)絡(luò)輔助教學(xué)環(huán)境下如何實(shí)施,以學(xué)生為主體,教師為主導(dǎo)的人性化教育理念、教育模式,遵循完整性、多媒體化、強(qiáng)交互性和學(xué)生自主學(xué)習(xí)的原則來(lái)設(shè)計(jì)開發(fā)該輔助教學(xué)系統(tǒng)。
2.2 系統(tǒng)功能設(shè)計(jì)
首先數(shù)據(jù)結(jié)構(gòu)課程本身具有抽象、知識(shí)點(diǎn)繁雜、實(shí)踐性強(qiáng)等特點(diǎn),加之我校學(xué)生的生源特點(diǎn),存在知識(shí)體系差異,尤其是不同民族之間。使得數(shù)據(jù)結(jié)構(gòu)課程教學(xué)的突出難點(diǎn)是知識(shí)的抽象性和動(dòng)態(tài)性,傳統(tǒng)的以教師為主體的教學(xué)模式和單一的教學(xué)方法難以克服教學(xué)中存在的問題,為了更好地滿足學(xué)生個(gè)體需求差異;教師根據(jù)實(shí)際教學(xué)及時(shí)調(diào)整補(bǔ)充教學(xué)資源和信息;同時(shí),方便管理者進(jìn)行管理與評(píng)估考核。我們?cè)陂_發(fā)和設(shè)計(jì)本系統(tǒng)時(shí),確定了整個(gè)網(wǎng)絡(luò)輔助教學(xué)平臺(tái)的功能模塊,如圖1所示。
該輔助教學(xué)系統(tǒng)不僅發(fā)布課程大綱、教學(xué)日歷、教案首頁(yè)續(xù)頁(yè)、多媒體課件、視頻、課后作業(yè)與習(xí)題等基本內(nèi)容,還精心設(shè)計(jì)算法動(dòng)畫演示以及仿真跟蹤執(zhí)行,對(duì)部分知識(shí)點(diǎn)設(shè)計(jì)制作微課開展教學(xué),建立師生、生生的互動(dòng)進(jìn)行在線答疑、討論論壇等。同時(shí)及時(shí)更新該課程相關(guān)前沿研究動(dòng)態(tài),內(nèi)地高校精品課程教學(xué)視頻。極大地豐富教學(xué)網(wǎng)絡(luò)資源,提高學(xué)習(xí)興趣,增強(qiáng)信心,拓展學(xué)生自主學(xué)習(xí)的途徑和方法。
2.3 開發(fā)工具
在開發(fā)工具的選擇上,我們考慮該輔助教學(xué)系統(tǒng)在校園網(wǎng)上的運(yùn)行速度和運(yùn)行效率,兼顧技術(shù)領(lǐng)先、實(shí)用性、安全穩(wěn)定等因素,提出基于B/S(Browser/Server 瀏覽器/服務(wù)器)模式進(jìn)行架構(gòu),采用Visual Studio.Net和SQL Server數(shù)據(jù)庫(kù)進(jìn)行開發(fā)設(shè)計(jì),算法動(dòng)畫演示采用Flash、HTML等技術(shù)實(shí)現(xiàn),仿真執(zhí)行采用Visual C++開發(fā)設(shè)計(jì),系統(tǒng)架構(gòu)合理、實(shí)現(xiàn)簡(jiǎn)單,使《數(shù)據(jù)結(jié)構(gòu)》課程輔助教學(xué)平臺(tái)能讓學(xué)生自主的學(xué)習(xí)活動(dòng)不再受時(shí)空限制,能以最大信息量、最方便的方式實(shí)現(xiàn)師生間、學(xué)生之間的資源共享、學(xué)習(xí)交流。endprint
3 主要功能模塊的設(shè)計(jì)與實(shí)現(xiàn)
《數(shù)據(jù)結(jié)構(gòu)》輔助教學(xué)系統(tǒng)主要是對(duì)課堂教學(xué)的重要補(bǔ)充和延伸,面向不同的學(xué)生個(gè)體,在課堂教學(xué)的學(xué)習(xí)過程中,對(duì)知識(shí)的接受和掌握難免存在個(gè)體差異,為了更好的輔助學(xué)生滿足其個(gè)性化學(xué)習(xí)的需求,該系統(tǒng)圍繞學(xué)生自主進(jìn)行課前預(yù)習(xí)、課堂學(xué)習(xí)、課后練習(xí)、重點(diǎn)復(fù)習(xí)、上機(jī)實(shí)驗(yàn)等環(huán)節(jié)設(shè)置了自主學(xué)習(xí)、檢測(cè)訓(xùn)練、提問討論三大模塊。其中自主學(xué)習(xí)模塊以頁(yè)面導(dǎo)航方式提供了豐富全面的教學(xué)資源,可以滿足多層次個(gè)性化教與學(xué)的需求,為學(xué)生提供了一個(gè)內(nèi)容豐富、知識(shí)全面、形式生動(dòng)、趣味性強(qiáng)的教學(xué)輔助平臺(tái)。
1) 學(xué)生可以提前查看課程簡(jiǎn)介、教材與參考書籍、教學(xué)日歷、教案首頁(yè)、續(xù)頁(yè)等相應(yīng)的教學(xué)資料;
2) 學(xué)生可對(duì)下節(jié)課要學(xué)習(xí)的內(nèi)容進(jìn)行課前預(yù)習(xí),引導(dǎo)學(xué)生把握知識(shí)體系、重點(diǎn)難點(diǎn)并激發(fā)其帶著問題主動(dòng)聽課、認(rèn)真聽課的興趣;
3) 對(duì)課堂學(xué)習(xí)沒有很好掌握或者理解的內(nèi)容,可以選擇課后觀看視頻或者微課對(duì)知識(shí)點(diǎn)進(jìn)一步學(xué)習(xí);
4) 針對(duì)較復(fù)雜的算法,學(xué)生也可以反復(fù)觀看算法動(dòng)畫演示,并對(duì)算法執(zhí)行過程進(jìn)行跟蹤測(cè)試,幫助學(xué)生理解掌握算法的思想和具體實(shí)現(xiàn);
5) 學(xué)生可根據(jù)教學(xué)進(jìn)度獲悉實(shí)驗(yàn)教學(xué)的安排及實(shí)驗(yàn)內(nèi)容、實(shí)驗(yàn)要求與目的,提前分析和理解問題,進(jìn)行實(shí)驗(yàn)設(shè)計(jì)與小組討論。
3.1 微課教學(xué)
微課于2008年首創(chuàng),其核心組成內(nèi)容是片段教學(xué)視頻,以半結(jié)構(gòu)化、主題化的教學(xué)單元應(yīng)用[3]。鑒于《數(shù)據(jù)結(jié)構(gòu)》課程中部分抽象難以理解的知識(shí)點(diǎn),我們采用繪聲繪影、錄屏等現(xiàn)代教育技術(shù)精心設(shè)計(jì)制作了以知識(shí)點(diǎn)為主題、片長(zhǎng)10分鐘左右的教學(xué)微課,輔助課堂教學(xué),滿足不同學(xué)生對(duì)不同知識(shí)點(diǎn)的個(gè)性化學(xué)習(xí),即可在課后進(jìn)行查缺不漏,又能重點(diǎn)復(fù)習(xí)鞏固某個(gè)知識(shí)點(diǎn),從而促進(jìn)學(xué)生有效地自主學(xué)習(xí)。
3.2 算法動(dòng)畫演示
《數(shù)據(jù)結(jié)構(gòu)》是講述數(shù)據(jù)組織、儲(chǔ)存和算法原理等理論知識(shí)為主,課程中有很多復(fù)雜的、較難理解的算法。我們知道對(duì)于理解復(fù)雜數(shù)據(jù)結(jié)構(gòu)算法的最好方法就是用直觀、形象、動(dòng)態(tài)的方式展現(xiàn)它們的行為動(dòng)作,這樣把復(fù)雜抽象的教學(xué)內(nèi)容形象化,即達(dá)到了教學(xué)目的,又豐富了課堂教學(xué)形式,提高了學(xué)生的學(xué)習(xí)興趣。因此,我們采用Flash和HTML5技術(shù)制作開發(fā)了多種數(shù)據(jù)結(jié)構(gòu)和算法的交互式動(dòng)畫。
1) FLASH交互動(dòng)畫的設(shè)計(jì)制作
我們利用Flash幀動(dòng)畫技術(shù),根據(jù)算法思想創(chuàng)設(shè)動(dòng)畫情景、動(dòng)畫元素,對(duì)課程中的復(fù)雜算法進(jìn)行了算法思想的動(dòng)畫演示,給學(xué)生以較強(qiáng)的視覺沖擊,從而吸引學(xué)生,激發(fā)學(xué)生的學(xué)習(xí)興趣。如圖2所示,講授快速排序之冒泡排序算法時(shí),我用一個(gè)生活中排隊(duì)的小實(shí)例來(lái)模擬冒泡排序的思想及實(shí)現(xiàn)過程,然后讓學(xué)生自己去觀察、發(fā)現(xiàn)、總結(jié)描述冒泡排序的思想。
此外,我們還利用Flash中面向?qū)ο蟮哪_本語(yǔ)言Actionscript編寫程序來(lái)模擬計(jì)算機(jī)內(nèi)存中是如何完成算法執(zhí)行過程的,同時(shí),允許學(xué)生進(jìn)行數(shù)據(jù)測(cè)試,分步執(zhí)行,來(lái)進(jìn)一步觀察算法思想及執(zhí)行過程,將算法從直觀的動(dòng)畫實(shí)現(xiàn)過渡到抽象的計(jì)算機(jī)內(nèi)部實(shí)現(xiàn)過程,從而引入數(shù)據(jù)結(jié)構(gòu)的組織、存儲(chǔ)和操作運(yùn)算,讓學(xué)生進(jìn)一步掌握算法思想,理解算法的原理。如圖3所示,(a)為冒泡排序交互動(dòng)畫的初始狀態(tài),(b)為用戶輸入待排序的記錄關(guān)鍵詞后,模擬數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中的存儲(chǔ),然后單擊開始或單步按鈕就可以進(jìn)行算法的動(dòng)畫演示。
2) HTML5動(dòng)畫的設(shè)計(jì)制作
近年來(lái),算法的動(dòng)畫演示趨于輕量級(jí)、頁(yè)面化、易使用等方面發(fā)展,因此使用Flash技術(shù)設(shè)計(jì)制作的動(dòng)畫演示系統(tǒng)需要安裝Flash插件,可視化環(huán)境要求較高,某些情況下給輔助教學(xué)帶來(lái)了些許不便。而新一代的HTML5標(biāo)準(zhǔn)增添了圖形的繪制、多媒體等新元素及功能,我們可以用HTML5畫布(canvas)元素在JavaScript中設(shè)計(jì)制作圖形動(dòng)畫,并可以在瀏覽器中直接運(yùn)行,方便學(xué)生課前課后隨時(shí)隨地使用web瀏覽器進(jìn)行自主學(xué)習(xí),也方便任課教師在不同的教學(xué)環(huán)境下正常授課。如圖4所示:(a)為冒泡排序算法動(dòng)畫演示的初始頁(yè)面;(b)為動(dòng)畫演示的效果展示,并分別給出每一趟排序的結(jié)果。
3.3 算法仿真執(zhí)行
算法的動(dòng)畫演示對(duì)于學(xué)生學(xué)習(xí)、掌握算法的思想原理起到了重要的作用,但是要求學(xué)生理解教材中的算法偽代碼時(shí),很多同學(xué)就感到抽象,難以想象,理解起來(lái)困難重重。因此,我們針對(duì)課程中部分難度較大的算法進(jìn)行了仿真以及跟蹤測(cè)試。采用Visual C++作為開發(fā)工具,調(diào)用windows API設(shè)計(jì)制作圖形界面,完成圖形編程,MFC基本類實(shí)現(xiàn)算法的動(dòng)態(tài)演示,利用多線程技術(shù)來(lái)控制算法的動(dòng)畫演示、源碼跟蹤和執(zhí)行。同時(shí),允許用戶單步執(zhí)行算法,進(jìn)行算法的模擬仿真,理解算法源碼。
如圖5所示,在同一界面中不但給出了算法測(cè)試數(shù)據(jù)、算法源碼以及算法動(dòng)畫演示,還對(duì)算法的每一行源碼進(jìn)行了詳實(shí)地解釋。這樣通過對(duì)底層的內(nèi)存和磁盤等硬件資源的模擬,允許算法的單步執(zhí)行,有助于讓學(xué)生加深對(duì)算法思想及內(nèi)部實(shí)現(xiàn)機(jī)制的理解,掌握算法原理,理解算法源碼并進(jìn)行算法描述與分析。同時(shí),可以引導(dǎo)學(xué)生自主、探究式學(xué)習(xí),強(qiáng)化結(jié)構(gòu)、算法、編程相結(jié)合的教學(xué)模式,為后期的實(shí)驗(yàn)教學(xué)和學(xué)生自主編程打下夯實(shí)的理論基礎(chǔ)。
4 結(jié)束語(yǔ)
《數(shù)據(jù)結(jié)構(gòu)》網(wǎng)絡(luò)輔助教學(xué)平臺(tái)從實(shí)際教學(xué)出發(fā),為學(xué)生提供了一個(gè)全面、開放、自主、個(gè)性化的教學(xué)服務(wù),是現(xiàn)有的課堂教學(xué)模式的重要補(bǔ)充和延伸拓展,實(shí)踐證明,此系統(tǒng)的設(shè)計(jì)開發(fā)有助于激發(fā)學(xué)生的學(xué)習(xí)興趣和主動(dòng)性,培養(yǎng)學(xué)生養(yǎng)成課前預(yù)習(xí)、課后復(fù)習(xí)、回顧重點(diǎn)難點(diǎn)的好習(xí)慣,促進(jìn)學(xué)生自主學(xué)習(xí);也使課堂教學(xué)更加具體生動(dòng),更富有吸引力,進(jìn)而提升了教學(xué)質(zhì)量。然而,我們對(duì)該課程的教學(xué)探索和實(shí)踐并沒有停止,還需要在今后做出更多的嘗試和完善。
參考文獻(xiàn):
[1] 王民川. 基于B/S結(jié)構(gòu)的教學(xué)資源平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 福建電腦, 2009, 25(3):124-125.
[2] 嚴(yán)蔚敏, 吳偉民. 數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)[M]. 北京: 清華大學(xué)出版社, 2012.
[3] 劉銳, 王海燕. 基于微課的“翻轉(zhuǎn)課堂”教學(xué)模式設(shè)計(jì)和實(shí)踐[J]. 現(xiàn)代教育技術(shù), 2014, 24(5):26-32.endprint