黑龍江陳軍
C語(yǔ)言程序設(shè)計(jì)一直以來(lái)都是中職學(xué)校計(jì)算機(jī)應(yīng)用與軟件專(zhuān)業(yè)的核心課程,它是理想的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,編寫(xiě)出的程序結(jié)構(gòu)緊湊、運(yùn)行效率高,是培養(yǎng)學(xué)生邏輯思維能力、進(jìn)行算法等編程素質(zhì)訓(xùn)練的最好語(yǔ)言。但是中職學(xué)生還是以初中畢業(yè)生為主,文化理論基礎(chǔ)薄弱,而C語(yǔ)言涉及的概念比較復(fù)雜,規(guī)則繁多,使用靈活,初學(xué)者難以掌握并且容易出錯(cuò),很多初學(xué)者根本不明白C語(yǔ)言有什么作用,為什么要學(xué)習(xí)C語(yǔ)言以及怎樣能讓基礎(chǔ)較差的中職學(xué)生更好地了解、學(xué)習(xí)、掌握C語(yǔ)言等等,這些都是中職學(xué)校C語(yǔ)言教學(xué)過(guò)程中需要解決的問(wèn)題。
筆者在多年來(lái)C語(yǔ)言教學(xué)過(guò)程中,應(yīng)用軟件培訓(xùn)領(lǐng)域經(jīng)常采用的3W1H的教學(xué)方法,逐步培養(yǎng)學(xué)生的邏輯思維能力,遵循從簡(jiǎn)到難逐步深入的原則,讓每一個(gè)學(xué)生每向前邁進(jìn)一步,都能獲得成功的體驗(yàn),而且穩(wěn)步提高學(xué)生的學(xué)習(xí)興趣,收到了一定的效果,現(xiàn)將從教學(xué)實(shí)踐中得來(lái)的心得體會(huì)總結(jié)如下。
所謂3W1H教學(xué)法是北大青鳥(niǎo)ACCP在多年教學(xué)實(shí)踐中總結(jié)出來(lái)的一個(gè)有效、實(shí)用的教學(xué)方法,可以使沒(méi)有計(jì)算機(jī)基礎(chǔ)的學(xué)生也能充分的掌握計(jì)算機(jī)技能,并在學(xué)習(xí)過(guò)程中獲得實(shí)際的工作經(jīng)驗(yàn)。
3W1 H教學(xué)法主要是將講授內(nèi)容總結(jié)為WHAT、WHY、WHERE 和 HOW,通過(guò)該教學(xué)法,使得教師更加明確教學(xué)任務(wù),高效快速的展開(kāi)教學(xué)環(huán)節(jié),同時(shí)也可以讓學(xué)生在課堂上明確學(xué)習(xí)目標(biāo),清楚地知道它的應(yīng)用環(huán)境和應(yīng)用場(chǎng)合,能夠更快地結(jié)合實(shí)際社會(huì)需要,投入到實(shí)際的開(kāi)發(fā)工程中去,從而為實(shí)現(xiàn)個(gè)性化的開(kāi)發(fā)和探究式學(xué)習(xí)奠定基礎(chǔ)。
在3W1H教學(xué)法中第一個(gè)“W”是WHAT。應(yīng)用時(shí),要求教師講解清楚所學(xué)的知識(shí)點(diǎn)是什么。例如,在講解C語(yǔ)言中的數(shù)組概念的時(shí)候,就要解釋清楚數(shù)組是把具有相同數(shù)據(jù)類(lèi)型的若干變量按有序的形式組織起來(lái),以便于程序處理的數(shù)據(jù)元素集合。
第二個(gè)“W”是WHY。在教學(xué)過(guò)程中,要求教師能夠講出為什么要引入這個(gè)知識(shí)點(diǎn),用于解決什么問(wèn)題。當(dāng)需要處理大量的數(shù)據(jù)時(shí),用基本的數(shù)據(jù)類(lèi)型和簡(jiǎn)單的變量顯得力不從心,所以C語(yǔ)言提供了組合類(lèi)型的數(shù)據(jù),這樣一來(lái)既便于命名,起一個(gè)名字就夠了,又便于統(tǒng)一處理。
另一個(gè)“W”是WHERE。在教學(xué)過(guò)程中,要求教師能夠講出這個(gè)知識(shí)點(diǎn)用在什么地方。當(dāng)需要處理大量相同類(lèi)型的數(shù)據(jù)的時(shí)候,比如:對(duì)大量的學(xué)生成績(jī)或者姓名進(jìn)行排序和統(tǒng)計(jì)的時(shí)候,數(shù)組就可以充分發(fā)揮它的優(yōu)勢(shì)。
在3W1H教學(xué)法中“H”就是HOW。在教學(xué)過(guò)程中,要求教師能夠講出如何使用這個(gè)知識(shí)點(diǎn)。比如:數(shù)組如何定義,怎樣調(diào)用以及使用規(guī)則等等。
3W1 H中前兩個(gè)比較容易實(shí)現(xiàn),但后兩個(gè)卻很難做到,現(xiàn)實(shí)生活中也是這樣。有這樣一個(gè)例子,一個(gè)快速切菜器的推銷(xiāo)員,這個(gè)推銷(xiāo)員時(shí)常在附近的超市門(mén)口推銷(xiāo)它的快速切菜器。有意思的是,在他背后的超市里也售賣(mài)這種切菜器,而且價(jià)格還比他的便宜。奇怪的現(xiàn)象發(fā)生了,我發(fā)現(xiàn)超市里的切菜器根本沒(méi)人買(mǎi),而購(gòu)買(mǎi)他商品的人卻絡(luò)繹不絕。問(wèn)題出在哪里?難道是因?yàn)檫@個(gè)推銷(xiāo)員特別能“忽悠”?不是!原因就在于推銷(xiāo)員是一邊演示他的商品一邊賣(mài),而超市只是把商品放在那里。推銷(xiāo)員的演示告訴人們?cè)鯓邮褂眠@種新型切菜器,這就是問(wèn)題的根本。如果一個(gè)人不知道怎樣使用這個(gè)商品,那買(mǎi)回去又有何用。同樣,一節(jié)課在介紹知識(shí)的時(shí)候能否告訴學(xué)生這個(gè)知識(shí)怎樣用、用在哪里也至關(guān)重要,一個(gè)學(xué)生如果學(xué)習(xí)到不知道如何使用的知識(shí)那就是在浪費(fèi)時(shí)間。
3W1 H教學(xué)法與傳統(tǒng)教學(xué)法的比較,傳統(tǒng)的教學(xué)方法是建立在“傳遞——接受”教學(xué)理論和行為主義的“刺激——反應(yīng)”學(xué)習(xí)理論上,主要特點(diǎn)是教師是主動(dòng)的施教者,是知識(shí)的傳授、灌輸者,學(xué)生是外界刺激的被動(dòng)接受者,是知識(shí)的灌輸對(duì)象。傳統(tǒng)的教學(xué)通常都是“三部曲”,即:提出概念——解釋概念——舉例說(shuō)明。
3W1 H教學(xué)法通過(guò)創(chuàng)設(shè)特定的情景,不僅讓學(xué)生了解學(xué)習(xí)的內(nèi)容“是什么”和“為什么用”,更重要的是讓學(xué)生知道這個(gè)知識(shí)點(diǎn)“用在哪里”和“怎么用”,最后做到舉一反三,更好地實(shí)現(xiàn)教學(xué)過(guò)程和生產(chǎn)過(guò)程的對(duì)接。
3W1 H教學(xué)法在教學(xué)過(guò)程中的應(yīng)用。當(dāng)需要處理大量的數(shù)據(jù)時(shí),用基本類(lèi)型數(shù)據(jù)(簡(jiǎn)單變量)就顯得力不從心,所以C語(yǔ)言提供了組合類(lèi)型的數(shù)據(jù)。數(shù)組就是構(gòu)造類(lèi)型數(shù)據(jù)之一,它是所有程序設(shè)計(jì)語(yǔ)言中都有的數(shù)據(jù)類(lèi)型,它占用連續(xù)的若干存儲(chǔ)單元。下面我們將展示在數(shù)組這節(jié)課的教學(xué)中3W1H法的具體應(yīng)用。
1.WHY:為什么需要數(shù)組。使用問(wèn)題來(lái)引入:如果要記錄一名學(xué)生的某科目的考試成績(jī),需要定義一個(gè)變量。如果我們要記錄一名學(xué)生在校期間的所有考試成績(jī),是不是就需要定義二十幾個(gè)變量。那如果我們要記錄10名學(xué)生的所有考試成績(jī),是不是就需要定義二百多個(gè)變量呢?C語(yǔ)言有沒(méi)有好辦法能解決這個(gè)問(wèn)題?當(dāng)需要處理大量的數(shù)據(jù)時(shí),用基本的數(shù)據(jù)類(lèi)型和簡(jiǎn)單的變量顯得力不從心,所以C語(yǔ)言提供了組合類(lèi)型的數(shù)據(jù),這樣一來(lái)既便于命名,起一個(gè)名字就夠了,又便于統(tǒng)一處理。
2.WHAT和WHERE:首先為學(xué)生講解數(shù)組的抽象定義:(1)數(shù)組中存儲(chǔ)的數(shù)據(jù)稱(chēng)為數(shù)組元素;(2)不管數(shù)組中含有多少個(gè)元素,該數(shù)組都只有一個(gè)名稱(chēng);(3)數(shù)組元素在數(shù)組里順序排列編號(hào);(4)數(shù)組的容量是有限的。(5)數(shù)組按照下標(biāo)個(gè)數(shù)的不同,可以分成一維數(shù)組,二維數(shù)組等等;然后,展示具體的一個(gè)一維數(shù)組的例子intscore[MAX];強(qiáng)調(diào)這就是一個(gè)一維數(shù)組。最后,數(shù)組通常應(yīng)用在需要處理大量數(shù)量的地方,結(jié)合求最高分和起泡法排序,來(lái)說(shuō)明使用數(shù)組可以縮短和簡(jiǎn)化程序。
3.How:如何使用數(shù)組。從聲明數(shù)組、分配數(shù)組空間、賦值和對(duì)數(shù)據(jù)進(jìn)行處理這幾個(gè)部分講解數(shù)組的應(yīng)用。首先怎樣定義一個(gè)數(shù)組?舉例intscore[MAX];它表示數(shù)組名為score,類(lèi)型為整型,有一個(gè)下標(biāo)因此是一維數(shù)組。并且C語(yǔ)言規(guī)定數(shù)組的小標(biāo)從0開(kāi)始,當(dāng)MAX=5時(shí),其值的范圍是0~4。Score包含5個(gè)元素,分別是score[0]、score[1]、score[2]、score[3]和 score[4]。怎樣使用數(shù)組中的元素?C語(yǔ)言規(guī)定只能逐個(gè)使用數(shù)組元素而不能引用整個(gè)數(shù)組。
例如:
intscore[6];
if(score[i]>=60)printf(“%d ”,score[i]);
必須遵循先定義后使用的原則。這部分結(jié)合學(xué)生成績(jī)管理示例演示和現(xiàn)場(chǎng)編程教學(xué),并在演示的過(guò)程中強(qiáng)調(diào)容易出現(xiàn)錯(cuò)誤的地方。
3W1 H教學(xué)法在軟件編程的教學(xué)中使用非常廣泛,對(duì)中職的計(jì)算機(jī)教學(xué)尤其是軟件類(lèi)和設(shè)計(jì)類(lèi)的課程,使用此方法更是能達(dá)到事半功倍的效果。從教師方面而言:教師要從學(xué)生的實(shí)際水平出發(fā),既要傳授必要的理論知識(shí),還要兼顧學(xué)生的興趣,創(chuàng)設(shè)良好的情境,使學(xué)生積極參與知識(shí)的探索過(guò)程。這就要求教師對(duì)每一節(jié)課做好更加充分的準(zhǔn)備,不僅在知識(shí)結(jié)構(gòu)上不斷更新,更要在教育教學(xué)觀念上更新;不斷進(jìn)行總結(jié)和反思,時(shí)常開(kāi)展“3W1H”自省,即對(duì)“教什么(what)”、“怎樣教 (how)”、“為什么這樣教(why)”和“哪里用(where)”進(jìn)行思考,批判性地進(jìn)行優(yōu)劣抉擇比較,提出和設(shè)計(jì)改進(jìn)意見(jiàn),以改進(jìn)教學(xué)方法和策略,逐步積累形成新的教學(xué)思想與教學(xué)實(shí)踐方法,促進(jìn)自我發(fā)展。
從學(xué)生方面而言:讓學(xué)生的明確學(xué)習(xí)目的,學(xué)習(xí)的積極性大大提高。主體意識(shí)明顯增強(qiáng),綜合應(yīng)用能力和創(chuàng)新能力得到了很好的發(fā)展,自我探究能力也在不斷提高;其次,學(xué)生在完成“項(xiàng)目”的過(guò)程中,時(shí)刻想到這是什么?為什么?怎么用?哪里用?同時(shí)有很多問(wèn)題可以自由討論、相互幫助,增強(qiáng)了團(tuán)隊(duì)的合作意識(shí),增進(jìn)了學(xué)生的友誼。
最后,C語(yǔ)言程序設(shè)計(jì)是一門(mén)概念復(fù)雜、使用靈活和規(guī)則繁多的課程,具有很強(qiáng)的抽象性和實(shí)踐性。因此在實(shí)際的教學(xué)過(guò)程中,仍需要不斷地總結(jié)和改進(jìn),找出一套更加適合當(dāng)前中職教育大環(huán)境和中職學(xué)生特點(diǎn)的教學(xué)方法,真正的實(shí)現(xiàn)專(zhuān)業(yè)與產(chǎn)業(yè)、職業(yè)崗位對(duì)接,專(zhuān)業(yè)課程內(nèi)容與職業(yè)標(biāo)準(zhǔn)對(duì)接,教學(xué)過(guò)程與生產(chǎn)過(guò)程對(duì)接,學(xué)歷證書(shū)與職業(yè)資格證書(shū)對(duì)接,職業(yè)教育與終身學(xué)習(xí)對(duì)接。