文章編號:1672-5913(2015)07-0043-04
中圖分類號:G642
摘要:介紹數(shù)據(jù)結構課程設計輔助教學平臺的設計過程,說明其構建思路、系統(tǒng)結構和實現(xiàn)方法,闡述該平臺集內(nèi)容提供、多媒體資料庫瀏覽、流媒體播放和交流互動于一身,采用Adobe Flex、PHP、MySQL、Apache和Flash Media Server等技術,以純Flash方式展現(xiàn),指出使用該平臺可以更好地發(fā)揮教師引導、啟發(fā)、監(jiān)控教學過程的主導作用,同時又能充分體現(xiàn)學生作為學習過程主體的主動性和創(chuàng)造性,有利于教師啟發(fā)教學和學生自主建構知識體系。
關鍵詞:數(shù)據(jù)結構;課程設計;教學平臺
0 引 言
數(shù)據(jù)結構是計算機相關專業(yè)的核心基礎課程,根據(jù)教學大綱安排,各章節(jié)安排相應教學內(nèi)容的驗證性上機實驗,還設置針對課程內(nèi)容的綜合設計實驗環(huán)節(jié),這是考查學生理論聯(lián)系實際動手能力的重要環(huán)節(jié),對鍛煉學生發(fā)現(xiàn)問題、解決問題的能力也很有裨益。數(shù)據(jù)結構課程設計實驗步驟如下:需求分析——選擇并構造合適的數(shù)據(jù)結構——功能函數(shù)設計——具體編碼實現(xiàn)——運行測試——完成課程設計說明書。在傳統(tǒng)的教學安排中,實驗過程由學生獨立完成,教師的作用主要是答疑、過程監(jiān)督和成果驗收等方面,這種強調(diào)學生的“學”而忽視教師主導作用的教學過程雖然會涌現(xiàn)出一些優(yōu)秀的作品,但也存在一些問題:一是學生自由度過大,容易偏離課程設計教學目標;二是部分學生由于缺乏專業(yè)訓練,沒有形成正解的思維方法,拿到題目無從下手,只能生搬硬套基本數(shù)據(jù)結構;三是代碼編寫不夠規(guī)范,可讀性差,也不注重文檔的整理;四是存在照抄他人課程設計的現(xiàn)象。
數(shù)據(jù)結構課程設計是個綜合性實踐環(huán)節(jié),不僅需要數(shù)據(jù)結構知識,還是對計算機程序設計語言、離散數(shù)學和軟件工程等課程的綜合運用。學生的自主學習和教師的主導學習相結合十分重要,為更好地發(fā)揮教師引導、啟發(fā)、監(jiān)控教學過程的主導作用,結合當前互聯(lián)網(wǎng)應用開發(fā)的主流技術,我們設計實現(xiàn)了數(shù)據(jù)結構課程設計輔助教學平臺,用于指導和幫助學生完成課程設計。
1 設計過程
1.1 目的與思想
數(shù)據(jù)結構課程設計輔助教學平臺的主要目的包括:①通過優(yōu)化學生自主學習環(huán)境,完善學習策略,充分發(fā)揮教師引導、啟發(fā)、監(jiān)控教學過程的主導作用;②為學生自主建構知識體系創(chuàng)造條件,使學生系統(tǒng)掌握數(shù)據(jù)結構課程內(nèi)容、鍛煉和提高編程能力,充分體現(xiàn)學生的主動性、創(chuàng)造性并得到成就感。設計思想主要體現(xiàn)在:①充分發(fā)揮互聯(lián)網(wǎng)作用,互聯(lián)網(wǎng)應用已成為學生課余生活的重要組成部分,教師應因勢利導,利用互聯(lián)網(wǎng)對學生進行指導和輔導;②要激發(fā)學生的興趣,興趣是最好的老師,教學平臺的界面要美觀大方和簡潔明朗,注重多媒體組件的選擇和使用;③學習環(huán)節(jié)的設計要貫穿整個課程設計過程,覆蓋不同知識層面的學生;④注重新媒介和新技術的使用,緊跟時代發(fā)展步伐;⑤尊重互聯(lián)網(wǎng)規(guī)律,在知識大爆炸時代,微課堂、“短平快”是主流,注重化繁為簡和突出重點。
1.2 內(nèi)容構建力,規(guī)范編程風格并實踐軟件工程。
(5)注重溝通交流,授人以漁。平臺中開設釋疑解惑欄目和課程設計論壇,預留微信公眾賬號,學生可以提出問題及求解,促進和強化師生間、學生間的互動交流,從點點滴滴中積累學習。
2 實現(xiàn)過程
(1)教師可結合數(shù)據(jù)結構實驗環(huán)節(jié)的特點,挑選綜合性強、涉及知識面廣、適合學生自主創(chuàng)新的經(jīng)典案例,由教師制作成設計分析講解、代碼編寫講解和運行測試講解等分段視頻,學生根據(jù)需要可自主點播。教師通過引導和啟發(fā),開拓學生思維,鼓勵學生自主構造更合理的數(shù)據(jù)結構,實現(xiàn)更完善的功能。平臺選取的案例均可用多種數(shù)據(jù)結構實現(xiàn),適用于不同層次的學生,同時也考查學生對于算法設計、內(nèi)外排序、文件存取和實現(xiàn)效率等各方面知識點的掌握情況,是對學生綜合能力的考驗。
(2)為了使學生能夠?qū)W以致用,教師可通過咨詢社會上相關領域的工程師、系統(tǒng)分析師和從業(yè)人員并對歷屆畢業(yè)、就業(yè)的學生進行問卷調(diào)查,在資源選擇和案例講解中注重理論聯(lián)系實際,著力從項目管理、軟件工程、測試驅(qū)動開發(fā)等方面?zhèn)魇趶臉I(yè)經(jīng)驗,為提高學生的就業(yè)能力打下堅實基礎。
(3)在教學資源的運用上,教師可提供視頻、音像、文檔、幻燈片、表格、圖形圖像和電子書籍等多種媒體形式,涵蓋數(shù)據(jù)結構課程設計涉及的C語言程序設計、C++語言、算法設計、離散數(shù)學等資源內(nèi)容;尊重原創(chuàng)者的版權,培養(yǎng)學生的版權意識,對所有引用的資源均詳細標明來源及版權信息。
(4)注重有教無類,使不同能力水平的學生都能從中汲取養(yǎng)分。對于初級水平的學生,通過學習視頻講解、參考優(yōu)秀作品和閱讀教師點評,找到完成課程設計的入口,自主完成課程設計;對于能力強、學有余力的學生,通過查看共享資源和在自主探索中挑戰(zhàn)自我,鍛煉駕馭問題的能
2.1 系統(tǒng)架構
數(shù)據(jù)結構課程設計輔助教學平臺的系統(tǒng)架構如圖1所示。
數(shù)據(jù)結構課程設計輔助教學平臺Web服務器采用Apache服務器,以純Flex技術實現(xiàn),數(shù)據(jù)庫采用MySQL,由PHP從數(shù)據(jù)庫中讀取數(shù)據(jù)形成XML文件提供給Flex使用,用戶通過瀏覽器以HTTP協(xié)議訪問該平臺。媒體播放采用兩種形式:一是普通的媒體文件,均以Flash形式提供,包括幻燈片、課件、文檔和書籍等;二是流媒體,通過FMS( Adobe Flash Media Server)流媒體服務器以RTMP協(xié)議向客戶端推送。相對于下載后觀看的網(wǎng)絡播放形式而言,流媒體的典型特征是把連續(xù)的音頻和視頻信息壓縮后放到網(wǎng)絡服務器上,用戶可以邊下載邊觀看。采用流媒體方式和流媒體服務器還可以減輕服務器的訪問壓力,使得平臺能夠同時處理更多的用戶視頻點播請求。
2.2 技術特點
(1)平臺是一個典型的富互聯(lián)網(wǎng)應用(richinternet application,RIA),RIA的好處在于比用HTML能實現(xiàn)的接口更加健壯,反應更加靈敏,可視化特性更加出色。RIA的實現(xiàn)技術包括Ajax、Flex和Silverlight等,本平臺使用的是Flex技術。Flex結合了音頻、視頻和實時通訊,用戶體驗極佳,具備桌面應用程序的用戶交互感和傳統(tǒng)網(wǎng)絡應用的部署便利性。
(2)平臺開發(fā)堅持跨平臺、跨瀏覽器的特性,使用技術及組件包括Adobe Flex、Apache、PHP、MySQL、Adobe Flash Media Server等,均具備良好跨平臺特性,后臺服務器支持Windows、Linux和Unix等不同操作系統(tǒng)。平臺以純粹的Flash形式展現(xiàn),具備良好跨瀏覽器特性,只要裝有Flash Player的瀏覽器都能夠正常瀏覽,支持所有主流瀏覽器,如IE、火狐、UC、Chrome等,客戶端支持Windows、Linux等主流操作系統(tǒng),同樣也支持移動互聯(lián)網(wǎng)以及基于Android、iOS的平板電腦、手機等便攜設備。
(3)平臺中使用到的視頻、音像、文檔、幻燈片、表格、圖形圖像和書籍等統(tǒng)一轉換為flv格式文件,用戶只需要通過瀏覽器就可以在線查看上述各種形式的媒體資源,不需安裝任何其他插件或應用軟件(如Word、Excel、Powerpoint等),充分考慮了客戶端的跨平臺和多樣性。
(4)視頻點播和視頻直播中采用了FMS(Adobe Flash Media Server)流媒體服務器,該技術是主流的視頻傳播實現(xiàn)技術。通過FMS,流媒體文件將通過RTMP協(xié)議向客戶端推送,圖像壓縮率更高,播放流暢清晰。與下載視頻文件到本地后觀看的網(wǎng)絡播放形式相比,流媒體的典型特征是用戶可以邊下載邊觀看,瀏覽速度快,播放中支持拖拽和定位。此外,F(xiàn)MS還具備良好的可擴展能力,可根據(jù)用戶群規(guī)模增加邊緣服務器(edge server)迅速提高訪問能力。
(5)流媒體視頻講解中充分利用了電子黑板軟件,結合數(shù)位板硬件,在多媒體教學結合“板書”講解,既“現(xiàn)代”又“傳統(tǒng)”,讓教師能夠把握教學的主線,學生有充分的消化時間,彌補了多媒體教學中的不足。
(6)設計細節(jié)上注重界面設計,功能分區(qū)清晰、導航明確、操作簡便、提示信息豐富;而Flash的動態(tài)特點可以增強平臺的動感效果,使得顏色搭配賞心悅目、色調(diào)把握得當并以CSS樣式表統(tǒng)一平臺的風格,提高學生的使用興趣。
2.3 功能模塊
平臺目前具備7個模塊,分別是首頁、影音中心、堂件集萃、資源共享、自主探索、優(yōu)秀作品和釋疑解惑,如圖2所示。
1)首頁模塊。
首頁模塊(如圖3所示)是平臺的門面,介紹平臺的目的和特色,展示最新的信息和媒體介紹。首頁分為4個功能區(qū)域:1是新聞區(qū),用來發(fā)布最新的通知、相關信息、教師布置的作業(yè)等;2是最新媒體資源展示區(qū);3是平臺的菜單導航區(qū);4是網(wǎng)絡資源鏈接區(qū)。
2)影音中心模塊。
影音中心模塊(如圖4所示)集中展現(xiàn)平臺中所有的媒體資源,包括flv形式的流媒體視頻,F(xiàn)lash形式的教學堂件、幻燈片,F(xiàn)lash形式的文檔、表格、書籍、代碼和資料,分為3個功能區(qū)域:1是資源類目區(qū),以樹型結構展示;2是媒體放映區(qū),支持各種格式的文檔(如圖5所示),也能進行視頻點播和在線視頻直播;3是資源區(qū),顯示當前類目對應的視頻、幻燈和文檔資源。
3)堂件集萃模塊。
堂件集萃模塊(如圖6所示)以圖像列表方式展現(xiàn)理論課堂教學和案例視頻教學中的堂件,每個堂件均配有標題、所屬類目、內(nèi)容介紹等文字信息。所有堂件都是以Flash的形式展現(xiàn),支持聲音、動畫、切換等功能(如圖7所示)。
4)資源共享模塊。
資源共享模塊匯集教師和學生提供的電子書、國內(nèi)外經(jīng)典數(shù)據(jù)結構教材等信息資源和學習輔助材料,每個文檔均注明資源名稱、來源、所屬類目、內(nèi)容介紹、版權信息等情況。該模塊以文字列表形式展現(xiàn),通過點擊單條記錄可在線閱覽相應文檔。所有文檔資料均采用FlashPaper形式提供在線閱讀,不需安裝其他插件或軟件。
5)自主探索模塊。
自主探索模塊提供一些課程設計實踐環(huán)節(jié)要求之外的、富有挑戰(zhàn)性的課題,方便學生開拓思維、勇攀高峰、鍛煉挑戰(zhàn)自我能力,促進學生自學。
6)優(yōu)秀作品模塊。
優(yōu)秀作品模塊提供歷屆學生的優(yōu)秀作品,這些作品均完成得較為出色且富有創(chuàng)新性,具有參考價值,可供廣大學生下載和學習。每個作品都包含作者信息,詳細注明題目要求和設計內(nèi)容,有些還附有教師點評。
7)釋疑解惑模塊。
釋疑解惑模塊(如圖8所示)是師生之間、學生與學生間互助學習的園地,分為3個功能區(qū)域:1區(qū)顯示既往學生提出的問題及教師的答復;2區(qū)是學生向教師提出問題的區(qū)域;3區(qū)提供“中北大學數(shù)據(jù)結構論壇”的鏈接。
3 結語
數(shù)據(jù)結構課程設計輔助教學平臺已在3屆計算機、網(wǎng)絡工程、軟件工程專業(yè)學生的數(shù)據(jù)結構課程設計過程中使用。通過指導教師和每個學生進行一對一答辯的結果來看,學生的課程設計水平有了明顯提高,對數(shù)據(jù)結構的運用更加靈活,思路也更加開闊,達到了建設該輔助教學平臺的初衷。下一步,我們將設計開發(fā)與該平臺對應的微信公眾賬號,使平臺成為師生課余交流的重要途徑。