国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

應(yīng)用型獨(dú)立學(xué)院數(shù)據(jù)結(jié)構(gòu)課程案例設(shè)計(jì)

2022-05-30 22:53張新彩鄔迎
電腦知識與技術(shù) 2022年21期
關(guān)鍵詞:過程管理數(shù)據(jù)結(jié)構(gòu)

張新彩 鄔迎

摘要:針對數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)實(shí)施過程中存在的問題進(jìn)行了分析,結(jié)合應(yīng)用型獨(dú)立學(xué)院學(xué)生的特點(diǎn),課程組精心設(shè)計(jì)課程設(shè)計(jì)案例,并舉例說明案例實(shí)施過程,通過有效的過程管理,達(dá)到課程設(shè)計(jì)目的。

關(guān)鍵詞:數(shù)據(jù)結(jié)構(gòu);課程設(shè)計(jì)案例;過程管理

中圖分類號:G423? ? ? 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2022)21-0172-03

開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

在進(jìn)行計(jì)算機(jī)相關(guān)專業(yè)的學(xué)習(xí)中,數(shù)據(jù)結(jié)構(gòu)課程是非常重要的一門較為基礎(chǔ)的課程,在眾多學(xué)科中具有很重要的地位[1]。數(shù)據(jù)結(jié)構(gòu)課程理論教學(xué)多以講授線性結(jié)構(gòu)、樹、圖、查找和排序等知識,由于實(shí)踐性較強(qiáng),各個學(xué)校都安排了一定學(xué)時的課程設(shè)計(jì),以使學(xué)生能靈活地選擇合適的邏輯結(jié)構(gòu)、存儲結(jié)構(gòu),并能利用算法來解決實(shí)際生活中的問題,以進(jìn)一步提升學(xué)生使用程序解決實(shí)際問題的能力。文獻(xiàn)[2]提出一種基于能力培養(yǎng)的教學(xué)模式,將教學(xué)設(shè)計(jì)分成3個階段,旨在提高學(xué)生的綜合應(yīng)用能力。

1 課程設(shè)計(jì)存在的問題

經(jīng)過授課數(shù)據(jù)結(jié)構(gòu)課程和進(jìn)行課程設(shè)計(jì)的經(jīng)驗(yàn)得知,學(xué)生的學(xué)習(xí)效果并不理想。究其原因,主要存在如下方面:

1)理論與應(yīng)用相脫節(jié)。現(xiàn)階段,有相當(dāng)一部分學(xué)生,在學(xué)習(xí)完數(shù)據(jù)結(jié)構(gòu)后,只知道如何做題,卻不知它的意義何在?能用它干什么?究其原因主要是沒有理解其含義,再就是與實(shí)踐脫節(jié),這就要求老師在講解相關(guān)知識的時候多講一些具體應(yīng)用,另外在課程設(shè)計(jì)環(huán)節(jié)針對相關(guān)知識點(diǎn)設(shè)計(jì)一些具體案例,加深學(xué)生對知識的理解。

2)程序設(shè)計(jì)基礎(chǔ)較弱。就獨(dú)立學(xué)院而言,通常是入學(xué)第一學(xué)期學(xué)習(xí)程序設(shè)計(jì)語言,第二學(xué)期開設(shè)數(shù)據(jù)結(jié)構(gòu)課程,但通常因?yàn)榇蠖鄶?shù)學(xué)生之前沒有接觸過計(jì)算機(jī)語言,一開始學(xué)習(xí)程序設(shè)計(jì)有一定難度,很多學(xué)生一學(xué)期下來也僅達(dá)到能基本獨(dú)立編寫較簡單程序的程度,對算法的理解和應(yīng)用還不夠透徹,而此課程又跟數(shù)據(jù)結(jié)構(gòu)關(guān)系較緊密,導(dǎo)致其在數(shù)據(jù)結(jié)構(gòu)實(shí)踐環(huán)節(jié)完成實(shí)驗(yàn)時舉步維艱。

2 課程設(shè)計(jì)改革思路

課程組也針對上述問題,提出并實(shí)施如下改革思路。

1)結(jié)合企業(yè)實(shí)際需求,以立足培養(yǎng)高質(zhì)量的應(yīng)用技術(shù)型人才為目標(biāo),注重培養(yǎng)學(xué)生實(shí)踐動手能力,以學(xué)科前沿、與實(shí)際結(jié)合緊密的案例為指引,最大化實(shí)踐為導(dǎo)向,重組教學(xué)內(nèi)容,達(dá)到學(xué)以致用。

2)對學(xué)生實(shí)時因材施教的教學(xué)方法,精心設(shè)計(jì)教學(xué)內(nèi)容。采用線上線下相結(jié)合,啟發(fā)式與問題驅(qū)動相結(jié)合的教學(xué)方法,有助于培養(yǎng)和提高學(xué)生對于計(jì)算的能力。采用案例驅(qū)動、啟發(fā)式、層次化、理論課程與實(shí)踐課程相結(jié)合的方法,提高學(xué)生參與課堂的積極性,增加學(xué)生自主學(xué)習(xí)的能力。

3)注重實(shí)踐教學(xué)改革,開展多層次的課內(nèi)、課外實(shí)踐教學(xué),進(jìn)行高質(zhì)量的課程設(shè)計(jì),直接與企業(yè)直接需求相結(jié)合,形成教學(xué)、實(shí)踐、應(yīng)用生態(tài)圈,促進(jìn)教、學(xué)相長,進(jìn)而形成良性循環(huán),更加符合應(yīng)用型人才的要求。

4)提高學(xué)生參與學(xué)科競賽的積極性,增加學(xué)生參賽自信心。進(jìn)一步加強(qiáng)專業(yè)實(shí)驗(yàn)室的建設(shè),增加硬件投入,完善校內(nèi)實(shí)驗(yàn)室設(shè)施,鼓勵學(xué)生積極投身學(xué)科競賽,增強(qiáng)學(xué)生實(shí)踐動手能力。加強(qiáng)學(xué)校與企業(yè)之間的合作,結(jié)合企業(yè)實(shí)際需求進(jìn)一步改進(jìn)課程建設(shè),為社會輸送高質(zhì)量的應(yīng)用技術(shù)型人才。

5)以O(shè)BE數(shù)據(jù)結(jié)構(gòu)課程為基礎(chǔ),構(gòu)建多元化的課程考核評價體系,結(jié)合課程目標(biāo)[2],注重過程考核,著重對學(xué)生對具體問題進(jìn)行程序設(shè)計(jì)的實(shí)施過程、綜合應(yīng)用能力、團(tuán)隊(duì)合作等方面進(jìn)行考核,旨在提高學(xué)生綜合素質(zhì)。同時對教學(xué)實(shí)施過程實(shí)施有效的管理,及時聽取督導(dǎo)組、學(xué)生的反饋意見,根據(jù)評價持續(xù)不斷改進(jìn)。

3 課程內(nèi)容設(shè)計(jì)

案例的選擇是教學(xué)改革中的核心環(huán)節(jié)之一[3]。選擇合適的案例對數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)內(nèi)容設(shè)置而言至關(guān)重要。所謂合適針對獨(dú)立學(xué)院的學(xué)生而言,主要是要結(jié)合上課所學(xué)的知識,另外還需要考慮到學(xué)生的層次,學(xué)生理解、接受能力有個體差異,所以案例難易應(yīng)適當(dāng),所選案例應(yīng)盡量具有實(shí)際應(yīng)用價值或者能解決一些有趣的問題,讓他們有興趣去學(xué)習(xí)。對于程度較好的學(xué)生,最好選擇一些具有綜合性的案例,能運(yùn)用到不同的知識點(diǎn),達(dá)到融會貫通,除此之外,綜合性案例還有助于培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作能力。對于基礎(chǔ)一般的學(xué)生,應(yīng)該通過案例去引導(dǎo)其去思考,考慮如何運(yùn)用數(shù)據(jù)來解決問題,鼓勵他們獨(dú)立進(jìn)行代碼編寫,有問題去尋求解決方案,從簡單結(jié)構(gòu)開始,等上手后再練習(xí)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)應(yīng)用,循序漸進(jìn)。只有這樣,才能進(jìn)一步地提高學(xué)生對于課程難點(diǎn)的分析、解決能力,實(shí)現(xiàn)自主學(xué)習(xí),提高學(xué)習(xí)動力,達(dá)到課程設(shè)計(jì)的目的。

根據(jù)合作企業(yè)的實(shí)際用人需求,著重提高學(xué)生實(shí)踐操作能力,培養(yǎng)能夠立足于社會的高質(zhì)量人才,精心設(shè)計(jì)以下與實(shí)際生活結(jié)合緊密的課程設(shè)計(jì)案例,并以*號標(biāo)出其難易程度,學(xué)生分層次進(jìn)行課程設(shè)計(jì),達(dá)到學(xué)以致用。

4 課程設(shè)計(jì)實(shí)施過程

在課程設(shè)計(jì)實(shí)施過程中,實(shí)現(xiàn)在教師指導(dǎo)下的以“學(xué)生”為中心的探究式教學(xué)。分布式任務(wù)驅(qū)動型案例體系要引入具體案例,根據(jù)案例中的問題進(jìn)行具體分析,加強(qiáng)學(xué)生主動思考問題能力,分析問題所使用的數(shù)據(jù)結(jié)構(gòu),應(yīng)用所學(xué)知識提出合適的解決方案,再通過編寫程序代碼的方式來驗(yàn)證解決方案是否具備可行性,有效地培養(yǎng)了學(xué)生理論聯(lián)系實(shí)際能力和實(shí)踐動手能力。

以串結(jié)構(gòu)為例,“病毒感染檢測”案例具體實(shí)施流程圖如圖1所示。

4.1 問題描述

任務(wù):將患者的DNA和帶有病毒的DNA標(biāo)記為兩種字母組成的字符串序列,對患者的DNA序列進(jìn)行檢查,看是否存在帶有病毒的DNA序列。如果出現(xiàn)過該帶有該病毒的DNA序列,則判斷該患者已感染了該病毒;反之則未發(fā)生感染。需要注意的是,人的DNA序列與病毒的DNA序列形狀不同,分別為線性與環(huán)狀[5]。

4.2 問題分析

在此案例中,可以將病毒的DNA序列看作是子串,患者的DNA序列看作是主串,病毒感染檢測任務(wù)的實(shí)質(zhì)就是看子串是否在主串中出現(xiàn)過。采用KMP模式匹配算法對主串中子串的具體位置進(jìn)行查找,查找成功即返回起始位置,否則返回0。

4.3 涉及知識

1)串的存儲表示;

2)建立串;

3)模式匹配算法;

4)病毒感染檢測算法。

4.4 算法實(shí)施過程

1)設(shè)計(jì)串的存儲結(jié)構(gòu),可以為順序存儲也可以為鏈?zhǔn)酱鎯?,為方便操作,采用順序存儲結(jié)構(gòu)。

串的定長順序存儲結(jié)構(gòu)如下所示:

#define MAXSTRLEN 255

typedef unsigned char SString[MAXSTRLEN+1];

通過上述代碼即可定義串類型,其包括255元素的串,下標(biāo)為1-255。MAXSTRLEN可根據(jù)具體要操作的數(shù)據(jù)長度來設(shè)定。(注意:0單元用于放置串的長度)

2)定義StrAssign函數(shù),進(jìn)行串賦值,用于生成一個值為某一字符串常量的串。進(jìn)行賦值時需注意,要檢查字符串常量的長度,若其大于MAXSTRLEN,則無法放置。賦值時串的0下標(biāo)位置存儲字符串常量的長度,串的下標(biāo)為1~字符串長度中依次存儲字符串常量下標(biāo)為0~字符串長度-1的字符。

3)定義get_next函數(shù),完成對模式串T求解next函數(shù)值,代碼不再闡述。

4)定義Index_KMP函數(shù),完成KMP模式匹配算法,代碼不再闡述。

5)定義病毒感染檢測Virus_detection函數(shù),首先對病毒DNA序列進(jìn)行擴(kuò)充至兩倍(由于病毒的DNA序列是環(huán)狀的);然后分段取出病毒序列,調(diào)用get_next()函數(shù)求解出其對應(yīng)的next函數(shù)值,再調(diào)用KMP模式匹配算法檢測病毒序列是否在患者DNA序列中出現(xiàn);最后,只要有一段取出的病毒序列在病人DNA序列中出現(xiàn),則返回OK,否則,返回ERROR。

int Virus_detection(SString S,SString T)

{

int i,j,m,flag;

SString temp;

m=S[0];

for(i=m+1,j=1;j<=m;j++)

{

S[i++]=S[j];

}

S[2*m+1]='\0';

for(i=0;i

{

for(j=1;j<=m;j++)

temp[j]=S[i+j];

temp[m+1]='\0';

temp[0]=m;

get_next(temp,next);

flag=Index_KMP(T,temp,1);

if(flag)

break;

}

if(flag)

return OK;

else

return ERROR;

}

6)編寫主函數(shù),完成對病人DNA序列和病毒DNA序列進(jìn)行賦值,采用病毒檢測函數(shù)對患者DNA序列進(jìn)行檢查,若出現(xiàn)病毒序列則為OK,證明輸出存在感染,反之則未出現(xiàn)感染。若還有要檢測的病人DNA序列,再次進(jìn)行輸入即可。

int main()

{

SString S,T;

int k;

char flag='Y';

char string1[MAXSTRLEN],string2[MAXSTRLEN];

printf("輸入病毒DNA序列:");

gets(string1);

while(flag=='Y')

{

printf("輸入病人的DNA序列:");

gets(string2);

StrAssign(S,string1);

StrAssign(T,string2);

k=Virus_detection(S,T);

if(k)

printf("患者已感染。\n");

else

printf("患者未感染。\n");

printf("是否還有需要檢測的病人序列?(Y/N)");

scanf("%c",&flag);

getchar();

}

printf("您的全部檢測已結(jié)束,謝謝使用!");

return 0;

}

7)編譯鏈接運(yùn)行此程序,輸入病毒和病人DNA序列,得出結(jié)果如圖2所示。

綜上所述,病毒感染檢測任務(wù)已完成,整體運(yùn)算實(shí)施流程如圖3所示。

4.5 總結(jié)與分析

通過上述過程,利用KMP模式匹配算法完成了對由字符串組成的病毒序列進(jìn)行了病毒感染檢測。要求同學(xué)們能夠熟練定義串的存儲結(jié)構(gòu),對KMP算法的整個思想有進(jìn)一步的深入了解,對利用KMP算法解決具體問題有進(jìn)一步的掌握。如果需要對多個病毒序列進(jìn)行檢測,也可通過把病毒序列的輸入放入到while循環(huán)內(nèi)部即可,只需要對源程序做稍微調(diào)整即可完成。如果數(shù)據(jù)量太多時,我們可將所有的病毒DNA和患者DNA保存至文件中,逐一讀取,逐一處理來完成。當(dāng)然除此之外,可以利用KMP算法對主串中子串的位置和某串出現(xiàn)的次數(shù)進(jìn)行計(jì)算,同學(xué)們可以進(jìn)一步延伸來利用KMP算法求解其他問題??梢钥闯?,KMP模式匹配算法有很廣泛的應(yīng)用。

5 強(qiáng)化實(shí)施過程管理,進(jìn)行多元化考核

在課程任務(wù)實(shí)施過程中,強(qiáng)調(diào)簡單問題自主完成,復(fù)雜問題分工合作,充分利用小組團(tuán)隊(duì)合作方式,提高學(xué)生的團(tuán)隊(duì)合作及分析解決問題的能力。重視過程化考核,采用分組分階段匯報(bào)形式,來強(qiáng)化過程管理,對學(xué)生遇到的問題、掌握的情況能夠深入了解。對于一些問題中的易錯知識點(diǎn)或難度較大的問題通過PPT講解、代碼演示等對問題進(jìn)行進(jìn)一步分析、講解,鼓勵學(xué)生通過不同的存儲結(jié)構(gòu)、多種方案完成問題求解。最后通過題目完成個數(shù)、考勤、課堂表現(xiàn)、代碼質(zhì)量、匯報(bào)等多方面對學(xué)生靈活運(yùn)行數(shù)據(jù)結(jié)構(gòu)解決具體問題的綜合應(yīng)用能力、團(tuán)隊(duì)合作進(jìn)行考核,同時根據(jù)反饋不斷更新教學(xué)資源,完善教學(xué)方法,加強(qiáng)教學(xué)效果,實(shí)現(xiàn)教學(xué)質(zhì)量的大幅提升。

6 結(jié)語

課程組通過對數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)進(jìn)行精心案例設(shè)計(jì),更有效地使教學(xué)理論與實(shí)踐緊密結(jié)合,有效地提高學(xué)生的思維計(jì)算能力,對學(xué)生實(shí)踐能力和程序能力實(shí)現(xiàn)重點(diǎn)培養(yǎng),彰顯了我院OBE教育理念培養(yǎng)高層次應(yīng)用型人才的辦學(xué)特色。通過教學(xué)改革,課程設(shè)計(jì)內(nèi)容設(shè)置更加科學(xué),教學(xué)資源更加完善,考核機(jī)制更加合理,學(xué)生的學(xué)習(xí)效果穩(wěn)步提升,實(shí)踐動手能力不斷增強(qiáng)。

參考文獻(xiàn):

[1] 張安勤,田秀霞,張挺.數(shù)據(jù)驅(qū)動的數(shù)據(jù)結(jié)構(gòu)課程案例設(shè)計(jì)研究與實(shí)踐[J].軟件工程,2020,23(4):54-56.

[2] 王樹梅,張文斌.基于能力培養(yǎng)的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)教學(xué)模式探討[J].計(jì)算機(jī)教育,2020(11):103-106,110.

[3] 姜振鳳,黃婕.基于OBE的數(shù)據(jù)結(jié)構(gòu)課程考核評價體系設(shè)計(jì)與實(shí)踐[J].計(jì)算機(jī)教育,2020(9):123-127,132.

[4] 陳青青.數(shù)據(jù)結(jié)構(gòu)課程中分布式案例設(shè)計(jì)的探索與實(shí)踐[J].計(jì)算機(jī)教育,2019(10):109-112.

[5] 嚴(yán)蔚敏,李冬梅,吳偉民.數(shù)據(jù)結(jié)構(gòu):C語言版[M].2版.北京:人民郵電出版社,2015.

【通聯(lián)編輯:張薇】

猜你喜歡
過程管理數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)課程教學(xué)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)
研究生創(chuàng)新培養(yǎng)的“步態(tài)追蹤”模式
病案首頁質(zhì)量控制與信息系統(tǒng)實(shí)現(xiàn)方法
全面質(zhì)量管理理念在高校學(xué)生事務(wù)過程管理中的應(yīng)用探索
教學(xué)過程管理信息化探討
“翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
《數(shù)據(jù)結(jié)構(gòu)》教學(xué)方法創(chuàng)新探討