摘 要:針對理工類非計(jì)算機(jī)專業(yè)計(jì)算機(jī)基礎(chǔ)教育課程體系中的C程序設(shè)計(jì)課程的案例式任務(wù)驅(qū)動(dòng)教學(xué)方法。本文結(jié)合C語言編寫的實(shí)際案例,分析案例教學(xué)的優(yōu)勢所在,同時(shí)闡明了任務(wù)驅(qū)動(dòng)教學(xué)法的實(shí)施經(jīng)過設(shè)計(jì)任務(wù)、布置任務(wù)、實(shí)踐任務(wù)和成果展示、評價(jià)學(xué)習(xí)任務(wù)等階段。以此激發(fā)學(xué)生的學(xué)習(xí)興趣,調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性和主動(dòng)性,從而提高該課程的教學(xué)效果。
關(guān)鍵詞:基礎(chǔ)教育;案例;任務(wù)驅(qū)動(dòng)
1 背景
目前,鑒于理工類非計(jì)算機(jī)專業(yè)的計(jì)算機(jī)基礎(chǔ)課程涉及內(nèi)容多、學(xué)科背景不同、培養(yǎng)層次不同等原因,我們立足于本學(xué)科的培養(yǎng)目標(biāo),制定了相關(guān)的課程體系和培養(yǎng)模式。在理工類非計(jì)算機(jī)專業(yè)的計(jì)算機(jī)基礎(chǔ)教育課程體系程序設(shè)計(jì)基礎(chǔ)課程中,主要開設(shè)的高級(jí)語言是C,C++,VC,VB。程序設(shè)計(jì)基礎(chǔ)課程的目標(biāo)是培養(yǎng)學(xué)生的程序設(shè)計(jì)思想、方法和利用計(jì)算機(jī)解決本專業(yè)問題的能力。
為了縮短與內(nèi)地院校在計(jì)算機(jī)教學(xué)理念和教學(xué)方法上存在的差距,應(yīng)進(jìn)行教學(xué)大綱、教學(xué)方法和教學(xué)手段的改革,不斷總結(jié)經(jīng)驗(yàn),尋求一條合理有效、切實(shí)可行的途徑。理工類非計(jì)算機(jī)專業(yè)計(jì)算機(jī)基礎(chǔ)教育程序設(shè)計(jì)基礎(chǔ)課程體系的C程序設(shè)計(jì)是一門計(jì)算機(jī)公共基礎(chǔ)課,其涉及概念多,規(guī)則復(fù)雜,數(shù)據(jù)類型和運(yùn)算符豐富,使許多初學(xué)者望而生畏。作者長期從事高校計(jì)算機(jī)基礎(chǔ)教育工作,在C程序設(shè)計(jì)課程教學(xué)中運(yùn)用了案例式任務(wù)驅(qū)動(dòng)教學(xué)法,現(xiàn)和大家共同探討。
2 案例式任務(wù)驅(qū)動(dòng)教學(xué)
為兼顧理工類不同專業(yè)提出的不同要求,需要采取不同的教學(xué)方法,從而激發(fā)學(xué)生學(xué)習(xí)該課程的積極性,我們運(yùn)用了案例式任務(wù)驅(qū)動(dòng)教學(xué)方法。此方法實(shí)際上是案例與任務(wù)驅(qū)動(dòng)相結(jié)合的一種教學(xué)方法。
2.1 案例教學(xué)
在C程序設(shè)計(jì)的教學(xué)過程中采用“精選案例”來說明程序設(shè)計(jì)的基本語法、基本算法、基本理論知識(shí)、應(yīng)用技能和具體實(shí)現(xiàn)過程。并將其融為一體,通過具體案例的實(shí)現(xiàn)來講解每個(gè)知識(shí)點(diǎn),從而激發(fā)學(xué)生從系統(tǒng)掌握理論知識(shí)到實(shí)現(xiàn)各個(gè)環(huán)節(jié)的綜合應(yīng)用能力的興趣,更好地培養(yǎng)學(xué)生自主學(xué)習(xí)和終身學(xué)習(xí)的能力[1]。
2.1.1 案例教學(xué)激發(fā)學(xué)生學(xué)習(xí)興趣
案例教學(xué)中,教師所選的案例要盡量貼近實(shí)際,選題同時(shí)具有典型性、綜合性和示范性,并突出其難點(diǎn)與實(shí)用價(jià)值。通過講解使學(xué)生體會(huì)到難點(diǎn)不難,解決難點(diǎn)問題的關(guān)鍵所在等。我們曾選擇“學(xué)籍管理系統(tǒng)”,“小游戲”等作為案例。
首先,給學(xué)生做精選案例系統(tǒng)的演示,讓學(xué)生體會(huì)用C程序設(shè)計(jì)方法編程應(yīng)用的實(shí)際效果。通過展示友好的界面、演示完善的功能、對比學(xué)生的實(shí)際生活,極大激發(fā)了學(xué)生的學(xué)習(xí)興趣。
2.1.2 案例教學(xué)培養(yǎng)學(xué)生的跟隨創(chuàng)新、集成創(chuàng)新和自主創(chuàng)新能力
1) 通過教師的精選案例培養(yǎng)學(xué)生的程序閱讀能力。閱讀程序?qū)W(xué)生編程能力的提高具有很好的促進(jìn)作用。學(xué)生通過模仿、借鑒已有程序的設(shè)計(jì)方法和技
基金項(xiàng)目:新疆大學(xué)21世紀(jì)教改工程二期項(xiàng)目(XJU2008JGT13)。
作者簡介:阿里甫?庫爾班,男,維吾爾族,副教授,研究領(lǐng)域?yàn)橛?jì)算機(jī)基礎(chǔ)教育、多文種信息處理、數(shù)據(jù)庫應(yīng)用。
巧,逐漸形成自己的編程思路。隨后要求學(xué)生在精選案例程序的基礎(chǔ)上或者在它的外圍,自行增加新的功能。這種創(chuàng)新本身也具有重要的意義,程序的核心模塊雖然借鑒他人,但是極大縮短了學(xué)生的學(xué)習(xí)周期,提高了學(xué)生的超前學(xué)習(xí)能力,逐步形成高效的程序設(shè)計(jì)思想和動(dòng)態(tài)調(diào)試方法,培養(yǎng)了學(xué)生的跟隨創(chuàng)新能力。
2) 通過精選的案例培養(yǎng)學(xué)生的程序集成能力。學(xué)生掌握了某些實(shí)用的案例程序之后,經(jīng)過有效、合理的組合進(jìn)一步完成難度更大、綜合性強(qiáng)、具有新增功能的其他應(yīng)用程序[2]。
3) 進(jìn)行一定的跟隨創(chuàng)新和集成創(chuàng)新訓(xùn)練之后,學(xué)生積累了一定的編程技巧和經(jīng)驗(yàn),最終目的是培養(yǎng)學(xué)生獨(dú)立分析問題,解決問題的能力,使學(xué)生掌握更加廣泛和深入的內(nèi)容,并圍繞重點(diǎn)和難點(diǎn)等方面進(jìn)行不斷探索,最終達(dá)到學(xué)生自主開發(fā)應(yīng)用程序的目標(biāo)。
2.1.3 學(xué)籍管理系統(tǒng)的案例教學(xué)
學(xué)籍管理系統(tǒng)對學(xué)生來講非常熟悉。在C程序設(shè)計(jì)的第一節(jié)課,首先拋開課本,演示用C語言編寫的“學(xué)籍管理系統(tǒng)”小程序。通過演示程序,從使用者的角度討論設(shè)計(jì)需求,激發(fā)學(xué)生學(xué)習(xí)C程序設(shè)計(jì)課程的興趣。其次對程序結(jié)構(gòu)進(jìn)行講解,最后對程序功能進(jìn)行詳細(xì)的解釋。通過此方法,學(xué)生對C程序設(shè)計(jì)課程的數(shù)據(jù)類型、運(yùn)算符、表達(dá)式、語句及程序設(shè)計(jì)方法、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、自定義函數(shù)、數(shù)組、指針、結(jié)構(gòu)體與共用體、文件等每個(gè)知識(shí)點(diǎn)內(nèi)容產(chǎn)生了初步的認(rèn)識(shí)。
進(jìn)一步結(jié)合傳統(tǒng)的教學(xué)中講述C語言的數(shù)據(jù)類型、標(biāo)識(shí)符,變量等概念的方法,按照教材的理論知識(shí)脈絡(luò)強(qiáng)調(diào)其詳細(xì)的使用規(guī)則。將傳統(tǒng)教學(xué)方法和案例教學(xué)方法有機(jī)結(jié)合起來取得了較滿意的教學(xué)效果。
“學(xué)籍管理系統(tǒng)”的數(shù)據(jù)結(jié)構(gòu)定義與C語言的數(shù)據(jù)類型、標(biāo)識(shí)符,變量等內(nèi)容并行講解。
1) 學(xué)生基本信息描述的數(shù)據(jù)結(jié)構(gòu)。
typedef struct {
int sno;//整性變量名,分類,定義講解
char sname[18];//數(shù)組基類型,定義,元素
int sex;//借整型、字符型、來描述邏輯數(shù)據(jù)
int room;// 整性變量名,分類,定義講解
int fon;// 整性變量名,分類,定義講解
} StudentInfo;
2) 學(xué)生成績信息描述的數(shù)據(jù)結(jié)構(gòu)。
typedef struct {
int sno; //整性變量名,分類,定義講解
char courseNo[6];
char couseName[30];
int grade1; //課程學(xué)分
int float 2; //平時(shí)成績,浮點(diǎn)型數(shù)據(jù)、分類、定義講解
int float 3; //實(shí)驗(yàn)成績
int float 4; //卷面成績
float z; //綜合成績
float sx; //實(shí)際學(xué)分
} GradeInfo
3) 結(jié)合案例講解循環(huán),如While (1),子函數(shù)定義,多分支選擇語句switch語句。
While (1)
{
MainMenu(); //調(diào)用菜單子函數(shù)
scanf ("%