許金蘭 徐崗
摘要:“C語(yǔ)言程序設(shè)計(jì)”是諸多高校學(xué)生接觸編程的入門課程,該課程的教學(xué)效果對(duì)學(xué)生后續(xù)編程語(yǔ)言學(xué)習(xí)興趣的培養(yǎng)起著重要作用,同時(shí)也為學(xué)生編程思想的培養(yǎng)打下了根基。本文對(duì)C語(yǔ)言教學(xué)中出現(xiàn)的一些問(wèn)題進(jìn)行了分析,提出了興趣驅(qū)動(dòng)教學(xué),并采用案例講解知識(shí)點(diǎn)的教學(xué)模式,提高了學(xué)生的學(xué)習(xí)興趣和教學(xué)效率。
關(guān)鍵詞:C語(yǔ)言;興趣驅(qū)動(dòng);案例教學(xué);編程思想
中圖分類號(hào):G434 文獻(xiàn)標(biāo)識(shí)碼:A 論文編號(hào):1674-2117(2018)06-0106-02
隨著科技的進(jìn)步和計(jì)算機(jī)的普及,社會(huì)對(duì)復(fù)合型人才的需求日益增加。在諸多高校中,計(jì)算機(jī)語(yǔ)言的入門課程“C語(yǔ)言程序設(shè)計(jì)”是專門為大一新生開(kāi)設(shè)的基礎(chǔ)課程,它對(duì)學(xué)生編程思想和編程興趣的培養(yǎng)起著重要的作用,但初學(xué)者對(duì)C語(yǔ)言中包含的很多概念及語(yǔ)法結(jié)構(gòu)很難理解,當(dāng)然也就談不上將所學(xué)知識(shí)應(yīng)用到實(shí)踐中。因此,很多學(xué)生對(duì)C語(yǔ)言的掌握只停留在知識(shí)表層,且對(duì)后續(xù)程序語(yǔ)言的學(xué)習(xí)興趣不大,這影響了對(duì)其編程思想的整體培養(yǎng)。通過(guò)實(shí)踐,筆者認(rèn)為在C語(yǔ)言的教學(xué)中通過(guò)抓取學(xué)生的興趣點(diǎn)驅(qū)動(dòng)教學(xué),采用相關(guān)的案例來(lái)進(jìn)行知識(shí)點(diǎn)講解是提高C語(yǔ)言教學(xué)效率的關(guān)鍵,同時(shí)也能夠引導(dǎo)學(xué)生建立利用計(jì)算機(jī)解決實(shí)際問(wèn)題的新思維。
近幾年,隨著信息技術(shù)的不斷發(fā)展,單純的被動(dòng)灌輸?shù)慕虒W(xué)模式也不斷改革,越來(lái)越多的教師積極采用案例式教學(xué)方法來(lái)提高學(xué)生的學(xué)習(xí)興趣[1,2,3],也就是讓學(xué)生對(duì)案例進(jìn)行自主分析,并分步解決問(wèn)題。案例式教學(xué)方法在一定程度上提高了教學(xué)效率,培養(yǎng)了學(xué)生分析問(wèn)題和解決問(wèn)題的能力。然而,在為學(xué)生選擇案例時(shí),教師通常會(huì)根據(jù)自己的理解選取一些簡(jiǎn)單易懂的案例,如果這些案例和學(xué)生的興趣點(diǎn)不匹配,就無(wú)法提高學(xué)生的興趣。因此,為了取得更加顯著的教學(xué)效果,教師應(yīng)先對(duì)學(xué)生的興趣展開(kāi)調(diào)查,并在案例教學(xué)中將這些興趣點(diǎn)融入到實(shí)際問(wèn)題中,進(jìn)而轉(zhuǎn)化成能夠采用相應(yīng)C語(yǔ)言知識(shí)來(lái)完成的教學(xué)案例,從而在課堂教學(xué)中激發(fā)學(xué)生的學(xué)習(xí)興趣。
目前,隨著信息技術(shù)的不斷發(fā)展,各種有趣的APP軟件使眾多學(xué)生成為手機(jī)的奴隸。那么,在C語(yǔ)言課堂上,如何才能讓學(xué)生從手機(jī)中解放出來(lái),更好地學(xué)習(xí)相關(guān)知識(shí)呢?筆者建議,教師可以從學(xué)生感興趣的軟件入手,對(duì)軟件功能進(jìn)行剖析,并嵌入C語(yǔ)言的相關(guān)知識(shí)點(diǎn)。
近期非常流行的一款手機(jī)游戲《王者榮耀》,使很多人沉迷其中,可以肯定地說(shuō),對(duì)很多學(xué)生來(lái)說(shuō),如果能自己設(shè)計(jì)一款游戲,那將是一件非常值得驕傲的事情。因此,筆者對(duì)這款游戲進(jìn)行了分析,其界面上的一些操作可以采用C語(yǔ)言的控制語(yǔ)句來(lái)實(shí)現(xiàn),這部分就可以用來(lái)講解控制結(jié)構(gòu)的相關(guān)知識(shí),其進(jìn)入游戲后的界面如圖1所示。
用戶點(diǎn)擊不同模塊封面,會(huì)進(jìn)入不同的模塊中,采用“if…else”語(yǔ)句可以表示為:
if(click_1)
進(jìn)入對(duì)戰(zhàn)模式;
else if(click_2)
進(jìn)入排位賽;
else if(click_3)
進(jìn)入賞金聯(lián)賽;
else if(click_4)
進(jìn)入冒險(xiǎn)模式;
其中click_i, i=1,…,4表示不同模塊。如果用戶進(jìn)入了對(duì)戰(zhàn)模式(如圖2),同樣可以選擇進(jìn)入對(duì)戰(zhàn)模式后的不同模塊,這時(shí)學(xué)生就會(huì)知道在C語(yǔ)言中可以使用if…else語(yǔ)句來(lái)完成這一步操作。對(duì)于這種選項(xiàng)有限的選擇語(yǔ)句,教師可以引入switch…case來(lái)實(shí)現(xiàn)相關(guān)操作,至此學(xué)生就可以比較容易地理解選擇語(yǔ)句的應(yīng)用,并通過(guò)這兩步操作將知識(shí)點(diǎn)簡(jiǎn)化成簡(jiǎn)單的符號(hào)選擇,讓學(xué)生完成相關(guān)代碼,進(jìn)而實(shí)現(xiàn)語(yǔ)法的教授。
游戲繼續(xù)進(jìn)行,會(huì)遇到游戲角色的選取,不同的角色擁有不同的技能和屬性:在C語(yǔ)言中每一種角色類型都可以用結(jié)構(gòu)體來(lái)描述,而角色的技能和屬性可以表現(xiàn)為結(jié)構(gòu)體類型的結(jié)構(gòu)成員,如下面的結(jié)構(gòu)體定義了一個(gè)簡(jiǎn)單的“安琪拉”角色,她是一位女性,擁有10級(jí)技能,武器是一把劍。
struct Angela
{
char sex = ‘F;
int skill = 10;
char tool[50]=”sword”;
};
通過(guò)這種方法,學(xué)生能夠?qū)ο嚓P(guān)知識(shí)快速地理解和消化,并且知識(shí)的應(yīng)用領(lǐng)域也容易舉一反三,進(jìn)而產(chǎn)生濃厚的學(xué)習(xí)興趣。
不同的軟件包含了不同的C語(yǔ)言知識(shí)點(diǎn),教師只要掌握了學(xué)生的興趣所在,將其應(yīng)用在C語(yǔ)言教學(xué)中來(lái),就會(huì)產(chǎn)生很大的改變,從而顯著地提高教學(xué)效率。
傳統(tǒng)的從語(yǔ)法到應(yīng)用的C語(yǔ)言教學(xué)方法會(huì)讓學(xué)生感到知識(shí)點(diǎn)晦澀難懂,甚至有些學(xué)生會(huì)通過(guò)死記硬背編程案例的方法來(lái)記憶知識(shí)點(diǎn),這不利于對(duì)學(xué)習(xí)興趣的培養(yǎng)。通過(guò)實(shí)踐筆者得出,通過(guò)學(xué)生興趣來(lái)驅(qū)動(dòng)對(duì)C語(yǔ)言知識(shí)點(diǎn)的理解,也就是選取學(xué)生感興趣的案例,進(jìn)行從應(yīng)用到語(yǔ)法的逆過(guò)程講解,會(huì)讓學(xué)生對(duì)C語(yǔ)言學(xué)習(xí)產(chǎn)生濃厚的興趣,進(jìn)而取得較好的教學(xué)效果。