彭馨
(桂林師范高等專科學(xué)校數(shù)學(xué)與計算機技術(shù)系,桂林 541001)
“項目驅(qū)動”在高職高?!稊?shù)據(jù)結(jié)構(gòu)》課程教學(xué)中的實踐
彭馨
(桂林師范高等??茖W(xué)校數(shù)學(xué)與計算機技術(shù)系,桂林 541001)
《數(shù)據(jù)結(jié)構(gòu)》一門理論抽象,應(yīng)用性很強的高職高專計算機技術(shù)專業(yè)的必修課程。結(jié)合多年教學(xué)經(jīng)驗與當(dāng)前《數(shù)據(jù)結(jié)構(gòu)》教學(xué)現(xiàn)狀,說明項目驅(qū)動教學(xué)模式在高職高?!稊?shù)據(jù)結(jié)構(gòu)》教學(xué)中的實踐。
項目驅(qū)動;高職高專;教學(xué)實踐
《數(shù)據(jù)結(jié)構(gòu)》是高職高專計算機專業(yè)的一門核心專業(yè)課程,是程序設(shè)計與開發(fā),大型數(shù)據(jù)庫應(yīng)用的基礎(chǔ),同時也是其他理工科相關(guān)專業(yè)的必修課程。其特點是理論知識繁雜抽象,又具有很強的應(yīng)用與實踐性。如何在高職高專計算機專業(yè)的數(shù)據(jù)結(jié)構(gòu)教學(xué)過程中既要講授課程理論,又要很好地培養(yǎng)學(xué)生的應(yīng)用實踐能力一直是本門課程的教改的主要目標(biāo)。這些年來,高職高專院校為此做了大量的嘗試,也取得了一些不錯的效果。筆者結(jié)合多年來在高職高專院校擔(dān)任《數(shù)據(jù)結(jié)構(gòu)》課程主講的經(jīng)歷,給出如何在《數(shù)據(jù)結(jié)構(gòu)》教學(xué)實踐中采用項目驅(qū)動教學(xué)模式,培養(yǎng)學(xué)生的創(chuàng)新能力。進(jìn)一步提高本門課程教學(xué)效率。
項目驅(qū)動教學(xué)法是在建構(gòu)主義理論的指導(dǎo)下,師生通過共同實施一個完整的項目而進(jìn)行教學(xué)活動的教學(xué)方法[1]。項目驅(qū)動教學(xué)模式的基本規(guī)則:培養(yǎng)學(xué)生的職業(yè)技術(shù)能力和遵循職業(yè)能力為重點,根據(jù)企業(yè)的發(fā)展和行業(yè)工作的需求,實現(xiàn)學(xué)生的自我構(gòu)建職業(yè)能力、提高職業(yè)素養(yǎng)。
在項目驅(qū)動教學(xué)過程中,教師以項目作為出發(fā)點,以學(xué)生為主體,讓學(xué)生在實施項目的過程中學(xué)習(xí)到新的教學(xué)內(nèi)容,在實踐中學(xué)習(xí)新知識新內(nèi)容,有效地避免了理論與實踐脫節(jié)的局面。教師在課堂教學(xué)之前將需要解決的項目分解為若干個具體的小任務(wù),分別為每一個小的任務(wù)設(shè)計出相應(yīng)的教學(xué)方案,把課堂教學(xué)的新內(nèi)容滲入到每個項目的小任務(wù)中,把新的課堂教學(xué)內(nèi)容貫穿到項目實施的各個環(huán)節(jié)。學(xué)生在項目推進(jìn)過程中學(xué)習(xí)到新的內(nèi)容與知識。將理論知識靈活運用到項目實施中去,其目的在于激發(fā)學(xué)生學(xué)習(xí)興趣提高了學(xué)習(xí)的主動性。
以“線性表”的教學(xué)為例,說明在《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)中采用項目驅(qū)動教學(xué)模式的具體實施過程。
2.1 系統(tǒng)分析教學(xué)內(nèi)容,精心設(shè)計項目
(1)分析教學(xué)內(nèi)容
課前,任課教師認(rèn)真分析教學(xué)內(nèi)容中所包含的相關(guān)理論知識,明確學(xué)習(xí)目標(biāo)—同時還要充分了解學(xué)生具體認(rèn)知情況,從學(xué)生入手去設(shè)計合適的項目。
數(shù)據(jù)結(jié)構(gòu)中“線性表”這一部分的主要理論知識有:線性表的定義,線性表的存儲結(jié)構(gòu)與及線性表的運算與算法分析。高職計算機專業(yè)學(xué)生對算法分析的掌握能力有限,對于算法分析只需學(xué)生了解。著重點在于讓學(xué)生掌握線性表的相關(guān)概念與運算,同時能將這些運算應(yīng)用到實際的項目設(shè)計中,提高學(xué)生的應(yīng)用與創(chuàng)新能力。
(2)選取合適的教學(xué)項目
教師選擇教學(xué)項目的基本原則:項目要包含大部分的課堂教學(xué)新的知識點,其目的是培養(yǎng)學(xué)生的應(yīng)用知識能力與分析解決問題能力。教師可根據(jù)教學(xué)目標(biāo)與課程內(nèi)容的實際需求,學(xué)生的具體認(rèn)知情況選取適合的項目進(jìn)行教學(xué)。根據(jù)“線性表”這一章節(jié)的教學(xué)目標(biāo)和要求,同時考慮到高職高專院校計算機專業(yè)學(xué)生初次接觸數(shù)據(jù)結(jié)構(gòu),先導(dǎo)課的內(nèi)容掌握不牢的,程序設(shè)計基礎(chǔ)差的客觀事實。我們選擇“學(xué)生成績查詢”作為本章節(jié)的教學(xué)項目。
2.2 分析項目實施細(xì)節(jié),在項目實施過程中溶入理論知識
在課堂教學(xué)中,以教師為組織者,以學(xué)生為主體,詳細(xì)分析“學(xué)生成績查詢”實施的全過程。
(1)描述項目的具體要求:設(shè)有某班的某個學(xué)期的“學(xué)生成績表”,存儲這個班本學(xué)期的三門課程:數(shù)據(jù)結(jié)構(gòu)、高等數(shù)學(xué)、外語成績?,F(xiàn)要求給定學(xué)生的學(xué)號,能從“學(xué)生成績表”中查詢該生的成績情況。(這一部分主要由教師講解)。
(2)分析項目實施過程所需要的知識與內(nèi)容,把新知識引入其中進(jìn)行講解。實施項目需要做以下的工作:建立一個學(xué)生成績表,學(xué)生成績表所涉及到的信息有:學(xué)號,姓名,班級,數(shù)據(jù)結(jié)構(gòu)、高等數(shù)學(xué)、外語。
如下表1所示:
表1
由以上的學(xué)生成績表的結(jié)構(gòu)可以得到:成績表的每一行就是一位學(xué)生的成績情況,即數(shù)據(jù)元素,一個成績表就是一個線性表。每一列就是一個數(shù)據(jù)項。(教師講解線性表的相關(guān)概念)成績表的元素之間的關(guān)系是一對一的關(guān)系,所以線性表的元素之間是線性關(guān)系(教師講解線性表的邏輯結(jié)構(gòu))
2.3 實施項目,理論聯(lián)系實際
項目實施分為兩個步驟:邏輯設(shè)計與詳細(xì)設(shè)計。邏輯設(shè)計的目的就是定義與項目相關(guān)的數(shù)據(jù)類型(教師在課堂上和學(xué)生共同討論,讓學(xué)生有完整的邏輯設(shè)計的體驗)。詳細(xì)設(shè)計就是定義線性表的存儲結(jié)構(gòu)與具體的運算算法。在課堂上由教師講述線性表的兩種存儲結(jié)構(gòu):順序存儲結(jié)構(gòu)與鏈?zhǔn)酱鎯Y(jié)構(gòu)的具體實現(xiàn)與它們之間的區(qū)別?;谏鲜龅姆治鲈诒卷椖繉嵤┲屑僭O(shè)采用順序存儲結(jié)構(gòu),按班級建立學(xué)生成績表。具體設(shè)計的過程如下:
(1)定義班級學(xué)生成績表的結(jié)構(gòu)類型:在課堂上引導(dǎo)學(xué)生思考成績表包含不同的數(shù)據(jù)類型應(yīng)當(dāng)采用C語言中的結(jié)構(gòu)體來實現(xiàn)。
#define NUM 50/*設(shè)定的班級人數(shù)不超過50人*/Typedef strut{
Char num[10];
Char name[20];
Char class[30];
float datastru;
float math;
float english;}grade;
typedef struct{
grade gra[NUM];
int len;
}SpList;
(2)運算算法設(shè)計:教師在課堂上引導(dǎo)學(xué)生思考要實現(xiàn)項目的要求需要實施的運算有:創(chuàng)建班級成績表與按學(xué)號進(jìn)行查詢的查詢算法。
算法1:創(chuàng)建學(xué)生成績表
Void createList(sqList*L){/*創(chuàng)建學(xué)生成績表*/
int i;
Printf(“輸入班級學(xué)生人數(shù):”);
Scanf(“%d”,&L->len);
Printf(“按順序輸入每個學(xué)生的成績表信息:學(xué)號,姓名,班級,數(shù)據(jù)結(jié)構(gòu),高等數(shù)學(xué),外語 ”);
For(i=1;i<=L->len;i++){
Printf(“ 第%d個學(xué)生的成績信息:”,i);
Scanf(“%s”,L->grade[i].mun);getchar();
Scanf(“%s”,L->grade[i].name);getchar();
Scanf(“%s”,L->grade[i].class);getchar();
Scanf(“%f”,L->grade[i].datastru);
Scanf(“%f”,L->grade[i].math);
Scanf(“%f”,L->grade[i].english);
}
}
算法2:按學(xué)號查詢相應(yīng)學(xué)生的成績。找到返回學(xué)生所在成績表的位置,找不到返回-1。int seek(SqList*L;string s){
Int i;
For(i=L->len;i>1;i--)
if(strcmp(L->grade[i].mun,s)==0)break;
if i>1 return(i)
else return(-1);}
(3)實施項目的主程序Main(){
Int i;
SqList*L,*q=&L;
Char class[30];
createList(q);
printf(“輸入學(xué)生的學(xué)號 ”);
gets(mun);
i=seek(q,mun[]);
if i!=0{
puts(L->grade[i].mun);puts(L->grade[i].name);
puts(L->grade[i].class);
printf(“%f”,L->grade[i].datestru);
printf(“%f”,L->grade[i].math);
printf(“%f”,L->grade[i].english);
}
Return(0);
}
2.4 總結(jié)提高
項目實施完成后,教師根據(jù)學(xué)生對項目的掌握程度進(jìn)行分析總結(jié),對學(xué)生共同存在的問題進(jìn)行統(tǒng)一的解答,對個別學(xué)生存在的問題進(jìn)行指導(dǎo)與幫助,針對高職高專學(xué)生對高級語言掌握不夠好的缺點,充分利用本校的微課與慕課資源,引導(dǎo)學(xué)生進(jìn)行課外的學(xué)習(xí),參與各種相關(guān)項目的討論,幫助學(xué)生解決問題鞏固提高。
在高職高?!稊?shù)據(jù)結(jié)構(gòu)》課程教學(xué)中采用項目驅(qū)動教學(xué)模式,避免了理論知識與實踐脫節(jié)的現(xiàn)狀,教師把項目實施的全過程劃分成若干個小的任務(wù),在實施小任務(wù)的過程中溶入新的課程內(nèi)容。在課堂上以任務(wù)為驅(qū)動,教師為主導(dǎo),學(xué)生為主體,組織學(xué)生主動地對要解決的項目進(jìn)行討論分析,在分析解決項目中又能學(xué)習(xí)到新的理論知識,克服了在傳統(tǒng)教學(xué)中教師一言堂的,教學(xué)內(nèi)容枯澡,學(xué)生學(xué)習(xí)興趣不高的問題。筆者將項目驅(qū)動應(yīng)用于兩個年級的計算機應(yīng)用技術(shù)專業(yè)的《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)當(dāng)中,實踐證明:能很好地培養(yǎng)了學(xué)生的實踐應(yīng)用能力,提高了學(xué)生的學(xué)習(xí)興趣,教學(xué)效果有明顯的提升。
[1]李環(huán).計算機網(wǎng)絡(luò)實驗的項目驅(qū)動式教學(xué)應(yīng)用[J].計算機教育,2010,113(5):89-91.
[2]嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語言版)[M].北京:清華大學(xué)出版社,2007.
Abstract:Data Structure is an abstract theory,applied strong vocational college computer technology professional required course.Combined with my teaching experience for many years and the current status of data structure teaching,suggests that project driven teaching mode in higher vocational college Data Structure in the teaching practice.
Keywords:Project Driven;Higher Vocational College;Teaching Practice
Teaching Practice of Data Structure Course Based on Project-Driven in Higher Vocational College
PENG Xin
(Department of Mathematics and Computer Technology,Guilin Normal College,Guilin 541001)
1007-1423(2017)25-0032-04
10.3969/j.issn.1007-1423.2017.25.009
桂林師專教學(xué)改革工程立項項目(No.GLSZ20104)
彭馨(1981-),女,廣西桂林人,本科,講師,研究方向為計算機多媒體技術(shù)
2017-05-16
2017-08-30