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