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