国产一区二区三精品久久久无广告,中文无码伦av中文字幕,久久99久久99精品免视看看,亚洲a∨无码精品色午夜

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計范例6篇

前言:中文期刊網(wǎng)精心挑選了數(shù)據(jù)結(jié)構(gòu)課程設(shè)計范文供你參考和學(xué)習(xí),希望我們的參考范文能激發(fā)你的文章創(chuàng)作靈感,歡迎閱讀。

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計范文1

(中北大學(xué) 計算機與控制工程學(xué)院,山西 太原 030051)

摘要:介紹數(shù)據(jù)結(jié)構(gòu)課程設(shè)計輔助教學(xué)平臺的設(shè)計過程,說明其構(gòu)建思路、系統(tǒng)結(jié)構(gòu)和實現(xiàn)方法,闡述該平臺集內(nèi)容提供、多媒體資料庫瀏覽、流媒體播放和交流互動于一身,采用Adobe Flex、PHP、MySQL、Apache和flash Media Server等技術(shù),以純Flash方式展現(xiàn),指出使用該平臺可以更好地發(fā)揮教師引導(dǎo)、啟發(fā)、監(jiān)控教學(xué)過程的主導(dǎo)作用,同時又能充分體現(xiàn)學(xué)生作為學(xué)習(xí)過程主體的主動性和創(chuàng)造性,有利于教師啟發(fā)教學(xué)和學(xué)生自主建構(gòu)知識體系。

關(guān)鍵詞 :數(shù)據(jù)結(jié)構(gòu);課程設(shè)計;教學(xué)平臺

基金項目:國家自然科學(xué)基金項目(61379125);山西省自然科學(xué)基金項目(2012011015-3);山西省高等學(xué)校科技創(chuàng)新項目(2014143)。

第一作者簡介:龐曉瓊,女,講師,研究方向為信息安全與密碼學(xué),xqpang@nuc.edu.cn。

0 引言

數(shù)據(jù)結(jié)構(gòu)是計算機相關(guān)專業(yè)的核心基礎(chǔ)課程,根據(jù)教學(xué)大綱安排,各章節(jié)安排相應(yīng)教學(xué)內(nèi)容的驗證性上機實驗,還設(shè)置針對課程內(nèi)容的綜合設(shè)計實驗環(huán)節(jié),這是考查學(xué)生理論聯(lián)系實際動手能力的重要環(huán)節(jié),對鍛煉學(xué)生發(fā)現(xiàn)問題、解決問題的能力也很有裨益。數(shù)據(jù)結(jié)構(gòu)課程設(shè)計實驗步驟如下:需求分析——選擇并構(gòu)造合適的數(shù)據(jù)結(jié)構(gòu)——功能函數(shù)設(shè)計——具體編碼實現(xiàn)——運行測試——完成課程設(shè)計說明書。在傳統(tǒng)的教學(xué)安排中,實驗過程由學(xué)生獨立完成,教師的作用主要是答疑、過程監(jiān)督和成果驗收等方面,這種強調(diào)學(xué)生的“學(xué)”而忽視教師主導(dǎo)作用的教學(xué)過程雖然會涌現(xiàn)出一些優(yōu)秀的作品,但也存在一些問題:一是學(xué)生自由度過大,容易偏離課程設(shè)計教學(xué)目標(biāo);二是部分學(xué)生由于缺乏專業(yè)訓(xùn)練,沒有形成正解的思維方法,拿到題目無從下手,只能生搬硬套基本數(shù)據(jù)結(jié)構(gòu);三是代碼編寫不夠規(guī)范,可讀性差,也不注重文檔的整理;四是存在照抄他人課程設(shè)計的現(xiàn)象 [1-3] 。

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計是個綜合性實踐環(huán)節(jié),不僅需要數(shù)據(jù)結(jié)構(gòu)知識,還是對計算機程序設(shè)計語言、離散數(shù)學(xué)和軟件工程等課程的綜合運用。學(xué)生的自主學(xué)習(xí)和教師的主導(dǎo)學(xué)習(xí)相結(jié)合十分重要,為更好地發(fā)揮教師引導(dǎo)、啟發(fā)、監(jiān)控教學(xué)過程的主導(dǎo)作用,結(jié)合當(dāng)前互聯(lián)網(wǎng)應(yīng)用開發(fā)的主流技術(shù),我們設(shè)計實現(xiàn)了數(shù)據(jù)結(jié)構(gòu)課程設(shè)計輔助教學(xué)平臺,用于指導(dǎo)和幫助學(xué)生完成課程設(shè)計。

1 設(shè)計過程

1.1 目的與思想

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計輔助教學(xué)平臺的主要目的包括:①通過優(yōu)化學(xué)生自主學(xué)習(xí)環(huán)境,完善學(xué)習(xí)策略,充分發(fā)揮教師引導(dǎo)、啟發(fā)、監(jiān)控教學(xué)過程的主導(dǎo)作用;②為學(xué)生自主建構(gòu)知識體系創(chuàng)造條件,使學(xué)生系統(tǒng)掌握數(shù)據(jù)結(jié)構(gòu)課程內(nèi)容、鍛煉和提高編程能力,充分體現(xiàn)學(xué)生的主動性、創(chuàng)造性并得到成就感。設(shè)計思想主要體現(xiàn)在:①充分發(fā)揮互聯(lián)網(wǎng)作用,互聯(lián)網(wǎng)應(yīng)用已成為學(xué)生課余生活的重要組成部分,教師應(yīng)因勢利導(dǎo),利用互聯(lián)網(wǎng)對學(xué)生進(jìn)行指導(dǎo)和輔導(dǎo);②要激發(fā)學(xué)生的興趣,興趣是最好的老師,教學(xué)平臺的界面要美觀大方和簡潔明朗,注重多媒體組件的選擇和使用;③學(xué)習(xí)環(huán)節(jié)的設(shè)計要貫穿整個課程設(shè)計過程,覆蓋不同知識層面的學(xué)生;④注重新媒介和新技術(shù)的使用,緊跟時展步伐;⑤尊重互聯(lián)網(wǎng)規(guī)律,在知識大爆炸時代,微課堂、“短平快”是主流,注重化繁為簡和突出重點。

1.2 內(nèi)容構(gòu)建

(1)教師可結(jié)合數(shù)據(jù)結(jié)構(gòu)實驗環(huán)節(jié)的特點,挑選綜合性強、涉及知識面廣、適合學(xué)生自主創(chuàng)新的經(jīng)典案例,由教師制作成設(shè)計分析講解、代碼編寫講解和運行測試講解等分段視頻,學(xué)生根據(jù)需要可自主點播。教師通過引導(dǎo)和啟發(fā),開拓學(xué)生思維,鼓勵學(xué)生自主構(gòu)造更合理的數(shù)據(jù)結(jié)構(gòu),實現(xiàn)更完善的功能。平臺選取的案例均可用多種數(shù)據(jù)結(jié)構(gòu)實現(xiàn),適用于不同層次的學(xué)生,同時也考查學(xué)生對于算法設(shè)計、內(nèi)外排序、文件存取和實現(xiàn)效率等各方面知識點的掌握情況,是對學(xué)生綜合能力的考驗。

(2)為了使學(xué)生能夠?qū)W以致用,教師可通過咨詢社會上相關(guān)領(lǐng)域的工程師、系統(tǒng)分析師和從業(yè)人員并對歷屆畢業(yè)、就業(yè)的學(xué)生進(jìn)行問卷調(diào)查,在資源選擇和案例講解中注重理論聯(lián)系實際,著力從項目管理、軟件工程、測試驅(qū)動開發(fā)等方面?zhèn)魇趶臉I(yè)經(jīng)驗,為提高學(xué)生的就業(yè)能力打下堅實基礎(chǔ)。

(3)在教學(xué)資源的運用上,教師可提供視頻、音像、文檔、幻燈片、表格、圖形圖像和電子書籍等多種媒體形式,涵蓋數(shù)據(jù)結(jié)構(gòu)課程設(shè)計涉及的C語言程序設(shè)計、C++語言、算法設(shè)計、離散數(shù)學(xué)等資源內(nèi)容;尊重原創(chuàng)者的版權(quán),培養(yǎng)學(xué)生的版權(quán)意識,對所有引用的資源均詳細(xì)標(biāo)明來源及版權(quán)信息。

(4)注重有教無類,使不同能力水平的學(xué)生都能從中汲取養(yǎng)分。對于初級水平的學(xué)生,通過學(xué)習(xí)視頻講解、參考優(yōu)秀作品和閱讀教師點評,找到完成課程設(shè)計的入口,自主完成課程設(shè)計;對于能力強、學(xué)有余力的學(xué)生,通過查看共享資源和在自主探索中挑戰(zhàn)自我,鍛煉駕馭問題的能力,規(guī)范編程風(fēng)格并實踐軟件工程。

(5)注重溝通交流,授人以漁。平臺中開設(shè)釋疑解惑欄目和課程設(shè)計論壇,預(yù)留微信公眾賬號,學(xué)生可以提出問題及求解,促進(jìn)和強化師生間、學(xué)生間的互動交流,從點點滴滴中積累學(xué)習(xí)。

2 實現(xiàn)過程

2.1 系統(tǒng)架構(gòu)

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計輔助教學(xué)平臺的系統(tǒng)架構(gòu)如圖1所示。

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計輔助教學(xué)平臺Web服務(wù)器采用Apache服務(wù)器,以純Flex技術(shù)實現(xiàn),數(shù)據(jù)庫采用MySQL,由PHP從數(shù)據(jù)庫中讀取數(shù)據(jù)形成XML文件提供給Flex使用,用戶通過瀏覽器以HTTP協(xié)議訪問該平臺。媒體播放采用兩種形式:一是普通的媒體文件,均以Flash形式提供,包括幻燈片、課件、文檔和書籍等;二是流媒體,通過FMS(Adobe Flash Media Server)流媒體服務(wù)器以RTMP協(xié)議向客戶端推送。相對于下載后觀看的網(wǎng)絡(luò)播放形式而言,流媒體的典型特征是把連續(xù)的音頻和視頻信息壓縮后放到網(wǎng)絡(luò)服務(wù)器上,用戶可以邊下載邊觀看。采用流媒體方式和流媒體服務(wù)器還可以減輕服務(wù)器的訪問壓力,使得平臺能夠同時處理更多的用戶視頻點播請求。

2.2 技術(shù)特點

(1)平臺是一個典型的富互聯(lián)網(wǎng)應(yīng)用(rich internet application,RIA),RIA的好處在于比用HTML能實現(xiàn)的接口更加健壯,反應(yīng)更加靈敏,可視化特性更加出色。RIA的實現(xiàn)技術(shù)包括Ajax、Flex和Silverlight等,本平臺使用的是Flex技術(shù)。Flex結(jié)合了音頻、視頻和實時通訊,用戶體驗極佳,具備桌面應(yīng)用程序的用戶交互感和傳統(tǒng)網(wǎng)絡(luò)應(yīng)用的部署便利性。

(2)平臺開發(fā)堅持跨平臺、跨瀏覽器的特性,使用技術(shù)及組件包括Adobe Flex、Apache、PHP、MySQL、Adobe Flash Media Server等,均具備良好跨平臺特性,后臺服務(wù)器支持Windows、Linux和Unix等不同操作系統(tǒng)。平臺以純粹的Flash形式展現(xiàn),具備良好跨瀏覽器特性,只要裝有Flash Player的瀏覽器都能夠正常瀏覽,支持所有主流瀏覽器,如IE、火狐、UC、Chrome等,客戶端支持Windows、Linux等主流操作系統(tǒng),同樣也支持移動互聯(lián)網(wǎng)以及基于Android、iOS的平板電腦、手機等便攜設(shè)備。

(3)平臺中使用到的視頻、音像、文檔、幻燈片、表格、圖形圖像和書籍等統(tǒng)一轉(zhuǎn)換為flv格式文件,用戶只需要通過瀏覽器就可以在線查看上述各種形式的媒體資源,不需安裝任何其他插件或應(yīng)用軟件(如Word、 Excel、 Powerpoint等),充分考慮了客戶端的跨平臺和多樣性。

(4)視頻點播和視頻直播中采用了FMS(Adobe Flash Media Server)流媒體服務(wù)器,該技術(shù)是主流的視頻傳播實現(xiàn)技術(shù)。通過FMS,流媒體文件將通過RTMP協(xié)議向客戶端推送,圖像壓縮率更高,播放流暢清晰。與下載視頻文件到本地后觀看的網(wǎng)絡(luò)播放形式相比,流媒體的典型特征是用戶可以邊下載邊觀看,瀏覽速度快,播放中支持拖拽和定位。此外,F(xiàn)MS還具備良好的可擴展能力,可根據(jù)用戶群規(guī)模增加邊緣服務(wù)器(edge server)迅速提高訪問能力。

(5)流媒體視頻講解中充分利用了電子黑板軟件,結(jié)合數(shù)位板硬件,在多媒體教學(xué)結(jié)合“板書”講解,既“現(xiàn)代”又“傳統(tǒng)”,讓教師能夠把握教學(xué)的主線,學(xué)生有充分的消化時間,彌補了多媒體教學(xué)中的不足。

(6)設(shè)計細(xì)節(jié)上注重界面設(shè)計,功能分區(qū)清晰、導(dǎo)航明確、操作簡便、提示信息豐富;而Flash的動態(tài)特點可以增強平臺的動感效果,使得顏色搭配賞心悅目、色調(diào)把握得當(dāng)并以CSS樣式表統(tǒng)一平臺的風(fēng)格,提高學(xué)生的使用興趣。

2.3 功能模塊

平臺目前具備7個模塊,分別是首頁、影音中心、堂件集萃、資源共享、自主探索、優(yōu)秀作品和釋疑解惑,如圖2所示。

1) 首頁模塊。

首頁模塊(如圖3所示)是平臺的門面,介紹平臺的目的和特色,展示最新的信息和媒體介紹。首頁分為4個功能區(qū)域:1是新聞區(qū),用來最新的通知、相關(guān)信息、教師布置的作業(yè)等;2是最新媒體資源展示區(qū);3是平臺的菜單導(dǎo)航區(qū);4是網(wǎng)絡(luò)資源鏈接區(qū)。

2) 影音中心模塊。

影音中心模塊(如圖4所示)集中展現(xiàn)平臺中所有的媒體資源,包括flv形式的流媒體視頻,F(xiàn)lash形式的教學(xué)堂件、幻燈片,F(xiàn)lash形式的文檔、表格、書籍、代碼和資料,分為3個功能區(qū)域:1是資源類目區(qū),以樹型結(jié)構(gòu)展示;2是媒體放映區(qū),支持各種格式的文檔(如圖5所示),也能進(jìn)行視頻點播和在線視頻直播;3是資源區(qū),顯示當(dāng)前類目對應(yīng)的視頻、幻燈和文檔資源。

3) 堂件集萃模塊。

堂件集萃模塊(如圖6所示)以圖像列表方式展現(xiàn)理論課堂教學(xué)和案例視頻教學(xué)中的堂件,每個堂件均配有標(biāo)題、所屬類目、內(nèi)容介紹等文字信息。所有堂件都是以Flash的形式展現(xiàn),支持聲音、動畫、切換等功能(如圖7所示)。

4) 資源共享模塊。

資源共享模塊匯集教師和學(xué)生提供的電子書、國內(nèi)外經(jīng)典數(shù)據(jù)結(jié)構(gòu)教材等信息資源和學(xué)習(xí)輔助材料,每個文檔均注明資源名稱、來源、所屬類目、內(nèi)容介紹、版權(quán)信息等情況。該模塊以文字列表形式展現(xiàn),通過點擊單條記錄可在線閱覽相應(yīng)文檔。所有文檔資料均采用FlashPaper形式提供在線閱讀,不需安裝其他插件或軟件。

5) 自主探索模塊。

自主探索模塊提供一些課程設(shè)計實踐環(huán)節(jié)要求之外的、富有挑戰(zhàn)性的課題,方便學(xué)生開拓思維、勇攀高峰、鍛煉挑戰(zhàn)自我能力,促進(jìn)學(xué)生自學(xué)。

6) 優(yōu)秀作品模塊。

優(yōu)秀作品模塊提供歷屆學(xué)生的優(yōu)秀作品,這些作品均完成得較為出色且富有創(chuàng)新性,具有參考價值,可供廣大學(xué)生下載和學(xué)習(xí)。每個作品都包含作者信息,詳細(xì)注明題目要求和設(shè)計內(nèi)容,有些還附有教師點評。

7) 釋疑解惑模塊。

釋疑解惑模塊(如圖8所示)是師生之間、學(xué)生與學(xué)生間互助學(xué)習(xí)的園地,分為3個功能區(qū)域:1區(qū)顯示既往學(xué)生提出的問題及教師的答復(fù);2區(qū)是學(xué)生向教師提出問題的區(qū)域;3區(qū)提供“中北大學(xué)數(shù)據(jù)結(jié)構(gòu)論壇”的鏈接。

3 結(jié)語

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計輔助教學(xué)平臺已在3屆計算機、網(wǎng)絡(luò)工程、軟件工程專業(yè)學(xué)生的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計過程中使用。通過指導(dǎo)教師和每個學(xué)生進(jìn)行一對一答辯的結(jié)果來看,學(xué)生的課程設(shè)計水平有了明顯提高,對數(shù)據(jù)結(jié)構(gòu)的運用更加靈活,思路也更加開闊,達(dá)到了建設(shè)該輔助教學(xué)平臺的初衷。下一步,我們將設(shè)計開發(fā)與該平臺對應(yīng)的微信公眾賬號,使平臺成為師生課余交流的重要途徑。

參考文獻(xiàn):

[1] 龐曉瓊. 案例驅(qū)動的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計教學(xué)改革實踐[J]. 計算機教育, 2009(1): 53-55.

[2] 馬巧梅, 龐曉瓊, 楊秋翔. 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計案例教程[M]. 北京: 人民郵電出版社, 2012: 1-3.

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計范文2

關(guān)鍵詞:程序設(shè)計基礎(chǔ);數(shù)據(jù)結(jié)構(gòu);計算思維;教學(xué)銜接

0、引言

程序設(shè)計基礎(chǔ)與數(shù)據(jù)結(jié)構(gòu)是計算機類專業(yè)的兩門專業(yè)基礎(chǔ)課,在計算機類專業(yè)教學(xué)中具有舉足輕重的作用,都旨在培養(yǎng)學(xué)生的編程能力和計算思維能力,并為后續(xù)課程打下堅實的專業(yè)基礎(chǔ),但在這兩門課程的教學(xué)過程中,存在一系列問題,嚴(yán)重影響課程的教學(xué)效果。筆者分析和研究產(chǎn)生這些實際問題的原因,對這兩門課程的知識融合、內(nèi)容銜接以及教學(xué)實踐等進(jìn)行探討,提出切實可行的解決方案,更好地實現(xiàn)兩門課程的教學(xué)目標(biāo)。

1、課程教學(xué)內(nèi)容和教學(xué)目標(biāo)

程序設(shè)計基礎(chǔ)課程是學(xué)生接觸的第一門專業(yè)基礎(chǔ)課,也是進(jìn)行計算機編程的入門課程。課程的教學(xué)目標(biāo)是使學(xué)生掌握程序設(shè)計的基本方法,培養(yǎng)其擁有良好的程序設(shè)計風(fēng)格、較強的軟件開發(fā)能力以及一定的計算思維能力,為后續(xù)課程打下良好的基礎(chǔ)。

數(shù)據(jù)結(jié)構(gòu)是繼程序設(shè)計基礎(chǔ)課程之后的一門綜合專業(yè)基礎(chǔ)課,是計算機類專業(yè)的核心課程之一,具有舉足輕重的作用。它是程序設(shè)計基礎(chǔ)課程所講知識的自然延伸和具體應(yīng)用。對數(shù)據(jù)結(jié)構(gòu)的理解、掌握和應(yīng)用拓展,將對學(xué)生解決具體實際問題時的數(shù)據(jù)分析、數(shù)據(jù)組織、數(shù)據(jù)處理和編程能力有著深遠(yuǎn)的影響。課程的教學(xué)目標(biāo)是培養(yǎng)學(xué)生縝密的邏輯思維和數(shù)據(jù)抽象能力以及學(xué)生在軟件設(shè)計領(lǐng)域中科學(xué)的計算思維能力,幫助學(xué)生將數(shù)據(jù)結(jié)構(gòu)和算法與具體的編程實現(xiàn)相結(jié)合并靈活地應(yīng)用到實踐和工程實際中。

2、兩門課程間的關(guān)系

從程序與數(shù)據(jù)結(jié)構(gòu)本身的關(guān)系來說,一個好的程序離不開合適的數(shù)據(jù)結(jié)構(gòu),而數(shù)據(jù)結(jié)構(gòu)中算法的實現(xiàn)離不開具體的程序設(shè)計。在計算機類專業(yè)的課程體系中,數(shù)據(jù)結(jié)構(gòu)和程序設(shè)計基礎(chǔ)課程雖然獨立開設(shè),但是它們之間的聯(lián)系是緊密的。在課程設(shè)置上,程序設(shè)計基礎(chǔ)是數(shù)據(jù)結(jié)構(gòu)的前導(dǎo)課程,兩門課程一脈相承,不可分割。

學(xué)生對程序設(shè)計基礎(chǔ)課程的掌握程度、具備的計算思維和編程能力,直接關(guān)系到以程序設(shè)計語言實現(xiàn)算法的數(shù)據(jù)結(jié)構(gòu)課程的教學(xué)效果。數(shù)據(jù)結(jié)構(gòu)課程通過創(chuàng)造性思維的訓(xùn)練,重點突出數(shù)據(jù)抽象與程序抽象能力的培養(yǎng),從而進(jìn)一步提升學(xué)生的計算思維能力和編程能力,但兩門課程在實際教學(xué)中存在一些問題,主要原因是課程設(shè)置、教學(xué)內(nèi)容、教學(xué)方法和教學(xué)實踐方式等多方面存在缺陷。經(jīng)分析,對程序設(shè)計基礎(chǔ)和數(shù)據(jù)結(jié)構(gòu)課程進(jìn)行知識整合和內(nèi)容銜接,采用適當(dāng)?shù)慕虒W(xué)方式,改進(jìn)教學(xué)實踐是探討和研究的主要內(nèi)容。

3、兩門課程在實際教學(xué)中存在的銜接問題

3.1 兩門課程教學(xué)內(nèi)容的脫離

目前,在實際教學(xué)中,程序設(shè)計基礎(chǔ)和數(shù)據(jù)結(jié)構(gòu)課程雖然關(guān)系緊密,但是一直被設(shè)定為兩門完全獨立的課程,而且教師在制訂教學(xué)大綱和教學(xué)目標(biāo)時容易忽視兩門課程問的聯(lián)系,在教學(xué)過程中出現(xiàn)一些盲區(qū),要么兩門課程在教學(xué)內(nèi)容上出現(xiàn)不同程度的交叉,要么出現(xiàn)知識銜接的斷層,令學(xué)生對兩門課程的內(nèi)在聯(lián)系沒有整體概念和認(rèn)識,從而導(dǎo)致不能深入系統(tǒng)地學(xué)習(xí)相關(guān)知識。尤其是先行課程序設(shè)計基礎(chǔ)的教學(xué)內(nèi)容和課程案例完全脫離了數(shù)據(jù)結(jié)構(gòu)課程,使數(shù)據(jù)結(jié)構(gòu)中最頻繁使用的知識和內(nèi)容在程序設(shè)計基礎(chǔ)課程中甚少提及,不能為數(shù)據(jù)結(jié)構(gòu)課程的講解打下扎實的程序設(shè)計基礎(chǔ)。

3.2 程序設(shè)計編程語言與數(shù)據(jù)結(jié)構(gòu)實現(xiàn)語言不一致

程序設(shè)計基礎(chǔ)課程所教授的編程語言與數(shù)據(jù)結(jié)構(gòu)教材或?qū)嶒炈褂玫膶崿F(xiàn)語言不一致,如將C++語言作為程序設(shè)計基礎(chǔ)的教授語言,而在數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)上選擇c語言或Java語言,以至于數(shù)據(jù)結(jié)構(gòu)的理論教學(xué)與具體上機編程實現(xiàn)脫節(jié),嚴(yán)重影響了上機實驗和課程設(shè)計環(huán)節(jié)。

3.3 程序設(shè)計方法與數(shù)據(jù)結(jié)構(gòu)實現(xiàn)方法不一致

程序設(shè)計基礎(chǔ)課程中或注重面向過程的程序設(shè)計方法,或注重面向?qū)ο蟮某绦蛟O(shè)計方法,但在數(shù)據(jù)結(jié)構(gòu)課程中卻很難利用前導(dǎo)課程中學(xué)到的程序設(shè)計方法實現(xiàn)相關(guān)的數(shù)據(jù)結(jié)構(gòu)和算法,從而影響了學(xué)生對數(shù)據(jù)結(jié)構(gòu)課程知識的應(yīng)用與實現(xiàn)。另一方面,學(xué)生在學(xué)習(xí)過程中沒有充分理解數(shù)據(jù)結(jié)構(gòu)課程的作用和實際意義,以至于在實際項目和問題中不知使用什么方法(面向過程或面向?qū)ο螅┓治鼋鉀Q問題,不知如何運用數(shù)據(jù)結(jié)構(gòu)知識解決實際問題。

3.4 前導(dǎo)課程對后續(xù)課程實踐環(huán)節(jié)的影響

數(shù)據(jù)結(jié)構(gòu)實驗環(huán)節(jié)相對課堂理論環(huán)節(jié)較薄弱。此問題的存在多半是因為數(shù)據(jù)結(jié)構(gòu)具體實現(xiàn)的關(guān)鍵技術(shù)在程序設(shè)計基礎(chǔ)課中未被講解或強調(diào),在進(jìn)行數(shù)據(jù)結(jié)構(gòu)算法從理論到偽代碼、再由偽代碼到真代碼轉(zhuǎn)換的過程中難以真正編程實現(xiàn),使學(xué)生對數(shù)據(jù)結(jié)構(gòu)的理解和掌握僅停留在抽象層、概念層、理論層,難以上升到實現(xiàn)層,從而影響學(xué)生的學(xué)習(xí)興趣和積極性。同時,課程中的實踐項目過于單一且相對獨立,使實踐環(huán)節(jié)與實際項目的聯(lián)系過于松散,學(xué)生運用所學(xué)知識解決實際問題的能力和實際工程能力很難得以鍛煉。

3.5 缺少計算思維能力的培養(yǎng),缺乏理論知識與實際應(yīng)用的聯(lián)系

提高學(xué)生計算思維能力是程序設(shè)計基礎(chǔ)和數(shù)據(jù)結(jié)構(gòu)課程共同的目標(biāo)。計算思維是抽象的多個層次上的思維,而抽象是表達(dá)實際的方法。然而,現(xiàn)行教學(xué)方法過多關(guān)注程序設(shè)計和數(shù)據(jù)結(jié)構(gòu)知識點的講解,缺乏對學(xué)生思維能力的培養(yǎng)。

如果缺乏理論聯(lián)系實際,那么將影響學(xué)生計算思維的培養(yǎng)。數(shù)據(jù)結(jié)構(gòu)中的知識又太抽象,如果缺乏相應(yīng)的實際案例對抽象知識加以應(yīng)用,那么就會導(dǎo)致學(xué)生不知道怎樣將所學(xué)的知識應(yīng)用到實際中,缺乏具體問題具體分析和解決的能力。

3.6 教師本身知識結(jié)構(gòu)欠缺,上機實踐指導(dǎo)教師數(shù)量不足

授課教師知識結(jié)構(gòu)的缺乏將導(dǎo)致一些現(xiàn)實問題:如果程序設(shè)計基礎(chǔ)的教師不懂?dāng)?shù)據(jù)結(jié)構(gòu),那么其自然不會將相關(guān)知識引入課堂,同時也缺乏用所教授的語言具體實現(xiàn)數(shù)據(jù)結(jié)構(gòu)中結(jié)構(gòu)和算法的能力;如果數(shù)據(jù)結(jié)構(gòu)的教師缺乏相關(guān)編程語言知識,那么就會給上機輔導(dǎo)帶來困難。同時,兩門課程具有很強的實踐性,若上機實踐輔導(dǎo)教師不足,將不利于學(xué)生編程能力的提升以及相關(guān)軟件大賽學(xué)生的培養(yǎng)和輔導(dǎo)。

針對以上實際教學(xué)中存在的問題,可知為提高程序設(shè)計基礎(chǔ)與數(shù)據(jù)結(jié)構(gòu)課程的教學(xué)效果,根據(jù)計算機類專業(yè)這兩門課程教學(xué)內(nèi)容和目標(biāo),對兩門課程進(jìn)行知識整合和內(nèi)容銜接的必要性,對課程銜接的方法和思路等進(jìn)行探討勢在必行。同時,課程教學(xué)不僅要關(guān)注知識的傳授,還要培養(yǎng)學(xué)生主動獲取知識并綜合已有知識創(chuàng)造新知識的能力。

4、程序設(shè)計基礎(chǔ)和數(shù)據(jù)結(jié)構(gòu)課程銜接的新方法和思路

4.1 做好兩門課程教學(xué)內(nèi)容的融合和銜接

教師需緊密結(jié)合計算機類專業(yè)的培養(yǎng)目標(biāo),精心設(shè)計程序設(shè)計基礎(chǔ)和數(shù)據(jù)結(jié)構(gòu)課程的教學(xué)內(nèi)容,既要滿足課程的專業(yè)基礎(chǔ)性,又要滿足后續(xù)課程學(xué)習(xí)的需要,嚴(yán)密制訂教學(xué)大綱,做好程序設(shè)計基礎(chǔ)與數(shù)據(jù)結(jié)構(gòu)教學(xué)內(nèi)容的銜接以及相關(guān)教材的選定。

在程序設(shè)計基礎(chǔ)課程教學(xué)中,教師需要關(guān)注學(xué)生計算思維能力的培養(yǎng),將重點放在講解思路上,教學(xué)生如何對問題進(jìn)行抽象,還要介紹一些簡單的基礎(chǔ)算法和數(shù)據(jù)結(jié)構(gòu)。程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)的聯(lián)系過程必須做到循序漸進(jìn),若引入的數(shù)據(jù)結(jié)構(gòu)相關(guān)知識過難,會打擊學(xué)生的學(xué)習(xí)積極性。例如,教師講數(shù)組時可引入幾種數(shù)據(jù)結(jié)構(gòu)中簡單的排序算法冒泡排序、選擇排序等;講完指針和結(jié)構(gòu)體后可引入最基本的數(shù)據(jù)結(jié)構(gòu)――鏈表;講完嵌套函數(shù)調(diào)用后可引入“遞歸”,它是數(shù)據(jù)結(jié)構(gòu)中解決問題的常見思想和算法,可以通過簡單的遞歸函數(shù)幫助學(xué)生理解遞歸思想和遞歸調(diào)用過程,這些是理解數(shù)據(jù)結(jié)構(gòu)中復(fù)雜遞歸函數(shù)的基礎(chǔ)。在程序設(shè)計基礎(chǔ)教學(xué)中,只講遞歸函數(shù)的簡單應(yīng)用,而在數(shù)據(jù)結(jié)構(gòu)教學(xué)中,需要介紹遞歸函數(shù)的復(fù)雜應(yīng)用:棧、樹、八皇后問題、N個數(shù)的全排列等。圍繞“遞歸”這一重要知識點,從易到難并結(jié)合課程本身特點進(jìn)行理論分析,將有益于整合課程教學(xué)內(nèi)容,引導(dǎo)學(xué)生循序漸進(jìn)地學(xué)習(xí)和思考。

針對在程序設(shè)計基礎(chǔ)課程中不重要但在數(shù)據(jù)結(jié)構(gòu)及算法中被廣泛使用的知識點,教師需要在講解程序設(shè)計課程時將其點出并告訴學(xué)生此知識在后續(xù)數(shù)據(jù)結(jié)構(gòu)課中的重要性,引起學(xué)生對該知識點的興趣和重視,如指針的靈活使用、結(jié)構(gòu)體類型的復(fù)雜應(yīng)用、類型重命名、類的拷貝構(gòu)造函數(shù)(深拷貝)、函數(shù)模板、類模版等。

同時,教師要對程序設(shè)計基礎(chǔ)課程內(nèi)容進(jìn)行適當(dāng)補充和擴充,如增加c++函數(shù)模板、類模板的相關(guān)知識,為將泛型程序設(shè)計、c++的STL引人數(shù)據(jù)結(jié)構(gòu)課程奠定知識基礎(chǔ),縮小教學(xué)知識與實際運用的距離,提高學(xué)生的動手編程能力和知識運用能力。

4.2 保證程序設(shè)計編程語言與數(shù)據(jù)結(jié)構(gòu)實現(xiàn)語言的一致

程序設(shè)計基礎(chǔ)課程所教授的編程語言要與數(shù)據(jù)結(jié)構(gòu)教材或?qū)嶒炈褂玫木幊陶Z言一致,這樣不僅能大大提高學(xué)生的編程能力,還有利于數(shù)據(jù)結(jié)構(gòu)課程的上機實現(xiàn)。

4.3 將面向?qū)ο笏枷胍氤绦蛟O(shè)計與數(shù)據(jù)結(jié)構(gòu)中

隨著程序設(shè)計方法從傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計演化到面向?qū)ο蟪绦蛟O(shè)計,數(shù)據(jù)結(jié)構(gòu)在面向?qū)ο蟪绦蛟O(shè)計中也將成為面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu),且將隨著程序設(shè)計理論和技術(shù)的發(fā)展而不斷變化發(fā)展。在程序設(shè)計基礎(chǔ)課程中講授面向?qū)ο蟮木幊陶Z言如c++語言,既可以實現(xiàn)面向過程的數(shù)據(jù)結(jié)構(gòu),又能實現(xiàn)面向?qū)ο蟮臄?shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)課程采用面向?qū)ο蟮挠^點講授并以C++語言作為算法的描述工具,從而強化數(shù)據(jù)結(jié)構(gòu)基本知識和面向?qū)ο蟾呒壋绦蛟O(shè)計基本能力的雙基訓(xùn)練以及實際動手能力培養(yǎng)。在設(shè)計數(shù)據(jù)結(jié)構(gòu)實踐項目時,將面向?qū)ο蟮某绦蛟O(shè)計思想、面向?qū)ο蟮某绦蛟O(shè)計語言和數(shù)據(jù)結(jié)構(gòu)課程教學(xué)內(nèi)容恰當(dāng)?shù)厝诤希行д蟽砷T課程中的重疊部分,突出各自的側(cè)重點,符合當(dāng)前軟件設(shè)計思想和軟件開發(fā)趨勢。

4.4 加強課程中計算思維能力的培養(yǎng)

在程序設(shè)計和數(shù)據(jù)結(jié)構(gòu)的教學(xué)方法上,將面向語法為中心的教學(xué)逐漸轉(zhuǎn)變?yōu)槊嫦騿栴}求解的教學(xué),從問題出發(fā)采用適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu),將其抽象成解決問題的算法描述,用程序設(shè)計語言實現(xiàn)問題求解,使課程從過去的僅講授孤立的知識點,轉(zhuǎn)變?yōu)橹v授計算思維和問題求解的過程,從而達(dá)到突出思維方法訓(xùn)練的目的。在程序設(shè)計基礎(chǔ)和數(shù)據(jù)結(jié)構(gòu)授課時盡量將理論聯(lián)系實際,將知識點解釋和應(yīng)用為身邊容易理解的真實案例。例如,講“圖”時,可以把現(xiàn)在流行的復(fù)雜網(wǎng)絡(luò)、社交網(wǎng)絡(luò)引入其中;講解“隊列”時,可將春節(jié)買票引入其中,讓學(xué)生從身邊的例子理解理論知識的具體應(yīng)用。對有些案例可以提倡“一題多解”,不局限于一種數(shù)據(jù)結(jié)構(gòu)、解題思路和實現(xiàn)方法,通過一題多問、一題多解帶動學(xué)生探索、比較、尋求更好的解決途徑,達(dá)到學(xué)生分析解決問題能力的提高和計算思維能力的培養(yǎng)。

4.5 提升教師能力,配備充足的上機輔導(dǎo)教師

學(xué)校要加強程序設(shè)計基礎(chǔ)與數(shù)據(jù)結(jié)構(gòu)課程相關(guān)授課教師整體能力的提升。教師不僅要掌握自己所教授課程的知識,還要對該課程的前續(xù)及后續(xù)課程內(nèi)容有所了解,便于維護(hù)教學(xué)的整體秩序和融合學(xué)生的知識體系。同時,教師要積極參與各種軟件大賽和企業(yè)培訓(xùn),將教授的理論知識和實際項目相結(jié)合,達(dá)到應(yīng)用知識解決復(fù)雜問題的目的。此外,兩門課程的上機實踐環(huán)節(jié)要配備足量的輔導(dǎo)教師,不讓學(xué)生輸在編程入門的起跑線上。

4.6 依托程序設(shè)計競賽,提高學(xué)生的編程能力

依托全國軟件大賽、ACM大賽等程序設(shè)計競賽,將競賽題目引入程序設(shè)計基礎(chǔ)和數(shù)據(jù)結(jié)構(gòu)課堂中。此類題目強調(diào)考查學(xué)生對各種算法的應(yīng)用能力,綜合性較強,非常適合輔助學(xué)生學(xué)習(xí)和體會數(shù)據(jù)結(jié)構(gòu)的妙用,提升學(xué)生分析和解決實際問題的能力,引導(dǎo)學(xué)生將所學(xué)知識準(zhǔn)確而靈活地運用到實際生活中,大大提高學(xué)生的實踐動手和程序設(shè)計能力,促進(jìn)其知識的融會貫通。另外,通過競賽等多種活動可以為學(xué)生提供展現(xiàn)程序設(shè)計能力的舞臺,激發(fā)學(xué)生學(xué)習(xí)的主動性,培養(yǎng)其計算思維能力。

例如,在教授程序設(shè)計基礎(chǔ)時,講完邏輯表達(dá)式和多重循環(huán)結(jié)構(gòu)后,可以將大賽中的邏輯推理題目引入教學(xué)中并引出常見的解題方法和思路一枚舉法,從而加深對枚舉法的認(rèn)識。通過采用數(shù)據(jù)結(jié)構(gòu)中的雙向鏈表和線性數(shù)組兩種方式實現(xiàn)大賽中常見的約瑟夫環(huán)問題。

4.7 引入OJ平臺。加強課程實踐環(huán)節(jié)

引人在線判題(Online Judge,oJ)系統(tǒng),提高學(xué)生的實踐能力。能力需要以豐富的知識作為支撐,而實踐是能力賴以生長的土壤。在OJ系統(tǒng)中,學(xué)生可以在線提交程序源代碼,系統(tǒng)對源代碼進(jìn)行編譯和執(zhí)行并通過預(yù)先設(shè)計的測試數(shù)據(jù)檢驗程序源代碼的正確性。引入0J系統(tǒng)不僅可以輔助教師批改作業(yè),減輕教師工作壓力,還可以促使學(xué)生加強平時上機編程練習(xí),通過編程排名方式提高學(xué)生的學(xué)習(xí)興趣。OJ系統(tǒng)中擁有大量題庫,可以讓學(xué)生進(jìn)行上機實踐,培養(yǎng)自身的計算思維能力,提高編程能力。0J系統(tǒng)不僅可以作為程序設(shè)計基礎(chǔ)課程的實踐平臺,還可作為數(shù)據(jù)結(jié)構(gòu)課程的實踐平臺。

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計范文3

關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu)課程;實驗;設(shè)計;Java;軟件工程

數(shù)據(jù)結(jié)構(gòu)是計算機類專業(yè)的核心專業(yè)基礎(chǔ)課之一,主要討論數(shù)據(jù)的合理組織和有效存儲、處理以及算法的正確設(shè)計、分析和評價,課程本身概念抽象、方法靈活、強調(diào)邏輯思維能力、難度較大,同時課程實踐性強,實驗是該課程不可或缺的重要環(huán)節(jié)[1-4]。通常數(shù)據(jù)結(jié)構(gòu)課程實驗是由教師將問題描述和基本要求作為實驗題目給出,但又絕不是讓學(xué)生拿到實驗題目就直接上機進(jìn)行編程調(diào)試,而是要通過在實驗中貫穿軟件工程的方法和原理,嚴(yán)格按照分析、設(shè)計、實現(xiàn)、測試等軟件工程過程并結(jié)合具體的實現(xiàn)語言來完成實驗,培養(yǎng)學(xué)生養(yǎng)成良好的實驗習(xí)慣。下文針對課程實驗特點和目標(biāo),結(jié)合軟件工程思想、面向?qū)ο笳Z言Java,在課程的實驗組織、過程設(shè)計、保障等方面進(jìn)行了一些探索。

1課程實驗特點和目標(biāo)

由于面向?qū)ο蠓椒ㄒ呀?jīng)成為目前系統(tǒng)開發(fā)和程序設(shè)計的主流方式,而Java語言是一種目前使用最為廣泛的面向?qū)ο蟪绦蛟O(shè)計語言,因此不少計算機類專業(yè)的數(shù)據(jù)結(jié)構(gòu)課程采用了Java語言描述。作為是一種完全面向?qū)ο蟮某绦蛟O(shè)計語言,Java在提高程序的復(fù)用性和安全性時,在不同類的資源配置方面,較面向過程的程序設(shè)計語言有更高層面的要求[3],通過Java語言表現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)、實現(xiàn)相關(guān)算法是數(shù)據(jù)結(jié)構(gòu)課程的難點之一,這給語言基礎(chǔ)薄弱的學(xué)生完成實驗帶來很大困難,迫切需要在目標(biāo)、過程、方法等各方面精心組織和設(shè)計實驗。

如圖1所示,作為課程教學(xué)的重要組成部分,課程實驗的目標(biāo)主要圍繞數(shù)據(jù)結(jié)構(gòu)與算法、軟件分析與設(shè)計、程序?qū)崿F(xiàn)與驗證、抽象邏輯思維等方面展開[4-7],即:①以數(shù)據(jù)結(jié)構(gòu)和算法為核心,幫助學(xué)生加深對數(shù)據(jù)結(jié)構(gòu)的理解;②以軟件工程思想為基礎(chǔ),反復(fù)練習(xí)包括軟件分析與設(shè)計在內(nèi)的軟件開發(fā)過程,培養(yǎng)分析問題、解決問題和程序設(shè)計的能力;③以面向?qū)ο蟮腏ava程序設(shè)計語言為工具,提高學(xué)生利用Java語言實現(xiàn)和驗證算法的能力;④在理解掌握數(shù)據(jù)結(jié)構(gòu)、應(yīng)用軟件工程思想、熟練使用Java語言的同時,還要培養(yǎng)嚴(yán)密的抽象邏輯思維能力。

上述實驗?zāi)繕?biāo)師生都提出了更高的要求,為了更好地達(dá)到上述目標(biāo),并幫助學(xué)生在學(xué)習(xí)過程中充分發(fā)揮主觀能動作用,圍繞課程在數(shù)據(jù)結(jié)構(gòu)、軟件開發(fā)、程序?qū)崿F(xiàn)、邏輯思維各個方面的目標(biāo),進(jìn)行了課程實驗的設(shè)計,主要包括切實可行的實驗任務(wù)組織、科學(xué)合理的實驗過程設(shè)計、結(jié)合多種方法的嚴(yán)格過程保障等方面,如圖2所示。

2實驗任務(wù)組織

根據(jù)課程實驗特點和目標(biāo),對實驗任務(wù)進(jìn)行了精心組織,主要是針對不同基礎(chǔ)和層次的學(xué)生進(jìn)行了任務(wù)的劃分,如圖3所示。

2.1基本任務(wù)

對于所有的學(xué)生,不管其基礎(chǔ)或?qū)哟稳绾危急仨毻瓿梢欢ǖ幕救蝿?wù),那就是用程序驗證各種邏輯結(jié)構(gòu)的基本實現(xiàn)和算法,在實驗的總體結(jié)構(gòu)中實現(xiàn)函數(shù)的編寫、測試、調(diào)試、驗證,通過這一驗證過程達(dá)到加深理解各種數(shù)據(jù)結(jié)構(gòu)和算法、掌握基本教學(xué)內(nèi)容的目的,這也是傳統(tǒng)的數(shù)據(jù)結(jié)構(gòu)課程實驗所要求的任務(wù)。

2.2基礎(chǔ)強化

部分學(xué)生學(xué)習(xí)基礎(chǔ)較差,特別是Java語言的編程能力不足,對類、接口、封裝、多態(tài)、方法調(diào)用等的認(rèn)識較模糊,需要在基本的Java語言以及基本的方法功能理解、方法編寫及調(diào)用等方面加強實驗,通過對基本數(shù)據(jù)結(jié)構(gòu)和算法與對應(yīng)程序的反復(fù)閱讀、編寫、測試等訓(xùn)練,達(dá)到提高對Java程序結(jié)構(gòu)、語法以及Java方法在程序設(shè)計中作用的認(rèn)識。

2.3能力提升

針對基礎(chǔ)較好、學(xué)習(xí)興趣較濃的學(xué)生,為提供其發(fā)揮能力的空間,有效提高其學(xué)習(xí)興趣,提出一些要求更高、具有一定挑戰(zhàn)性的任務(wù),要求能進(jìn)行分析、設(shè)計并實現(xiàn)、測試,包括:完成比教材里典型基本功能更強的拓展功能,開拓學(xué)生的思路,如統(tǒng)計線性表中給定值的元素個數(shù);使用已學(xué)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)完成一些擴展任務(wù),提高學(xué)生分析問題、解決問題的能力,如統(tǒng)計二叉樹的結(jié)點個數(shù);靈活應(yīng)用編寫的方法,實現(xiàn)不同的功能要求,培養(yǎng)學(xué)生對實驗總體結(jié)構(gòu)配置、方法外特性的認(rèn)識,如利用隊列和堆棧實現(xiàn)單鏈表的逆序排列。

總之,在課程實驗組織中,做到有對整體結(jié)構(gòu)加以介紹的說明;有給學(xué)生完成實驗的思路提示;對有一定難度的任務(wù)還給出具有參考價值的實現(xiàn)作為參照。這樣,根據(jù)課程實驗?zāi)繕?biāo)和學(xué)生的基礎(chǔ)、興趣設(shè)計客觀、可行的實驗要求和過程,符合人們認(rèn)識事物的特點,避免了因為要求難度太大挫傷學(xué)生的學(xué)習(xí)熱情。

3實驗過程設(shè)計

如果僅僅依靠傳統(tǒng)的驗證型實驗,學(xué)生只是將課本中算法的對應(yīng)程序敲入計算機,運行一下程序、驗證一下結(jié)論而已,基本上沒有涉及到問題思考、分析分析、總體結(jié)構(gòu)設(shè)計、程序設(shè)計等軟件工程所強調(diào)的工作,而如果教師沒有嚴(yán)格要求、反復(fù)強調(diào)、嚴(yán)格考核,多數(shù)學(xué)生都不做預(yù)習(xí)準(zhǔn)備工作,更不用說養(yǎng)成分析、設(shè)計、比較和總結(jié)的習(xí)慣,結(jié)果是學(xué)生來作實驗了,但不了解實驗的目標(biāo)、流程、問題產(chǎn)生的原因,實驗效果、課程學(xué)習(xí)效果大打折扣。

3.1實驗過程的規(guī)范

首先嚴(yán)格規(guī)范實驗流程,讓學(xué)生反復(fù)體會從接受任務(wù)到分析、設(shè)計、編碼、測試的軟件開發(fā)過程[5]。在最初的兩三個實驗時,由教師根據(jù)實驗題目指導(dǎo)學(xué)生一步一步完成圖4所示內(nèi)容:①問題描述,即實驗要解決問題的描述;②基本要求,即實驗要達(dá)到的具體要求;③測試數(shù)據(jù),即設(shè)計能達(dá)到測試目的的測試數(shù)據(jù);④算法思想,即描述解決相應(yīng)問題的算法思想;⑤類劃分,即分析問題所需的類,并給出類的邏輯功能描述;⑥源程序,即有充分注釋的參考實現(xiàn)源程序清單;⑦測試情況,即程序的測試情況以及必要的分析和說明。由于數(shù)據(jù)結(jié)構(gòu)實驗尚未要求進(jìn)行較強功能軟件的開發(fā),故上述過程中雖然涉及了軟件工程思想和軟件開發(fā)過程,但一般并不強調(diào)過分詳細(xì)的需求分析、概要設(shè)計、詳細(xì)設(shè)計等步驟,也不必要求提供詳細(xì)的使用手冊。在隨后的整個課程實驗過程中,對學(xué)生嚴(yán)格要求、反復(fù)強調(diào)必須嚴(yán)格遵守圖4的實驗過程,并采用抽查等方式保證其嚴(yán)格執(zhí)行。

3.2關(guān)注點的分離

為了將數(shù)據(jù)結(jié)構(gòu)與Java語言、軟件工程有效結(jié)合,要求在課程的實驗過程中也始終與理論教學(xué)中一樣,按圖5所示的三個典型步驟來解決所遇到的數(shù)據(jù)結(jié)構(gòu)和算法問題:①抽象,即分析問題需求,抽象出一個解決該問題的適當(dāng)?shù)臄?shù)學(xué)模型(抽象數(shù)據(jù)類型ADT);②接口設(shè)計,即對應(yīng)地設(shè)計一個規(guī)格說明來描述ADT應(yīng)支持的操作,并將這個規(guī)格說明用Java接口來表示;③實現(xiàn),即選擇合適的數(shù)據(jù)結(jié)構(gòu)和算法來實現(xiàn)上述Java接口,最后對各種不同實現(xiàn)的代價進(jìn)行分析和比較。這樣的步驟清楚地區(qū)分了ADT的接口與實現(xiàn),體現(xiàn)了軟件工程中分離關(guān)注點的重要原則[6],同時很好地利用了Java語言在抽象、封裝等方面的優(yōu)勢。

4實驗保障措施

通過已有的實驗過程發(fā)現(xiàn),僅有實驗任務(wù)組織和實驗過程設(shè)計是不夠的,還必須要有良好的動手習(xí)慣培養(yǎng)、基本知識積累以及編程能力提高等作為保障措施,才能較好地達(dá)到所提出的課程實驗?zāi)繕?biāo)。

4.1動手習(xí)慣的培養(yǎng)

部分學(xué)生沒有動手的習(xí)慣,實踐教學(xué)中應(yīng)注重培養(yǎng)學(xué)生的動手習(xí)慣,特別是培養(yǎng)記錄、畫圖、打草稿等基本的動手習(xí)慣,避免學(xué)生對知識把握不準(zhǔn)、似是而非。如在講解、演示或討論時,讓學(xué)生跟隨教師動手在草稿紙上畫圖、記錄,講解完立即就剛剛所學(xué)內(nèi)容的部分關(guān)鍵步驟再抽查學(xué)生重新講解,并要求輔以圖、表等(當(dāng)然抽查也可以在下一次課進(jìn)行),如果存在問題可以由其他同學(xué)糾正,最后由教師進(jìn)一步分析、總結(jié),讓學(xué)生深刻體會動手習(xí)慣對知識學(xué)習(xí)所起的鞏固作用。

4.2簡單知識的積累

部分學(xué)生不注重積累那些功能簡單的小算法,實踐教學(xué)中教師應(yīng)注重培養(yǎng)學(xué)生對簡單知識的理解、記憶、積累,經(jīng)常抽查,在面對那些較為復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和算法時,充分分析、分解其中涉及到的基本知識點之間、算法之間的聯(lián)系,提示學(xué)生注意類的小型化、原子化,只有長期注重對基本知識點的理解、記憶和積累,才能避免遇到問題時無從下手,避免理論與實踐脫節(jié)。

4.3編程能力的提高

由于前導(dǎo)課程如C語言、Java等掌握不好、認(rèn)識不深、基礎(chǔ)不牢,不少學(xué)生編程能力較弱,缺乏把數(shù)據(jù)結(jié)構(gòu)和算法轉(zhuǎn)化成代碼實現(xiàn)的能力,部分學(xué)生甚至不能把一些簡單的算法轉(zhuǎn)換成完整的程序,以及缺乏基本的排錯能力,都大大影響了這些學(xué)生學(xué)習(xí)這門課的積極性和效果。

為了使實驗過程清晰并降低實現(xiàn)的難度、提高可操作性,要求學(xué)生一開始所設(shè)計的ADT不一定功能很完備,只要具有那些典型的、能初步表現(xiàn)問題需求的基本功能即可,隨著上述步驟的一作結(jié)束,根據(jù)問題的需求,進(jìn)一步完善現(xiàn)有的ADT及其實現(xiàn)。讓學(xué)生既在運用中逐步體會了軟件工程原理和應(yīng)用,又對通過不斷運用Java的基本知識,提高了編程能力。

另外,加強現(xiàn)場指導(dǎo)、交流、溝通,及時發(fā)現(xiàn)學(xué)生的困難,有針對性地幫助學(xué)生提高認(rèn)識、解決問題,以及實驗完成后進(jìn)行分析總結(jié),集中討論實驗中的一些普遍問題,都是提升實驗效果的有力措施。

5結(jié)語

基于實驗在數(shù)據(jù)結(jié)構(gòu)教學(xué)中的重要地位,精心的任務(wù)組織、科學(xué)的過程設(shè)計和嚴(yán)格的保障措施是十分必要的。一段時間的運行表明,上述做法對于促進(jìn)學(xué)生在學(xué)習(xí)過程中充分發(fā)揮主觀能動作用,增強對數(shù)據(jù)對象特征的理解、數(shù)據(jù)組織方法的掌握、軟件開發(fā)過程的熟悉、程序?qū)崿F(xiàn)技能的培養(yǎng)以及抽象邏輯思維能力的提高等方面都起到了積極的作用。

參考文獻(xiàn):

[1] 楊紅賓. 數(shù)據(jù)結(jié)構(gòu)課程改革探討[J]. 教育與職業(yè),2009(32):131-132.

[2] 沈根海. 高職院校數(shù)據(jù)結(jié)構(gòu)實驗教學(xué)的探索[J]. 電腦知識與技術(shù),2008(33):1427-1428.

[3] 張濟礎(chǔ),楊亞莉. 高職院校“數(shù)據(jù)結(jié)構(gòu)Java語言描述”課程的實驗設(shè)計[J]. 計算機教育,2010(1):64-65.

[4] 楊曉波. 淺析數(shù)據(jù)結(jié)構(gòu)課程教學(xué)中的實驗環(huán)節(jié)[J]. 甘肅高師學(xué)報,2003(5):49-50.

[5] 朱戰(zhàn)立. 數(shù)據(jù)結(jié)構(gòu)Java語言描述[M]. 北京:清華大學(xué)出版社,2005:295-299.

[6] 周大慶. 實用數(shù)據(jù)結(jié)構(gòu)教程Java語言描述[M]. 北京:人民郵電出版社,2007:1-2.

[7] WEISS M A. Data structure and problem solving using Java[M]. London:Pearson Education,2006:1-5.

Experimental Design of Data Structure Course Using Java

LI Gang, HUANG Tongyuan, ZHANG Xiaochuan

(School of Computer, Chongqing University of Technology, Chongqing 400050, China)

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計范文4

關(guān)鍵詞:迭代增化增量模型;工作任務(wù);數(shù)據(jù)結(jié)構(gòu)

中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B

1引言

“數(shù)據(jù)結(jié)構(gòu)”是高職學(xué)院計算機專業(yè)的核心課程,是程序設(shè)計的重要理論技術(shù)基礎(chǔ),為后繼專業(yè)課的學(xué)習(xí)提供必要的基礎(chǔ)知識、基本理論和方法。教學(xué)目的包括:熟練掌握基本的數(shù)據(jù)結(jié)構(gòu)和算法;能應(yīng)用重要的算法策略和分析方法;在實際的工程設(shè)計中應(yīng)用算法。

“數(shù)據(jù)結(jié)構(gòu)”是一門技術(shù)性很強的課程,以高職學(xué)生的思維習(xí)慣和抽象思維能力,在有限的時間里很難對課程的原理和方法的應(yīng)用有清楚的認(rèn)識。他們學(xué)習(xí)更注重知識和理論的應(yīng)用性,而傳統(tǒng)的實驗課缺少有實用價值的工程應(yīng)用設(shè)計,內(nèi)容枯燥而缺乏創(chuàng)造性,學(xué)生的主動性和積極性不高。

為了將嚴(yán)謹(jǐn)抽象的理論教學(xué)延伸至現(xiàn)實生活中的問題情境,提高學(xué)生將數(shù)據(jù)結(jié)構(gòu)中的知識應(yīng)用于實際問題的能力,本文首先提出了基于迭代增量的開發(fā)方式設(shè)計實踐學(xué)習(xí)情境,從接受任務(wù)到任務(wù)完成都遵循“需求分析數(shù)據(jù)結(jié)構(gòu)/算法設(shè)計編碼實現(xiàn)測試”這一基本的工作流程,然后根據(jù)數(shù)據(jù)結(jié)構(gòu)課程知識體系結(jié)構(gòu)設(shè)計了具有連續(xù)性和序列性的實驗任務(wù),進(jìn)而分析各個任務(wù)如何在迭代增量過程具體實施操作,最后對比傳統(tǒng)的實驗教學(xué)來評價該實踐方法的有效性。

2實驗教學(xué)過程設(shè)計

迭代增量模型是軟件開發(fā)過程中常用的開發(fā)模型,將其引入數(shù)據(jù)結(jié)構(gòu)的實踐教學(xué)中設(shè)置教學(xué)場景,使實踐教學(xué)處于開放狀態(tài),不拘泥課堂內(nèi)外的界限,也不受制于數(shù)據(jù)結(jié)構(gòu)課程通常的總課時數(shù)。將設(shè)計的30個實驗任務(wù)平鋪于整個學(xué)期,每個任務(wù)從接受到任務(wù)完成都遵循“需求分析數(shù)據(jù)結(jié)構(gòu)/算法設(shè)計編碼實現(xiàn)測試”這一基本的工作流程,如圖1所示。

從圖中可知,迭代增量的迭代是通過對核心開發(fā)活動的重復(fù)應(yīng)用,包括了對問題解決方案定義以及解決方案實現(xiàn)的連續(xù)細(xì)化,其中的增量是指:軟件開發(fā)過程中,隨著數(shù)據(jù)結(jié)構(gòu)理論課程知識由少至多的學(xué)習(xí),在一次迭代運行的周期中,學(xué)生對問題的理解以及解決方案提供的功能均會增長,先開發(fā)每個實驗任務(wù)的主要功能模塊,再開發(fā)次要功能模塊,逐步完善,最終開發(fā)出相對完整的符合需求的軟件作品。這樣將整個實踐的全過程都融入在一系列的工程任務(wù)中,在實踐開發(fā)中,其中連續(xù)地組織起來數(shù)個或更多的應(yīng)用,以構(gòu)成一個完整的項目。

學(xué)生按照上面的開發(fā)模型,在實驗課程中引入軟件工程的原理,按照規(guī)范的開發(fā)過程學(xué)習(xí)和應(yīng)用數(shù)據(jù)結(jié)構(gòu)原理和方法,故而開展小規(guī)模軟件數(shù)據(jù)管理系統(tǒng)調(diào)研,設(shè)計,編碼測試工作。另外根據(jù)“軟件技術(shù)應(yīng)用崗位職業(yè)標(biāo)準(zhǔn)”,分析工作過程中的一系列真實職業(yè)角色,指導(dǎo)學(xué)生按照“需求分析員架構(gòu)架構(gòu)師編碼員測試員”等不同角色的轉(zhuǎn)換在迭代增量過程中完成任務(wù),著力培養(yǎng)學(xué)生的職業(yè)能力。

3實驗教學(xué)內(nèi)容的組織與設(shè)計

本課程實踐教學(xué)內(nèi)容的組織、安排的基本思路是遵循迭代增量的開發(fā)基本流程,以真實工作任務(wù)及其工作過程為依據(jù)整合、序化教學(xué)內(nèi)容,精心設(shè)計了30個學(xué)習(xí)性工作任務(wù)。從課程教學(xué)內(nèi)容組織而言,考慮對于正在發(fā)生迅速變革的計算機領(lǐng)域,選擇那些相對穩(wěn)定、長期有用的、對應(yīng)用領(lǐng)域必不可少的知識結(jié)構(gòu)作為實驗任務(wù)設(shè)計的內(nèi)容。課程教學(xué)內(nèi)容和學(xué)習(xí)工作任務(wù)的總體組織安排如圖2所示。

其中,課程教學(xué)內(nèi)容共計14個專題模塊與30個學(xué)習(xí)工作任務(wù)交叉對應(yīng),全部任務(wù)將所有知識結(jié)構(gòu)迭代覆蓋,各個工作任務(wù)按教學(xué)內(nèi)容的先后依照進(jìn)度逐一展開。30個

結(jié)合具體問題構(gòu)造的軟件設(shè)計工作任務(wù)經(jīng)常會要求學(xué)生“用特定的數(shù)據(jù)結(jié)構(gòu)/算法”來解決某個問題,學(xué)生需要撰寫詳細(xì)的設(shè)計,描述現(xiàn)在要解決的問題和最后的結(jié)果。對于算法的描述,應(yīng)該按照4點要求執(zhí)行:

(1) 算法的中英文描述,提供偽代碼(pseudocode)。

(2) 最少以一個工作例子或圖表來更明確的顯示算法怎樣運作。

(3) 算法正確性的一個證明(或表示)。

(4) 算法執(zhí)行時間的分析。

這樣數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計這一核心工作流程尤為重要,教師必須加強的指導(dǎo)力度,做到邊講邊練、邊學(xué)邊做。而在需求分析過程中,教師帶領(lǐng)學(xué)生深入現(xiàn)實實際獲取和調(diào)研需求,學(xué)生會跟隨理論課知識進(jìn)一步學(xué)習(xí)和調(diào)研,增加需求,迭代需求分析這一核心工作過程。每個任務(wù)持續(xù)的時間和任務(wù)本身的規(guī)模有關(guān),如某個超市購物系統(tǒng)會持續(xù)到學(xué)期末,如后期學(xué)習(xí)的排序,查找會在系統(tǒng)中得到應(yīng)用設(shè)計,整個迭代的過程會持續(xù)至數(shù)據(jù)結(jié)構(gòu)課程全部結(jié)束,這樣基于迭代增量過程就能發(fā)揮更大作用。而編碼和測試過程則以學(xué)生為主導(dǎo),自主自覺地根據(jù)前期的分析和設(shè)計展開具體的實現(xiàn)過程。在此過程中,學(xué)生覺得編碼過程不再困難,而有想早點實現(xiàn)以見其效的積極想法。對每個任務(wù),以軟件工程流程或者角色為軸線的迭代,學(xué)生在教師的指導(dǎo)下參與所有的工作活動,按照如圖3進(jìn)行多次迭代開發(fā)設(shè)計。

根據(jù)迭代增量的工程流程,我們篩選了主要的項目活動:需求分析、分析設(shè)計、編碼實現(xiàn)、測試、項目管理。理論上,每種軟件工程流程都會對應(yīng)一個單獨的計劃,而且每個軟件工程流程會定義自己的迭代周期和迭代次數(shù)。教師的重要職責(zé)之一就是識別和管理各個任務(wù)與知識結(jié)構(gòu)的依賴關(guān)系,保證各個設(shè)計任務(wù)的順利進(jìn)行。此外,在考核方面重點放在過程考核,強調(diào)素質(zhì)與能力,不再進(jìn)行單獨的課程考核,按照工作任務(wù)評估表對學(xué)生的工作過程進(jìn)行評價,課程成績計算按任務(wù)的難度工作量規(guī)模大小分配權(quán)重,進(jìn)行最后總評,直至完成整個工作任務(wù)的實施。

4實踐教學(xué)評價與結(jié)論

我院從2005年開始在計算機專業(yè)采用基于迭代化的增量軟件開發(fā)方式開放數(shù)據(jù)結(jié)構(gòu)的實驗教學(xué),通過實驗對比方法,將3年制計算機專業(yè)學(xué)生分為實驗組和對照組,從定性和定量兩個方面科學(xué)地觀察實踐課程的教學(xué)效果。通過學(xué)生數(shù)據(jù)結(jié)構(gòu)課程考試成績的對比分析、問卷調(diào)查以及實踐成果的對比分析,匯總情況如表1所示:

從上表可知,實驗組學(xué)生在基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)系統(tǒng)知識學(xué)習(xí)、分析問題和解決問題能力以及后期專業(yè)知識的學(xué)習(xí)方面均具有更好的效果。此外,后期的問卷調(diào)查結(jié)果也表明,實驗班學(xué)生對課程的總體印象在優(yōu)良以上的占83%,教師對“實施基于迭代增量的實踐課程總體印象”表示“較好”以上的為81%。

目前,數(shù)據(jù)結(jié)構(gòu)課程實驗課程的設(shè)計和實施還存在著一定問題,如同一任務(wù)體系間的相互融合貫通還不夠,在教學(xué)方法上的改革還不足等;將來還需要進(jìn)一步改進(jìn)迭代增量法在教學(xué)情境的實施應(yīng)用,研究和開發(fā)更多實用性實踐課程工作任務(wù),發(fā)揮其在后期專業(yè)課程學(xué)習(xí)中的延伸效果,持續(xù)提高高職計算機學(xué)生的專業(yè)和工程應(yīng)用設(shè)計能力。

參考文獻(xiàn):

[1] [美]沙赫查. 面向?qū)ο筌浖こ蘙M]. 黃林鵬,T小輝,伍建j,譯. 北京:機械工業(yè)出版社,2009.

[2] 殷人昆. 數(shù)據(jù)結(jié)構(gòu)(用面向?qū)ο蠓椒ㄅcC++語言描述)[M]. 北京:機械工業(yè)出版社,2007.

[3] [美]B.S.布盧姆. 教育目標(biāo)分類學(xué)[M]. 羅黎輝,譯. 上海:華東師范大學(xué)出版社,1986.

[4] 劉韶濤,王寧生. 軟件體系結(jié)構(gòu)的迭代增量構(gòu)建方法[J]. 計算機應(yīng)用研究,2003(20).

[5] 羅偉,張翠英. 對高職院校實踐教學(xué)中“關(guān)鍵能力”培養(yǎng)的探討[J]. 職業(yè)教育研究,2008(3).

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計范文5

【關(guān)鍵詞】數(shù)據(jù)結(jié)構(gòu);知識體系;教學(xué)設(shè)計

1 課程的地位與作用

《數(shù)據(jù)結(jié)構(gòu)》是計算機科學(xué)與技術(shù)專業(yè)的核心專業(yè)基礎(chǔ)課程,是計算機程序設(shè)計的重要理論和實踐基礎(chǔ),是計算機理論與技術(shù)的重要基石。《數(shù)據(jù)結(jié)構(gòu)》上承高級語言程序設(shè)計,下啟算法分析與設(shè)計,是計算機科學(xué)與技術(shù)人才素質(zhì)框架中的脊梁骨,對學(xué)生能力培養(yǎng)至關(guān)重要,向來是計算機本科教學(xué)的重中之重。調(diào)查表明已畢業(yè)的學(xué)生通過他們的工作實踐認(rèn)為《數(shù)據(jù)結(jié)構(gòu)》是最有用的課程之一,這也從另一方面說明了該課程的重要性。

計算機科學(xué)與技術(shù)專業(yè)的培養(yǎng)目標(biāo)之一是掌握計算機科學(xué)與技術(shù)的基本理論、計算機軟/硬件基本知識及應(yīng)用技術(shù),《數(shù)據(jù)結(jié)構(gòu)》在培養(yǎng)目標(biāo)的實現(xiàn)中具有舉足輕重的作用,是理解計算機科學(xué)與程序開發(fā)技術(shù)的關(guān)鍵課程。作為一門重要的專業(yè)必修課程,《數(shù)據(jù)結(jié)構(gòu)》課程既是對以往課程的深入和擴展,也是為將來更加深入地學(xué)習(xí)其他專業(yè)課程打下基礎(chǔ)。課程中所學(xué)習(xí)的排序問題的算法,以及基本的樹、圖等數(shù)據(jù)結(jié)構(gòu),是計算機科學(xué)的基本功。B+樹等高級數(shù)據(jù)結(jié)構(gòu),也是數(shù)據(jù)庫、操作系統(tǒng)、編譯原理、計算機網(wǎng)絡(luò)等后續(xù)課程的基礎(chǔ)。《數(shù)據(jù)結(jié)構(gòu)》是計算機專業(yè)考研的統(tǒng)考課程,也是很多大賽(“藍(lán)橋杯”、ACM等)必涉及的知識。

《數(shù)據(jù)結(jié)構(gòu)》與其它課程關(guān)系如圖1所示。

圖1 《數(shù)據(jù)結(jié)構(gòu)》與其它課程關(guān)系

《數(shù)據(jù)結(jié)構(gòu)》在培養(yǎng)目標(biāo)中的作用如圖2所示。

圖2 《數(shù)據(jù)結(jié)構(gòu)》在培養(yǎng)目標(biāo)中的作用

2 課程的教學(xué)目標(biāo)與主要內(nèi)容

2.1 課程的教學(xué)目標(biāo)

學(xué)習(xí)本課程后,應(yīng)達(dá)到下列基本要求:

(1)理解數(shù)據(jù)結(jié)構(gòu)的基本概念;

(2)熟練掌握線性表、棧、隊列、樹、圖等常用數(shù)據(jù)結(jié)構(gòu)的基本運算的實現(xiàn)及應(yīng)用;

(3)熟練掌握排序和查找的常用算法及應(yīng)用;

(4)能夠?qū)λ惴ㄟM(jìn)行時間復(fù)雜度度、空間復(fù)雜度的分析;

(5)培養(yǎng)學(xué)生分析數(shù)據(jù)、組織數(shù)據(jù)的能力,能夠根據(jù)實際問題來選擇合適的數(shù)據(jù)結(jié)構(gòu),設(shè)計有效的算法。

2.2 教材與主要參考資料

教材

耿國華《數(shù)據(jù)結(jié)構(gòu)(用C語言描述)》,高等教育出版社,2011年

教材選擇的依據(jù):

(1)該教材跟蹤技術(shù)發(fā)展需要,體系科學(xué),是“十一五”國家級規(guī)劃教材。

(2)該教材理論的闡述由淺入深、通俗易懂。

(3)該教材理論結(jié)合實際,配有大量的例題、習(xí)題與實習(xí)題。

主要參考資料

[1]嚴(yán)蔚敏,吳偉民《數(shù)據(jù)結(jié)構(gòu)(C語言版)》,清華大學(xué)出版社,2006年

[2]張銘,王騰蛟,趙海燕《數(shù)據(jù)結(jié)構(gòu)與算法》,高等教育出版社,2008年

[3]朱戰(zhàn)立《數(shù)據(jù)結(jié)構(gòu)――使用C語言(第4版)》,電子工業(yè)出版社,2009年

[4]王曉東《數(shù)據(jù)結(jié)構(gòu)(C語言版).》電子工業(yè)出版社,2007年

[5]西北大學(xué)數(shù)據(jù)結(jié)構(gòu)精品課程網(wǎng)站

http//:/datastr

[6]北大數(shù)據(jù)結(jié)構(gòu)與算法課程網(wǎng)站

http:///pkujpk/course/sjjg/

[7]洛陽理工學(xué)院數(shù)據(jù)結(jié)構(gòu)精品課程網(wǎng)站

http//:/sjjg

[8]洛陽理工學(xué)院數(shù)據(jù)結(jié)構(gòu)精品資源共享課程網(wǎng)站

http//:/ds

2.3 知識體系

《數(shù)據(jù)結(jié)構(gòu)》知識體系可分為分為三大塊,如圖3所示。

圖3 《數(shù)據(jù)結(jié)構(gòu)》知識體系

數(shù)據(jù)結(jié)構(gòu)課程的基本知識模塊是以數(shù)據(jù)的邏輯結(jié)構(gòu)為主線,順序介紹線性結(jié)構(gòu)(線性表、棧、隊列、串、數(shù)組、廣義表)、樹形結(jié)構(gòu)、圖結(jié)構(gòu)。在介紹每種數(shù)據(jù)結(jié)構(gòu)時,再討論其存儲結(jié)構(gòu)以及相關(guān)的算法。在介紹完基本的數(shù)據(jù)結(jié)構(gòu)及其存儲結(jié)構(gòu)和相關(guān)的算法后,介紹了兩種常用技術(shù):查找和排序。

3 課程教學(xué)內(nèi)容安排

3.1 課程重點、難點

重點:線性表、棧、隊列、二叉樹、圖典型數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)和操作的實現(xiàn)方法,各種典型的排序和查找算法思想。

難點:各種數(shù)據(jù)結(jié)構(gòu)的操作實現(xiàn)和應(yīng)用

第1章是對數(shù)據(jù)結(jié)構(gòu)課程的認(rèn)識,基本概念比較多,概念要講清楚、準(zhǔn)確,第一章要通過豐富的例子講解如何分析算法時間復(fù)雜度,這是貫穿整門課程的內(nèi)容,也是本課程的一個難點,第2章是整個課程的重要基礎(chǔ),要講得十分詳細(xì),為后面的章節(jié)打下良好的基礎(chǔ),第3章的棧與遞歸的實現(xiàn)是本書的一個難點,要通過例子講透,并且在第6章還要進(jìn)一步地講遞歸到非遞歸的轉(zhuǎn)換。第四章內(nèi)容較簡單,而且學(xué)生在高級語言程序設(shè)計中學(xué)習(xí)過字符串,因此留給學(xué)生自學(xué),也可以培養(yǎng)學(xué)生的自學(xué)能力。第五章數(shù)組和廣義表一般講解即可。第6章的二叉樹要詳細(xì)講解,第7章的幾個關(guān)于圖的算法較難,要結(jié)合例子講解,第8章中的難點是平衡二叉樹的調(diào)整和B樹,要通過例子把算法的思想講清楚,使學(xué)生能實際操作。第9章要把各種排序的思想、特點講清楚,特別是較難的希爾排序、快速排序、堆排序、基數(shù)排序一定要結(jié)合實例講解。

3.2 課時分配

表1 總課時:72;理論授課:58,實驗:14

4 課程實踐環(huán)節(jié)

數(shù)據(jù)結(jié)構(gòu)是與實踐緊密結(jié)合的課程,學(xué)生學(xué)習(xí)的理論必須經(jīng)過大量的實踐才能更好的掌握,因此必須強化實踐教學(xué)。數(shù)據(jù)結(jié)構(gòu)實踐分兩部分:一部分是隨課程進(jìn)行的實驗,另一部分是課程結(jié)束后為期一周的課程設(shè)計。通過合理、有效地設(shè)計上機題目,改進(jìn)實驗考核方式,調(diào)動學(xué)生的積極性,啟發(fā)引導(dǎo)學(xué)生掌握基礎(chǔ)理論并能創(chuàng)新應(yīng)用,增強學(xué)生綜合運用有關(guān)知識的能力。

實驗內(nèi)容包括六個實驗項目,分別為:線性表的基本操作(2學(xué)時),棧的基本操作(2學(xué)時),隊列的基本操作(2學(xué)時),二叉樹的建立及遍歷(2學(xué)時),圖的遍歷的實現(xiàn)(2學(xué)時),宿舍管理查詢系統(tǒng)(4學(xué)時)。其中宿舍管理查詢系統(tǒng)實驗為三性實驗。

課程設(shè)計是課程結(jié)束后進(jìn)行的很重要的實踐環(huán)節(jié),本課程課程設(shè)計給出14個題目,這些題目都是綜合性的,學(xué)生可任選一題,完成后要寫出課程設(shè)計報告。通過課程設(shè)計,使學(xué)生進(jìn)一步理解和掌握所學(xué)各種基本知識,培養(yǎng)學(xué)生綜合運用所學(xué)的理論知識和方法獨立分析和解決問題的能力;訓(xùn)練學(xué)生用系統(tǒng)的觀點和軟件開發(fā)一般規(guī)范進(jìn)行軟件開發(fā),使學(xué)生具備軟件工作者所應(yīng)具備的科學(xué)的工作方法和作風(fēng)。

學(xué)生完成實驗后,不僅要求學(xué)生提交高質(zhì)量的規(guī)范的實驗報告,還要引導(dǎo)學(xué)生互相交流,開闊視野。好的實驗作業(yè)要放到班級公共郵箱里和所有學(xué)生共享。

5 課程的建設(shè)情況

5.1 課程資源情況

該課程教學(xué)文件完備。通過多年的教學(xué),積累了必要的一些輔助教學(xué)資料(包括教學(xué)參考書、參考課件、聲像、影像等),并且使用效果良好。補充的學(xué)習(xí)資料有:

(1)教學(xué)網(wǎng)站:http:///sjjg/

http:///ds/

(2)搜集了大量探討數(shù)據(jù)結(jié)構(gòu)理論與算法、介紹學(xué)科前沿動態(tài)的中、英文學(xué)術(shù)論文和碩、博論文,對其分類整理后在課程教學(xué)網(wǎng)站上提供下載鏈接,以供學(xué)生深入研究、學(xué)習(xí);

(3)自編《數(shù)據(jù)結(jié)構(gòu)實驗指導(dǎo)書》;

(4)多媒體電子教案的紙制版和網(wǎng)絡(luò)版;

(5)數(shù)據(jù)結(jié)構(gòu)與課程實驗指導(dǎo)書的紙制版和網(wǎng)絡(luò)版;

(6)自編的算法演示器;

(7)Flash課件和Flash算法演示;

(8)圖書館內(nèi),國外優(yōu)秀的經(jīng)典教材。

5.2 實驗實習(xí)條件

所有實驗在計算機系機房進(jìn)行,機房現(xiàn)有的實驗平臺功能齊全,課程中所涉及的實驗項目均可在平臺上完成。目前課程實驗大綱中所列的實驗開出率達(dá)到100%,實驗教學(xué)效果良好。

5.3 課程成果

該課程2010年被評為河南省級精品課程,2012河南省級精品資源課程。

6 教學(xué)設(shè)計

《數(shù)據(jù)結(jié)構(gòu)》是一門理論與實踐相結(jié)合的課程。由于理論的抽象性,學(xué)生難以建立起數(shù)據(jù)結(jié)構(gòu)的相應(yīng)算法概念,容易產(chǎn)生畏懼和茫然的情緒。因此教學(xué)中在積極引導(dǎo)學(xué)生、啟發(fā)學(xué)生,激發(fā)學(xué)生學(xué)習(xí)的積極性。教學(xué)以課堂講授為主,同時借助網(wǎng)絡(luò)教學(xué)平臺,拓展課堂講授的相關(guān)知識,便于同學(xué)自主學(xué)習(xí)、鞏固課堂所學(xué)內(nèi)容。另外,組織獨立習(xí)題課,針對學(xué)生作業(yè)中出現(xiàn)的典型問題進(jìn)行深入探討。

在教學(xué)中要貫徹“以理論學(xué)習(xí)為主線,以課程實驗、課程設(shè)計為補充”的教學(xué)思想。

6.1 精心組織教學(xué)內(nèi)容

分析學(xué)生的需求和現(xiàn)實,同時緊緊抓住教學(xué)目的,參考相關(guān)院校的教材和教學(xué)計劃,取長補短,參考考研大綱、軟考大綱,對課程的內(nèi)容進(jìn)行嚴(yán)格的篩選,刪除一些較深且應(yīng)用不是很廣泛的內(nèi)容,對于重點的內(nèi)容要精講、細(xì)講,而對于有些較簡單且與先修課程交叉的內(nèi)容(如字符串與數(shù)組),就粗講,甚至可以留給學(xué)生去自學(xué)。這樣重點突出,簡潔明了。在課程內(nèi)容的安排上由淺入深,循序漸進(jìn)。對每種數(shù)據(jù)結(jié)構(gòu)都按三個層次來組織教學(xué)內(nèi)容,并且把這三個層次的思想貫穿于數(shù)據(jù)結(jié)構(gòu)教學(xué)的各個環(huán)節(jié)。第一個層次,基本概念、方法,這是最基本的內(nèi)容,學(xué)生必須掌握,在學(xué)生很好地掌握了這個層次的內(nèi)容后,可進(jìn)入第二個層次,基本概念、知識的簡單應(yīng)用,這一層次是對基本概念、知識加深理解,這個層次學(xué)生必須達(dá)到。第三個層次就是基本概念、方法的深入應(yīng)用,把所學(xué)的知識、方法串起來靈活運用。要達(dá)到這個層次,需經(jīng)過大量的訓(xùn)練才行。

6.2 實現(xiàn)數(shù)據(jù)結(jié)構(gòu)課程與其先修和后續(xù)課程的無縫銜接

程序設(shè)計語言(如C語言)是本課程的一門非常重要的先修課程,數(shù)據(jù)庫原理、編譯原理、操作系統(tǒng)是該課程的后續(xù)課程,這些課程不能各自為政,而要無縫銜接,教這些課程的老師要互相交流,這樣在講程序設(shè)計語言時可以有的放矢的把和數(shù)據(jù)結(jié)構(gòu)聯(lián)系緊密的內(nèi)容預(yù)先告知學(xué)生,這樣學(xué)生就會對相關(guān)知識印象深刻,到數(shù)據(jù)結(jié)構(gòu)課中就很容易用的得心應(yīng)手。在數(shù)據(jù)結(jié)構(gòu)課中講到各種后續(xù)課程中用到的數(shù)據(jù)結(jié)構(gòu)時也告訴學(xué)生,并且在后續(xù)課程中用到相關(guān)數(shù)據(jù)結(jié)構(gòu)時提醒學(xué)生這是這種數(shù)據(jù)結(jié)構(gòu)在本課程中的應(yīng)用。這樣使學(xué)生的知識一脈相承,使學(xué)生在學(xué)習(xí)各門課程時把知識融會貫通。

6.3 精講多練,加強實踐環(huán)節(jié),培養(yǎng)學(xué)生分析問題解決問題的能力

數(shù)據(jù)結(jié)構(gòu)既有大量的理論又是實踐性很強的課程,學(xué)生要很好地掌握這門課,必須要有一定的理論知識,又要經(jīng)過大量的上機實踐。因此,針對應(yīng)用型本科的特點,在教學(xué)過程中,即注重理論,又重視實踐,加大上機實踐的力度。實踐由與理論課同時進(jìn)行的上機實驗和理論課講授完畢后的課程設(shè)計兩部分組成。對所學(xué)的每一部分內(nèi)容都要要求學(xué)生完成相應(yīng)的實驗習(xí)題。整個實踐過程要結(jié)合教學(xué)進(jìn)度與學(xué)生的實際情況,制定實踐的內(nèi)容。每部分的實驗習(xí)題必須精心挑選,和上述三個層次對應(yīng),分為基礎(chǔ)與驗證型實驗、設(shè)計與綜合型實驗,開發(fā)與創(chuàng)新型實驗。既要把基本知識掌握好,又要會靈活運用。基礎(chǔ)與驗證型實驗是基本的、較簡單的題目,主要結(jié)合課堂理論教學(xué)內(nèi)容展開,學(xué)生可以對在課堂上學(xué)到的基本算法進(jìn)行驗證;設(shè)計與綜合型實驗是具有挑戰(zhàn)性的較難的新穎有趣的題目,讓學(xué)生充分利用所學(xué)的理論知識進(jìn)行相對較復(fù)雜的應(yīng)用設(shè)計,培養(yǎng)學(xué)生綜合能力;開發(fā)與創(chuàng)新型實驗培養(yǎng)學(xué)生的創(chuàng)新意識,提高綜合能力和創(chuàng)新實踐能力。

6.4 多樣化的教學(xué)方法

6.4.1 啟發(fā)式教學(xué)

教師主要起引導(dǎo)的作用,激發(fā)學(xué)生的學(xué)習(xí)興趣,發(fā)揮學(xué)生的學(xué)習(xí)積極性,與學(xué)生進(jìn)行互動,鼓勵學(xué)生對教學(xué)內(nèi)容提出問題,師生共同討論,提高教學(xué)和學(xué)習(xí)水平。鼓勵學(xué)生多動腦子進(jìn)行思考,在學(xué)習(xí)過程中不拘于以往的解法,對同一個問題可以提出不同的解法,深化對問題的理解。另外還要強調(diào)學(xué)生自己學(xué)會對知識的總結(jié)、梳理、推演和挖掘。總結(jié)是教學(xué)中一個非常重要的環(huán)節(jié),不可忽視。通過對所學(xué)內(nèi)容的總結(jié)、梳理、推演和挖掘,理清內(nèi)容的內(nèi)在聯(lián)系,使知識條理化、系統(tǒng)化,加強對知識的理解和掌握,培養(yǎng)學(xué)生的歸納總結(jié)能力和思維創(chuàng)造能力,對所學(xué)內(nèi)容提煉出精華的東西。(下轉(zhuǎn)第260頁)

(上接第167頁)6.4.2 對比式教學(xué)

對同一問題,引導(dǎo)學(xué)生從不同的角度去思考,找出多種方法來解決。比如,在解決約瑟夫環(huán)問題時,可以采用循環(huán)鏈表作存儲結(jié)構(gòu),或采用線性表的順序存儲結(jié)構(gòu),也可以采用數(shù)組作存儲結(jié)構(gòu)。這種對同一問題尋找不同算法實現(xiàn)的教學(xué)方式,有效地開闊了學(xué)生的思路,同時通過對不同算法的比較,加深了學(xué)生對算法的理解和掌握。

6.4.3案例教學(xué)

通過實例引入知識點。比如講最小生成樹可以通過城市間建立通信聯(lián)絡(luò)網(wǎng)為例引入最小生成樹及其求解算法,再比如講最短路徑可以通過去旅游選擇最短路徑為例引入最短路徑及其求解方法。

6.5 把課程與考研、軟考、相關(guān)競賽有機的結(jié)合起來

數(shù)據(jù)結(jié)構(gòu)是計算機專業(yè)考研和軟考的必考科目,在教學(xué)過程中有意識地把考研和軟考引入教學(xué)中,使學(xué)生學(xué)完本課程后能夠從容應(yīng)對考研和軟考中的數(shù)據(jù)結(jié)構(gòu)題目。組織和鼓勵學(xué)生參加程序員,高級程序員證書考試,輔導(dǎo)學(xué)生參加各種編程競賽比如ACM大賽。

7 考核方法

要加強平時的學(xué)習(xí)過程管理,不定時地進(jìn)行一些隨堂的小測試,課堂提問等。考試以學(xué)生完成日常作業(yè)和實驗環(huán)節(jié)為必要條件,期末考試采用筆試方式。成績評定由三部分組成:期末考試占總成績的60%,平時成績占總成績的20%,實驗占總成績的20%,綜合考核學(xué)生該科成績。

8 結(jié)語

《數(shù)據(jù)結(jié)構(gòu)》對計算機科學(xué)與技術(shù)專業(yè)的學(xué)生來說是非常重要的課程,組織好教學(xué),使學(xué)生通過該課程的教學(xué),很好地掌握數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識,為今后的學(xué)習(xí)奠定良好的基礎(chǔ)是非常重要的。

【參考文獻(xiàn)】

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計范文6

關(guān)鍵詞:課程教學(xué)改革;課程群;民辦獨立高校;數(shù)據(jù)結(jié)構(gòu)

中圖分類號:G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號:1674-9324(2016)46-0073-02

高等教育是培養(yǎng)高級專門人才的主要社會活動[1]。隨著社會的不斷發(fā)展,承擔(dān)高等教育工作的公辦高校已不能滿足日益增長的就學(xué)需求;作為補充,民辦獨立高校為社會提供了高質(zhì)量本科層次的大眾化高等教育服務(wù)[2]。民辦獨立高校辦學(xué)靈活,直面社會和職場,以培養(yǎng)高素質(zhì)應(yīng)用型人才為目標(biāo),因此其教育模式與傳統(tǒng)公辦研究型高校有所不同;這一差異也直接體現(xiàn)在其教學(xué)活動中。

課程是教學(xué)活動的組織方式,是實現(xiàn)教學(xué)目標(biāo)的基本途徑,因此課程建設(shè)直接關(guān)系到人才培養(yǎng)的質(zhì)量,是高等教育改革的核心[3]。本世紀(jì)90年代以來,作為高等教育改革的熱點問題之一,高校課程建設(shè)中的重要一環(huán),課程群建設(shè)逐漸引起人們的重視。

課程群(以下簡稱課群)是某一學(xué)科內(nèi)的諸多課程的集合,是“從屬于某個學(xué)科,相互間性質(zhì)相關(guān)或相近,如相承、滲透、互補等課程的集合體”[4]。顯然,課程是課群的要素;課程教學(xué)改革則是從微觀角度,以某一課程為對象,以提高教學(xué)效果為目標(biāo),對課程的實施手段和教學(xué)方法進(jìn)行改進(jìn)。

本文以南京航空航天大學(xué)金城學(xué)院(以下簡稱南航金城學(xué)院)信息工程系“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)改革為例,探討在“數(shù)據(jù)結(jié)構(gòu)和算法”課群建設(shè)中“數(shù)據(jù)結(jié)構(gòu)”課程教學(xué)改革方案的實施。在不改動課程原有學(xué)時的前提下,通過調(diào)整該門課程的具體教學(xué)內(nèi)容和方法、考核方案,達(dá)到優(yōu)化課程知識體系,提高教學(xué)質(zhì)量的目的;同時滿足民辦獨立高校因材施教、分層次、多渠道的人才培養(yǎng)模式的要求。

一、數(shù)據(jù)結(jié)構(gòu)和算法課群的建立

“數(shù)據(jù)結(jié)構(gòu)和算法”課群是以南航金城學(xué)院信息工程系計算機科學(xué)與技術(shù)專業(yè)的人才培養(yǎng)計劃為指導(dǎo),包含“離散數(shù)學(xué)”、“數(shù)據(jù)結(jié)構(gòu)”、“數(shù)據(jù)結(jié)構(gòu)課程設(shè)計”以及“算法設(shè)計與分析”四門課程;具體課群體系結(jié)構(gòu)如圖1所示。

其中“數(shù)據(jù)結(jié)構(gòu)”是計算機科學(xué)與技術(shù)專業(yè)的專業(yè)基礎(chǔ)課程;是“算法設(shè)計與分析”的重要先修課程。其教學(xué)目標(biāo)是通過分析數(shù)據(jù)的結(jié)構(gòu)特性,為具體應(yīng)用(例如,建立用戶廣告服務(wù)系統(tǒng))涉及的數(shù)據(jù)選擇適當(dāng)?shù)倪壿嫿Y(jié)構(gòu)、存儲結(jié)構(gòu)及其相應(yīng)的解題算法;同時涉及算法的時間、空間效率分析技術(shù)。整個課程同時也是一個復(fù)雜程序設(shè)計的訓(xùn)練過程;要求學(xué)生編寫的程序結(jié)構(gòu)清楚,正確易讀,符合軟件工程的規(guī)范。而這一要求也直接體現(xiàn)在“數(shù)據(jù)結(jié)構(gòu)課程設(shè)計”的實踐教學(xué)過程中。“算法設(shè)計與分析”是計算機科學(xué)與軟件工程中的核心研究領(lǐng)域之一。許多實際問題的求解都依賴于有效算法的設(shè)計與實現(xiàn):如用戶廣告服務(wù)系統(tǒng)等一旦深入下去就能夠被描述成一組以網(wǎng)絡(luò)流為模型的問題[5]。“離散數(shù)學(xué)”是研究離散量的結(jié)構(gòu)及其相互關(guān)系的數(shù)學(xué)類課程。“離散數(shù)學(xué)”在計算機科學(xué)與技術(shù)領(lǐng)域有著廣泛的應(yīng)用,同時也是“數(shù)據(jù)結(jié)構(gòu)”和“算法設(shè)計與分析”的重要先修課程。

在課群建設(shè)中,首先處理數(shù)據(jù)結(jié)構(gòu)和算法之間的關(guān)系,離散數(shù)學(xué)與數(shù)據(jù)結(jié)構(gòu)、算法之間的關(guān)系;其次以數(shù)據(jù)結(jié)構(gòu)為主線,結(jié)合算法設(shè)計技術(shù)對如何選擇數(shù)據(jù)結(jié)構(gòu)的教學(xué)內(nèi)容進(jìn)行分析,靈活處理離散數(shù)學(xué)中的基礎(chǔ)知識,突出算法設(shè)計的中心思想,強化實踐教學(xué)環(huán)節(jié)。整個課群建設(shè)遵循:“單門課程建設(shè)課群建設(shè)”模式;以單門課程教學(xué)改革為點,課群建設(shè)為線,專業(yè)建設(shè)為面。“點、線、面”逐步推進(jìn),從而達(dá)到優(yōu)化課程知識體系,提高教學(xué)質(zhì)量,滿足民辦獨立高校高素質(zhì)應(yīng)用型人才培養(yǎng)的目標(biāo)。

二、數(shù)據(jù)結(jié)構(gòu)課程改革方案

1.理論教學(xué)改革。“數(shù)據(jù)結(jié)構(gòu)”課程的理論教學(xué)內(nèi)容主要包括:線性結(jié)構(gòu)、非線性結(jié)構(gòu)、查找和排序三大部分。其中前兩部涉及線性表、棧和隊列、字符串、數(shù)組和廣義表、樹和二叉樹、圖等多種基本數(shù)據(jù)結(jié)構(gòu)。在實際教學(xué)中,任課教師多遵循“邏輯結(jié)構(gòu)存儲結(jié)構(gòu)相關(guān)操作”的主線,對所涉及的知識點進(jìn)行逐個講解。查找和排序部分,則羅列出多種不同的解決計算機查找和排列數(shù)據(jù)的算法,講解時需要比較不同算法在時間和空間上的性能差異。針對“數(shù)據(jù)結(jié)構(gòu)和算法”課群建設(shè)的要求,“數(shù)據(jù)結(jié)構(gòu)”課程的理論教學(xué)內(nèi)容和教學(xué)方式做了如下調(diào)整:

(1)以實際案例為主線,將各個知識點串聯(lián)起來。比如,在講授圖的應(yīng)用時,最短路徑算法是重點也是難點;不僅因為知識點本身在原理的理解上較為困難,同時學(xué)生也不太能夠接觸到該算法的實際應(yīng)用。因此在實際教學(xué)過程中,以“游戲地圖的查找”為例說明該算法,并強調(diào)圖的結(jié)構(gòu)特性(邏輯結(jié)構(gòu)、存儲結(jié)構(gòu)以及涉及的基本操作);這實際上是一種案例分析方法。

(2)強調(diào)課程間的知識點的銜接。例如,講解最短路徑算法時,將案例(交通咨詢系統(tǒng))的實現(xiàn),放置在“數(shù)據(jù)結(jié)構(gòu)課程設(shè)計”的實踐環(huán)節(jié)中;該算法的正確性證明則在“算法設(shè)計與分析”課程中給予解釋。又如,講解快速排序和簡單交換排序時,重點讓學(xué)生能夠區(qū)分不同算法的執(zhí)行步驟;著重強調(diào)程序本身的特性,操作對象的特性等涉及數(shù)據(jù)結(jié)構(gòu)的知識點。而算法時間性能的比較則放在“算法設(shè)計與分析”課程中來解決。此外,“離散數(shù)學(xué)”中圖論部分的知識點教學(xué)也需要和“數(shù)據(jù)結(jié)構(gòu)”中圖部分的知識點教學(xué)內(nèi)容相銜接。

(3)在課程考核上增加平時成績,提高理論知識點的實際掌握程度的考核比重;避免一次考試成績定成敗。將最終的考核總評成績分為三部分:平時成績(課后練習(xí)成績、課堂回答問題成績、出勤率等綜合考評成績)占總成績的20%;上機實驗環(huán)節(jié)評分(線性結(jié)構(gòu)、非線性結(jié)構(gòu)、查找和排序)占30%;結(jié)課考試(筆試)占50%。總體評分標(biāo)準(zhǔn)中,理論知識點的實際掌握程度通過實踐環(huán)節(jié)來進(jìn)行考核;對不同學(xué)生進(jìn)行差異化教學(xué)(能力強、對知識點理解深入的學(xué)生可以選擇難度較大的案例來實現(xiàn))。事實證明,在2015年秋季的實際教學(xué)活動中,取得了較好的教學(xué)效果,很多同學(xué)的學(xué)習(xí)積極性被調(diào)動起來了;課堂回答問題的熱情較高,同時課后提問的次數(shù)也明顯增多。

2.實踐教學(xué)改革。與“數(shù)據(jù)結(jié)構(gòu)”課程密切相關(guān)的實踐教學(xué)環(huán)節(jié)主要分兩部分:一是理論課程中的實驗上機環(huán)節(jié);二是“數(shù)據(jù)結(jié)構(gòu)課程設(shè)計”環(huán)節(jié)。將“數(shù)據(jù)結(jié)構(gòu)”理論教學(xué)內(nèi)容所涉及的應(yīng)用案例分別安排在兩個實踐教學(xué)環(huán)節(jié)中,要求學(xué)生編程實現(xiàn)。同時,另外再增設(shè)多個較為復(fù)雜的典型案例實現(xiàn)。

在實踐教學(xué)內(nèi)容設(shè)置上,不但系統(tǒng)地闡述了“數(shù)據(jù)結(jié)構(gòu)”的基本原理,同時也給出了一些的典型案例。每個案例的敘述完全按照解決實際問題的思路進(jìn)行,這對學(xué)生如何面對實際工程項目問題有著很好的啟迪作用。

三、結(jié)論

“數(shù)據(jù)結(jié)構(gòu)”這門課程的開設(shè)如何滿足民辦獨立高校的人才培養(yǎng)目標(biāo),如何滿足課群建設(shè)的實際要求,是一個值得不斷探索的課題。本文從南航金城學(xué)院信息工程系計算機科學(xué)與技術(shù)專業(yè)核心課程“數(shù)據(jù)結(jié)構(gòu)”的課程教學(xué)改革出發(fā),從課程的理論教學(xué)和實踐教學(xué)兩方面進(jìn)行探討,提出了相應(yīng)的改革思路。在2015年秋季的實際教學(xué)過程中,取得了較為明顯的效果。顯然,學(xué)生不但獲得了扎實的理論基礎(chǔ),同時也掌握了一定的專業(yè)技能:以數(shù)據(jù)結(jié)構(gòu)知識為基礎(chǔ),分析案例、解決實際問題的能力。

參考文獻(xiàn):

[1]楊樹勛.現(xiàn)代高等教育學(xué)[M].北京:化學(xué)工業(yè)出版社,1999:97-98.

[2]齊鳳和.民辦獨立學(xué)院的四大困惑及解決途徑[J].現(xiàn)代教育科學(xué):高教研究,2005,(6):53-56.

[3]黃偉娣.課程與課程建設(shè)[J].杭州師范學(xué)院學(xué)報,1994,(5):116-120.

主站蜘蛛池模板: 黄a无码片内射无码视频| 高清无码午夜福利在线观看| 免费啪视频在线观看视频网页| av人摸人人人澡人人超碰| 色综合色综合久久综合频道88| 无码专区—va亚洲v专区vr| 无码性午夜视频在线观看| 国农村精品国产自线拍| 日本免费不卡的一区视频| 超碰97人人做人人爱亚洲尤物| 老太做爰????视频| 色狠狠av一区二区三区| 国精产品一区一区三区mba下载| 日本真人边吃奶边做爽免费视频| 色婷婷六月亚洲综合香蕉| 精品人妻无码一区二区三区性| 久久综合国产乱子伦精品免费| 久久成人国产精品一区二区| 久久精品国产99久久美女| 国产播放隔着超薄丝袜进入| 人妻夜夜爽爽88888视频| 亚洲欧美综合精品久久成人网| 国自产拍偷拍精品啪啪一区二区| 国产亚洲va在线电影| 亚洲线精品一区二区三八戒| 亚洲精品无码久久久久y| 国产免费永久精品无码| 亚洲精品国产二区图片欧美| 久久精品无码一区二区软件| 中文字幕亚洲色妞精品天堂| 久久久久久久久免费看无码| 日本少妇肉体裸交xxx| 青青草国产三级精品三级| 国产精品亚洲片在线观看不卡| 亚洲a成人片在线观看| 精品国产经典三级在线看| 厨房人妻hd中文字幕| 亚洲 欧美 日韩 综合aⅴ| 国产无遮挡a片又黄又爽| 国产精品538一区二区在线| 欧美日韩久久久精品a片|