趙玉玲
(天津天獅學(xué)院 天津 301700)
課程導(dǎo)入與項(xiàng)目驅(qū)動(dòng)在C語(yǔ)言教學(xué)中的應(yīng)用*
趙玉玲
(天津天獅學(xué)院 天津 301700)
針對(duì)目前C語(yǔ)言課程教學(xué)中存在的“教師難教,學(xué)生難學(xué)”的問(wèn)題,文章提出了在《C語(yǔ)言程序設(shè)計(jì)》課程教學(xué)中進(jìn)行課程導(dǎo)入設(shè)計(jì)、項(xiàng)目驅(qū)動(dòng)式教學(xué)等教學(xué)模式,旨在提高教學(xué)質(zhì)量,激發(fā)學(xué)生的學(xué)習(xí)興趣,加深學(xué)生對(duì)理論知識(shí)的理解和掌握,培養(yǎng)分析和解決具體問(wèn)題的能力,進(jìn)而培養(yǎng)學(xué)生分析問(wèn)題的完備性以及統(tǒng)籌全局、協(xié)調(diào)關(guān)系的基本素質(zhì)。
C語(yǔ)言教學(xué);課程導(dǎo)入;項(xiàng)目驅(qū)動(dòng)式;軟件工程
C語(yǔ)言程序設(shè)計(jì)是一門(mén)過(guò)程性程序設(shè)計(jì)語(yǔ)言,它的發(fā)展貫穿了計(jì)算機(jī)發(fā)展的歷程,它蘊(yùn)含了程序設(shè)計(jì)的基本思想,囊括了程序設(shè)計(jì)的基本概念,所以它是理工科高等院校的一門(mén)基礎(chǔ)課程。另外,在計(jì)算機(jī)教育方面,C語(yǔ)言是為數(shù)不多的與國(guó)外保持內(nèi)容同步的課程之一,因此,它在相關(guān)專(zhuān)業(yè)教學(xué)中的地位和重要性不言而喻。
傳統(tǒng)的C語(yǔ)言程序設(shè)計(jì)的教學(xué),從教學(xué)形式上看,通常是多媒體教室講課+學(xué)生上機(jī)訓(xùn)練。從教學(xué)內(nèi)容上來(lái)看一般都是“說(shuō)明書(shū)”式的教學(xué),即教師進(jìn)行教學(xué)時(shí)往往是逐一地講解相應(yīng)的知識(shí)點(diǎn),然后加以舉例說(shuō)明,最后學(xué)生進(jìn)行針對(duì)性練習(xí)。這種以概念、舉例、練習(xí)三部曲的方式來(lái)按部就班地組織教學(xué),由于受到教學(xué)課時(shí)等因素的影響,在講授程序設(shè)計(jì)思想、方法等重要概念和應(yīng)用時(shí),已沒(méi)有足夠的教學(xué)時(shí)間讓學(xué)生去做一些具體的綜合性練習(xí)。這種教學(xué)方式的缺點(diǎn)是:一般都脫離了實(shí)際應(yīng)用,純粹的過(guò)程性程序設(shè)計(jì)使學(xué)生在學(xué)習(xí)和上機(jī)時(shí),將學(xué)習(xí)重點(diǎn)放在C語(yǔ)言的語(yǔ)法上,不知道所學(xué)習(xí)的東西有什么用,不能很好地把握知識(shí)的重點(diǎn),也不能很好地訓(xùn)練在實(shí)際工作中所需要的技能。由于不能很好地調(diào)動(dòng)學(xué)生的積極性,因此普遍存在著“教師難教,學(xué)生難學(xué)”的狀況。
針對(duì)以上問(wèn)題,我們認(rèn)識(shí)到在C語(yǔ)言課程的學(xué)習(xí)上,首先要轉(zhuǎn)變一種觀念,使學(xué)生學(xué)習(xí)C語(yǔ)言的主要目的不再局限于單純地了解和掌握基本語(yǔ)法規(guī)范,而是把學(xué)習(xí)的重心轉(zhuǎn)移到培養(yǎng)學(xué)生運(yùn)用C語(yǔ)言解決實(shí)際問(wèn)題的編程能力,把C語(yǔ)言作為一種實(shí)踐工具,介紹程序設(shè)計(jì)的基本思想和方法,培養(yǎng)學(xué)生無(wú)論以后在學(xué)習(xí)、工作中使用什么語(yǔ)言編程,都能靈活應(yīng)用這些思想和方法的能力。
在實(shí)際教學(xué)中,將課程導(dǎo)入設(shè)計(jì)和項(xiàng)目驅(qū)動(dòng)教學(xué)引入C語(yǔ)言教學(xué)中,取得了一定的效果。
(一)課程導(dǎo)入在C語(yǔ)言教學(xué)中的應(yīng)用
課程導(dǎo)入的設(shè)計(jì) 課堂導(dǎo)入是課堂教學(xué)中的第一個(gè)環(huán)節(jié),是指課堂教學(xué)伊始的3~5分鐘內(nèi)教師和學(xué)生所有教學(xué)活動(dòng)的統(tǒng)稱(chēng)。這一環(huán)節(jié)時(shí)間很短,但作用重大,如果設(shè)計(jì)得當(dāng),可以快速集中學(xué)生的注意力,激起學(xué)生的求知欲,為后續(xù)教學(xué)的順利開(kāi)展帶來(lái)極大的便利。所以,課堂導(dǎo)入是課堂教學(xué)中一個(gè)不可忽視的重要環(huán)節(jié)。下面通過(guò)對(duì)課堂導(dǎo)入環(huán)節(jié)的分析,結(jié)合教學(xué)實(shí)例,提出這一環(huán)節(jié)的一些設(shè)計(jì)原則。
課程導(dǎo)入的教學(xué)示范 課程導(dǎo)入需要良好的教學(xué)案例。下面以C語(yǔ)言中的循環(huán)結(jié)構(gòu)程序設(shè)計(jì)部分的課程導(dǎo)入為例加以介紹。
1.強(qiáng)化理解概念。循環(huán)的相關(guān)概念如循環(huán)控制條件、循環(huán)變量、循環(huán)體等是設(shè)計(jì)循環(huán)結(jié)構(gòu)程序的關(guān)鍵因素,在本部分教學(xué)之初,必須透徹理解。因此,設(shè)計(jì)了“植樹(shù)”案例。具體描述為:學(xué)校要求每人種植50棵樹(shù),種樹(shù)的具體過(guò)程描述如圖1所示。通過(guò)圖1,可以對(duì)循環(huán)基本概念進(jìn)行如下定義:(1)循環(huán)體:重復(fù)執(zhí)行的動(dòng)作,如圖1中的“挖坑、澆水”;(2)循環(huán)控制條件:重復(fù)執(zhí)行循環(huán)體的條件,如圖1中的“總棵數(shù)<=50”;(3)循環(huán)控制變量:決定循環(huán)次數(shù)的變量,如圖1中的“總棵數(shù)”。這里需要說(shuō)明的是,上面三個(gè)概念是循環(huán)程序設(shè)計(jì)的三要素。
圖1 種樹(shù)過(guò)程的描述圖
2.歸納、總結(jié),強(qiáng)調(diào)功能。現(xiàn)實(shí)中許多問(wèn)題的求解都可以歸納為計(jì)算機(jī)能重復(fù)執(zhí)行的操作。例如,數(shù)值計(jì)算中的數(shù)列問(wèn)題,數(shù)值計(jì)算中的對(duì)象遍歷(查找、排序)等問(wèn)題。重復(fù)工作是計(jì)算機(jī)特別擅長(zhǎng)的工作之一,也是計(jì)算機(jī)解決問(wèn)題時(shí)遇到最多的一類(lèi)問(wèn)題。這部分主要強(qiáng)調(diào)循環(huán)結(jié)構(gòu)在程序設(shè)計(jì)中的重要作用。
3.循循善誘,引出新課環(huán)節(jié)。介紹C語(yǔ)言提供的三種循環(huán)控制語(yǔ)句:(1)while語(yǔ)句;(2)do-while語(yǔ)句;(3)for語(yǔ)句。這部分主要使學(xué)生認(rèn)識(shí)到編制循環(huán)結(jié)構(gòu)的程序所需要掌握的工具。
4.分析簡(jiǎn)單的數(shù)列求和實(shí)例,練習(xí)編制循環(huán)程序引入程序設(shè)計(jì)實(shí)例求“1+2+3+…+100累加和”。通過(guò)提問(wèn)、啟發(fā)等多種方式共同設(shè)計(jì)算法,如下所示:
規(guī)律:每一步都是兩個(gè)數(shù)相加,加數(shù)總是比上一步加數(shù)增加1后參與本次加法運(yùn)算,被加數(shù)總是上一步加法運(yùn)算的和??梢钥紤]用一個(gè)變量i存放加數(shù),一個(gè)變量sum存放上一步的和。那么每一步都可以寫(xiě)成:sum+i
算法1:直接寫(xiě)出算式(用變量sum存放和)
sum=1+2+3+4+5+…+100
算法2:
步驟1:考慮1+2+3+…+100可以改寫(xiě)為:(((1+2)+3)+…+ 100),
sum=0;
sum=sum+1;
sum=sum+2;
…
sum=sum+100;
步驟2:根據(jù)規(guī)律上述式子可以改成:
sum=sum+i,i=i+1
…
步驟3:完整算法:sum=0,i=1;
判斷如果i小于或等于100,執(zhí)行步驟3,否則算法結(jié)束;
sum=sum+i;i=i+1;返回步驟2
(二)在C語(yǔ)言教學(xué)中實(shí)施項(xiàng)目驅(qū)動(dòng)教學(xué)法
提高教學(xué)質(zhì)量和教學(xué)效果,不但要通過(guò)良好課程導(dǎo)入的設(shè)計(jì)使學(xué)生很容易地融入新的教學(xué)內(nèi)容中,還要在具體知識(shí)的學(xué)習(xí)上吸引學(xué)生,提高學(xué)生的學(xué)習(xí)興趣?!绊?xiàng)目驅(qū)動(dòng)”教學(xué)法以提高學(xué)生的學(xué)習(xí)興趣,重點(diǎn)培養(yǎng)學(xué)生分析問(wèn)題、解決問(wèn)題的能力為目的,是培養(yǎng)學(xué)生自主學(xué)習(xí)能力的一種新的教學(xué)法。
所謂項(xiàng)目驅(qū)動(dòng)教學(xué)法,是師生通過(guò)共同實(shí)施一個(gè)完整的“項(xiàng)目”工作而進(jìn)行的教學(xué)活動(dòng),它既是一種課程模式,又是一種教學(xué)方法??梢钥闯觯?xiàng)目教學(xué)都是實(shí)踐導(dǎo)向的和任務(wù)驅(qū)動(dòng)式的教學(xué)。
C語(yǔ)言程序設(shè)計(jì)作為計(jì)算機(jī)類(lèi)專(zhuān)業(yè)的基礎(chǔ)課程,若擺脫傳統(tǒng)的“說(shuō)明書(shū)”式的教學(xué)模式,采用“項(xiàng)目驅(qū)動(dòng)”教學(xué)模式,將學(xué)生的關(guān)注點(diǎn)由繁復(fù)的C語(yǔ)言語(yǔ)法轉(zhuǎn)移到實(shí)踐性較強(qiáng)的項(xiàng)目的設(shè)計(jì)與開(kāi)發(fā)上來(lái),將會(huì)極大地提高教學(xué)效果。
幫助學(xué)生樹(shù)立軟件工程的基本思想 在計(jì)算機(jī)行業(yè)中,軟件是通過(guò)人們的智力活動(dòng)把知識(shí)與技術(shù)轉(zhuǎn)化成信息的一種產(chǎn)品。軟件的設(shè)計(jì)已經(jīng)用工程的觀念來(lái)進(jìn)行管理,軟件設(shè)計(jì)工作被當(dāng)作一項(xiàng)系統(tǒng)工程來(lái)對(duì)待。C語(yǔ)言作為大多數(shù)工科院校學(xué)生接觸的第一門(mén)程序設(shè)計(jì)語(yǔ)言,在學(xué)習(xí)之初,首先應(yīng)該讓學(xué)生簡(jiǎn)單了解什么是軟件工程思想。同時(shí),當(dāng)前的程序設(shè)計(jì)教學(xué)也必須以切合將來(lái)軟件工程開(kāi)發(fā)的實(shí)際需要為第一目標(biāo),使學(xué)生在學(xué)習(xí)程序設(shè)計(jì)的初級(jí)階段就樹(shù)立正確的軟件工程觀點(diǎn)。這樣做,不僅可以為學(xué)生將來(lái)從事計(jì)算機(jī)應(yīng)用設(shè)計(jì)打下良好的基礎(chǔ),而且有利于培養(yǎng)學(xué)生分析問(wèn)題的完備性以及統(tǒng)籌全局、協(xié)調(diào)關(guān)系等基本素質(zhì)。
軟件工程思想 經(jīng)典的軟件工程思想將軟件開(kāi)發(fā)分為3個(gè)階段:軟件定義、軟件開(kāi)發(fā)和軟件維護(hù)。軟件定義可進(jìn)一步劃分為問(wèn)題定義、可行性分析和需求分析。在這一階段,通過(guò)對(duì)應(yīng)用問(wèn)題及其環(huán)境的理解與分析,建立系統(tǒng)模型,將用戶的需求精確化、完全化。軟件開(kāi)發(fā)階段可進(jìn)而劃分為總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試??傮w設(shè)計(jì)階段的主要任務(wù)是如何得到一個(gè)能夠?qū)崿F(xiàn)用戶需求的理想的系統(tǒng)結(jié)構(gòu),詳細(xì)設(shè)計(jì)的任務(wù)是進(jìn)行系統(tǒng)所需要的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)或者數(shù)據(jù)庫(kù)的物理設(shè)計(jì)以及模塊邏輯開(kāi)發(fā)。編碼即軟件系統(tǒng)的實(shí)現(xiàn)階段,在現(xiàn)代軟件工程中,編碼階段所占的比重正在逐漸地縮小。軟件測(cè)試是軟件工程過(guò)程的一個(gè)重要階段,其主要任務(wù)是對(duì)軟件分析、設(shè)計(jì)和編碼各階段的產(chǎn)品進(jìn)行檢查,保證軟件開(kāi)發(fā)產(chǎn)品的正確性、完全性和一致性,檢測(cè)并修正軟件中出現(xiàn)的錯(cuò)誤。軟件維護(hù)是在軟件產(chǎn)品交付給用戶之后進(jìn)行的修改工作,維護(hù)工作的好壞直接影響到用戶的滿意程度,關(guān)系到開(kāi)發(fā)者的信譽(yù)。
以軟件工程思想指導(dǎo)一個(gè)完整的軟件開(kāi)發(fā)項(xiàng)目 在C語(yǔ)言教學(xué)實(shí)施過(guò)程中,配合“項(xiàng)目拓展驅(qū)動(dòng)教學(xué)法”,整個(gè)課程教學(xué)圍繞一個(gè)“工程項(xiàng)目”進(jìn)行,以項(xiàng)目的構(gòu)建過(guò)程為線索安排教學(xué)步驟,教學(xué)過(guò)程由項(xiàng)目任務(wù)來(lái)驅(qū)動(dòng);同時(shí),以軟件工程思想指導(dǎo)整個(gè)軟件項(xiàng)目的建設(shè)。下面以“通訊錄管理系統(tǒng)”的設(shè)計(jì)與實(shí)現(xiàn)為例,簡(jiǎn)單加以介紹。首先,將整個(gè)課程學(xué)習(xí)分為兩個(gè)階段。第一階段為單項(xiàng)的編程練習(xí)階段。該階段重點(diǎn)是掌握C語(yǔ)言的基本語(yǔ)句、數(shù)據(jù)類(lèi)型與程序結(jié)構(gòu)等;第二階段是實(shí)訓(xùn)項(xiàng)目編程實(shí)踐階段。主要進(jìn)行數(shù)組、函數(shù)、結(jié)構(gòu)、指針和文件內(nèi)容教學(xué),同時(shí),逐步組建“通訊錄管理系統(tǒng)”,并且添加文本菜單,整合擴(kuò)展記錄添加、排序、查詢、統(tǒng)計(jì)和記錄瀏覽等功能并編寫(xiě)程序文檔,形成完完整整的應(yīng)用軟件。具體設(shè)計(jì)參見(jiàn)表1。
表1 通訊錄管理系統(tǒng)項(xiàng)目驅(qū)動(dòng)教學(xué)表
通過(guò)這種逐步拓展的實(shí)訓(xùn)項(xiàng)目和設(shè)計(jì),不但可以將C語(yǔ)言的知識(shí)點(diǎn)都融化到一個(gè)個(gè)實(shí)訓(xùn)項(xiàng)目的程序編寫(xiě)中,而且可以熟悉一個(gè)軟件項(xiàng)目的簡(jiǎn)單設(shè)計(jì)過(guò)程。在學(xué)習(xí)過(guò)程中,學(xué)生參與整個(gè)完整項(xiàng)目的分析、設(shè)計(jì)、實(shí)現(xiàn)全過(guò)程,在課堂教學(xué)中將理論與實(shí)踐教學(xué)有機(jī)地結(jié)合起來(lái)。這種開(kāi)放性、創(chuàng)新性的教育思想和模式可使學(xué)生從被動(dòng)接受者變成主動(dòng)參與者,促進(jìn)學(xué)生應(yīng)用能力的提高。
良好的課程導(dǎo)入設(shè)計(jì)可以充分調(diào)動(dòng)學(xué)生的求知欲,為后續(xù)教學(xué)環(huán)節(jié)的順利開(kāi)展帶來(lái)極大的便利;而將軟件工程思想結(jié)合項(xiàng)目驅(qū)動(dòng)教學(xué)法引入C語(yǔ)言的教學(xué)中,從學(xué)生接觸編程語(yǔ)言開(kāi)始,就培養(yǎng)軟件工程思想,有助于學(xué)生從整體上體會(huì)軟件開(kāi)發(fā)的全過(guò)程,充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)興趣。
[1]肖榮,黃宏新,車(chē)云霞.論課堂導(dǎo)入及其設(shè)計(jì)[J].天津市教科院學(xué)報(bào),2001,(4):38-41.
[2]楊玫,劉瑜,孔波.引入軟件工程思想的C語(yǔ)言案例教學(xué)法[J].科技信息,2010,(20).
[3]李?lèi)?ài)軍.“項(xiàng)目驅(qū)動(dòng)”教學(xué)法在C語(yǔ)言教學(xué)中的應(yīng)用[J].辦公自動(dòng)化雜志,2010,(18).
G712
A
1672-5727(2012)04-0095-02
2009年度天津市教委高等學(xué)校人文社會(huì)科學(xué)研究項(xiàng)目《基于工作過(guò)程的計(jì)算機(jī)編程課程立體化教學(xué)模式研究》(項(xiàng)目編號(hào):20092511)
趙玉玲(1977—),女,天津市人,碩士,天津天獅學(xué)院講師,研究方向?yàn)橛?jì)算機(jī)應(yīng)用。