喬娟
摘要:C語言是高職院校計(jì)算機(jī)專業(yè)開設(shè)的一門必修的專業(yè)基礎(chǔ)課。通過多年對(duì)C語言的教學(xué)實(shí)踐表明,大一新生覺得學(xué)習(xí)C語言難度很大,學(xué)習(xí)興趣不高。本文結(jié)合多年以來C語言的教學(xué)經(jīng)驗(yàn),分析了在教學(xué)活動(dòng)中存在的主要問題,提出如何激發(fā)和培養(yǎng)學(xué)生學(xué)習(xí)C語言的學(xué)習(xí)興趣,提高學(xué)生的編程能力。
關(guān)鍵詞:C語言;課堂教學(xué);學(xué)習(xí)興趣
C語言是目前比較流行而且使用最廣泛的計(jì)算機(jī)語言之一。它具有表達(dá)能力強(qiáng),功能豐富,使用方便靈活,應(yīng)用面廣,生成目標(biāo)代碼程序質(zhì)量高,可讀性和可移植性好等優(yōu)點(diǎn)。而且也是學(xué)習(xí)其他計(jì)算機(jī)語言的基礎(chǔ)。因此C語言成為高職院校計(jì)算機(jī)專業(yè)在大學(xué)一年級(jí)第一學(xué)期開設(shè)的一門專業(yè)基礎(chǔ)課。托兒斯泰說過:“成功的教學(xué)需要的不是強(qiáng)制,而是激發(fā)學(xué)生的學(xué)習(xí)興趣”。因此,在C語言在教學(xué)過程中,如何培養(yǎng)學(xué)生學(xué)習(xí)C語言興趣,調(diào)動(dòng)學(xué)生學(xué)習(xí)C語言的積極性,調(diào)動(dòng)學(xué)生對(duì)C語言的求知欲望具有十分重要在意義。
一、在C語言教學(xué)活動(dòng)中發(fā)現(xiàn)的問題
1.學(xué)生在中學(xué)教育階段無學(xué)習(xí)計(jì)算機(jī)語言的基礎(chǔ)。通過問卷調(diào)查發(fā)現(xiàn)在中學(xué)階段,學(xué)生接觸的計(jì)算機(jī)知識(shí),只是為了應(yīng)付會(huì)考,背誦一些計(jì)算機(jī)應(yīng)用基礎(chǔ)的理論知識(shí),大部分學(xué)生連基本的WORD和EXCEL操作都不會(huì),因此學(xué)生動(dòng)手操作能力很差。C語言又是計(jì)算機(jī)專業(yè)在大一第一學(xué)期開設(shè)的一門專業(yè)基礎(chǔ)課,學(xué)生沒有任何學(xué)習(xí)語言基礎(chǔ),對(duì)學(xué)生而言學(xué)習(xí)新類型的課程,適應(yīng)很困難。如果沿用中學(xué)的學(xué)習(xí)習(xí)慣來學(xué)習(xí)這門課程,會(huì)產(chǎn)生很大的不適應(yīng)性。在學(xué)習(xí)之初,C語言需要記憶及注意的語法點(diǎn)很多,經(jīng)常讓初學(xué)C語言的學(xué)生感到抽象,枯燥,導(dǎo)致學(xué)生在聽講過程中,感覺像聽天書,容易使得部分學(xué)生產(chǎn)生厭學(xué)心理,從而逐漸失去學(xué)習(xí)的興趣。
2.學(xué)生學(xué)習(xí)目標(biāo)不明確。學(xué)習(xí)C語言的主要目的是應(yīng)用,對(duì)計(jì)算機(jī)軟件專業(yè)學(xué)生來說尤為重要,是學(xué)習(xí)后續(xù)課程JAVA程序設(shè)計(jì)的基礎(chǔ)。由于目前最流行的語言是JAVA和安卓,所以學(xué)生對(duì)學(xué)習(xí)C語言的應(yīng)用缺乏深層次的了解,部分學(xué)生認(rèn)為學(xué)習(xí)C語言沒有任何用處,因此缺乏學(xué)習(xí)的興趣和積極性。
3.教學(xué)模式過于單一。我們的教學(xué)活動(dòng)是在機(jī)房進(jìn)行。一般情況下,教師先在多媒體機(jī)房講授知識(shí)點(diǎn),并演示操作,學(xué)生在下面聽,學(xué)生處于被動(dòng)學(xué)習(xí)的狀態(tài)。剛開始的教學(xué)方法,主要講授C語言的語法,和基本的輸入輸出格式,要求學(xué)生必須記憶很多規(guī)則,不能出錯(cuò),因?yàn)閷W(xué)生覺得全是英文字母,就感覺學(xué)習(xí)起來很吃力,失去了學(xué)習(xí)C語言的動(dòng)力和積極性。
4.學(xué)生上機(jī)實(shí)驗(yàn)效率不高。在學(xué)生動(dòng)手操作過程中,一是因?yàn)閷W(xué)生打字速度很慢,指法不熟練,因此輸出一個(gè)簡單的語句需要很多時(shí)間,二是教師講授完基礎(chǔ)知識(shí),學(xué)生接著練習(xí),學(xué)生沒有完全吸收和理解所講授的內(nèi)容,因此在編寫代碼時(shí)候無從下手,即便比著教師的課件和案例去原版照抄,也會(huì)輸入很多錯(cuò)的字符,程序不能運(yùn)行,學(xué)生自己不能查找錯(cuò)誤去解決。因此感到茫然,逐漸就失去學(xué)習(xí)C語言的興趣。
二、如何激發(fā)學(xué)生學(xué)習(xí)C語言的興趣,采取的主要措施:
1.明確學(xué)習(xí)目的,抓好第一堂課是關(guān)鍵
學(xué)生上第一堂課前,就對(duì)C語言有很大的恐懼感。第一趟課的教學(xué)設(shè)計(jì)關(guān)系到學(xué)生學(xué)習(xí)C語言的第一印象。因此教師應(yīng)該先向?qū)W生講清楚學(xué)習(xí)C語言的重要性和目的性,用生活中的例子講解C語言的廣泛用途,讓學(xué)生明確C語言在計(jì)算機(jī)語言中的重要地位,也是后續(xù)學(xué)習(xí)JAVA等其他面向?qū)ο笳Z言的基礎(chǔ)。為了消除學(xué)生對(duì)學(xué)習(xí)C語言的神秘性,降低學(xué)習(xí)的難度,在課堂上即興編寫有趣的小程序,比如簡單的四則運(yùn)算并當(dāng)場演示,然后和學(xué)生互動(dòng),調(diào)動(dòng)學(xué)生學(xué)習(xí)的興趣和積極性。
2.采用啟發(fā)式教學(xué)和問題教學(xué)法,激發(fā)學(xué)生學(xué)習(xí)主動(dòng)性
在課堂教學(xué)活動(dòng)中,教師講授理論知識(shí)的同時(shí),以啟發(fā)式教學(xué)為主。同時(shí)在講解案例時(shí)采用問題教學(xué)法。比如講解IF語句雙分支結(jié)構(gòu),案例以60分為分界線,評(píng)定成績?yōu)榧案窕虿患案瘛=處熤v解基本語句格式,并編寫代碼。在演示結(jié)果時(shí)候,先輸入0到100的數(shù)據(jù),顯示結(jié)果。然后再輸入大于100或者小于0的數(shù)據(jù)時(shí),讓學(xué)生們觀察結(jié)果,并讓學(xué)生思考。如何讓成績限定在0到100范圍之內(nèi),除此之外顯示數(shù)據(jù)輸入有誤。從而,引出了IF語句的多分支結(jié)構(gòu)。這樣由簡到難,讓學(xué)生先有個(gè)基礎(chǔ)的認(rèn)知和了解,更容易接受新的知識(shí),從而再逐步完善程序,既增加學(xué)生學(xué)習(xí)的信心和興趣,同時(shí)也提高學(xué)生學(xué)習(xí)的主動(dòng)性和積極性,自己動(dòng)手解決問題的能力也會(huì)不斷提高。
3.活躍課堂氣氛,激發(fā)學(xué)生學(xué)習(xí)興趣
課堂教學(xué)以學(xué)生為主體,教師為輔助。教師講授基礎(chǔ)知識(shí),應(yīng)多以生活中學(xué)生熟知的例子為主,這樣有助于和學(xué)生有良好的溝通,讓學(xué)生先思考并討論,進(jìn)而再引入新知識(shí)點(diǎn),講解如何解決此問題。對(duì)于課堂重點(diǎn)和難點(diǎn),在教學(xué)雙邊活動(dòng)中,多以小組討論、競賽、互評(píng)方式,增加課堂的互動(dòng)性,同時(shí)讓學(xué)生自主發(fā)現(xiàn)編程過程中的問題,并提出解決問題的辦法。
4.采用案例教學(xué)法,讓學(xué)生從枯燥的理論中解放出來
對(duì)于C語言基礎(chǔ)語法部分,開始就講解基本數(shù)據(jù)類型和輸入輸出格式。學(xué)生從課本上預(yù)習(xí),感覺枯燥無味,很難看懂、理解。在課堂教學(xué)過程中,教師多采用案例教學(xué)。比如,講解整型時(shí),關(guān)于短整型、整型、長整型的數(shù)據(jù)的使用范圍,學(xué)生很難去記憶。而且對(duì)于不同的編譯環(huán)境和處理器的位數(shù)不同,得到的實(shí)際結(jié)果也不一樣。因此要通過實(shí)例演示,讓學(xué)生明白各種整型的使用范圍。
5.課下要鞏固練習(xí),培養(yǎng)學(xué)生獨(dú)立思考的能力
學(xué)生要想真正能夠靈活運(yùn)用C語言編寫一些適用的程序,僅僅靠課堂的時(shí)間遠(yuǎn)遠(yuǎn)不夠,因此學(xué)生必須課下進(jìn)行大量編程代碼的訓(xùn)練。教師布置一些相關(guān)的習(xí)題和編程題,比如讀程序分析結(jié)果題,程序填空題,程序糾錯(cuò)題,編程題等。前幾種類型考察學(xué)生對(duì)基礎(chǔ)知識(shí)的掌握和理解情況,編程題更側(cè)重編程能力和實(shí)際解決問題的能力。這樣的實(shí)踐練習(xí),既提高了學(xué)生的動(dòng)手能力和獲取知識(shí)的能力,又培養(yǎng)學(xué)生的自信心和學(xué)習(xí)興趣。
6.分層次教學(xué),關(guān)注全體學(xué)生的興趣點(diǎn)
學(xué)生在學(xué)習(xí)C語言的開始,學(xué)生的接收能力不同,導(dǎo)致學(xué)習(xí)C語言的難度也不同。因此在教學(xué)中分層次教學(xué)。開始先講解基本的知識(shí)和案例,要求是面向全體同學(xué)。在后續(xù)的上機(jī)練習(xí)和課下習(xí)題中,分出試題的難易度。有必做題和選做題。必做題是面向所有學(xué)生,選做題相對(duì)較難,基礎(chǔ)好的同學(xué)完成。這樣可以讓每個(gè)學(xué)生在學(xué)習(xí)C語言的時(shí)候,既能學(xué)到基本知識(shí),又能不同程度的提高自己的自信心和興趣。
以上是本人在多年C語言教學(xué)實(shí)踐活動(dòng)中的幾點(diǎn)心得和體會(huì)。對(duì)于大一新生學(xué)習(xí)C語言,離不開教師的引導(dǎo)和幫助,教師應(yīng)該在教學(xué)中積極探索、創(chuàng)新,應(yīng)用各種教學(xué)方法來培養(yǎng)和激發(fā)學(xué)生的學(xué)習(xí)興趣,調(diào)動(dòng)學(xué)生的主動(dòng)性和創(chuàng)造性,使枯燥無味的C語言知識(shí)讓學(xué)生學(xué)起來感到有趣;同時(shí)更重要的是,學(xué)生想學(xué)好C語言,必須課下編寫大量的代碼,提高自己的動(dòng)手能力和獨(dú)立思考的能力,以便能夠運(yùn)用所學(xué)知識(shí)解決實(shí)際生活中的問題,才能激發(fā)學(xué)習(xí)C語言的興趣。