辛凌潔+賈玉寧+楊穎
摘 要 C語言程序設(shè)計是理工科專業(yè)學(xué)生學(xué)習(xí)的入門級計算機高級程序語言課程,因為課程艱澀難懂,部分學(xué)生在學(xué)習(xí)過程中半途而廢。濃厚的學(xué)習(xí)興趣和有效的學(xué)習(xí)方法是學(xué)好該課程的重要因素。
關(guān)鍵詞 C語言程序設(shè)計;學(xué)習(xí)興趣;學(xué)習(xí)方法;移動學(xué)習(xí)
中圖分類號:G652 文獻標(biāo)識碼:B
文章編號:1671-489X(2017)22-0100-03
Cultivate the Interest and Method of Learning in C Language Programming//XIN Lingjie, JIA Yuning, YANG Ying
Abstract C language programming is an entry-level computer advanced programming language course for students taking science and engineering. Because the course of the difficult and difficult to understand, so that some students in the learning process halfway. Therefore, a strong interest in learning and effective learning is an important factor in learning the course.
Key words C language programming; learning interest; learning methods; mobile learning
1 前言
隨著社會的不斷進步和科技水平的不斷提高,程序設(shè)計可以和其他各行各業(yè)緊密聯(lián)系,所以幾乎所有理工科專業(yè)都會開設(shè)C語言程序設(shè)計(以下簡稱“C語言”)這門課。而C語言作為一門入門級的高級程序語言是十分重要的課程,其重要性不僅體現(xiàn)在計算機專業(yè)方面的編程,更是在面對問題時,突破傳統(tǒng)思維的計算機思維的培養(yǎng)。因此,不管是不是計算機專業(yè)的學(xué)生,學(xué)好這門課顯然都十分重要。本文結(jié)合學(xué)生學(xué)習(xí)的經(jīng)驗和問卷調(diào)查,對C語言程序設(shè)計課程學(xué)習(xí)興趣的培養(yǎng)、學(xué)習(xí)方法以及C語言基礎(chǔ)重要性進行研究。
2 C語言學(xué)習(xí)的環(huán)境背景
各高校開設(shè)的C語言程序設(shè)計這門課程,學(xué)時一般并不十分充足。教師將書上的重點內(nèi)容大概講解清楚,對于提前預(yù)習(xí)或者有興趣的學(xué)生來說,或許課堂上教師的講解已經(jīng)足夠讓他們觸類旁通;但是對于另一部分學(xué)生,課堂上只能學(xué)到很淺顯的知識。C語言這門課是由淺入深,開始可能還能讓大部分學(xué)生接受,但是對于算法、循環(huán)、二維數(shù)組、遞歸函數(shù)、指針以及結(jié)構(gòu)體鏈表[1]等內(nèi)容,有些學(xué)生學(xué)起來感到吃力。課程剛開始,學(xué)生接觸這門課時大多抱著好奇的心態(tài),慢慢地隨著內(nèi)容的加深,會倦怠甚至放棄學(xué)習(xí)。因此,當(dāng)前部分學(xué)生的C語言學(xué)習(xí)效果不夠理想。
3 學(xué)生學(xué)習(xí)興趣不高和效率低下的原因
筆者對阜陽師范學(xué)院計算機與信息工程學(xué)院正在學(xué)習(xí)C語言的學(xué)生進行了問卷調(diào)查。對于初次接觸C語言課程時的學(xué)習(xí)興趣的調(diào)查,比較感興趣的學(xué)生占47.53%,興趣一般的學(xué)生占35.87%,調(diào)查結(jié)果見圖1;學(xué)習(xí)過一段時間后,比較感興趣的學(xué)生降至40.20%,非常感興趣的學(xué)生從9.02%降至6.11%,調(diào)查結(jié)果見圖2。
由于C語言大多是很多學(xué)生學(xué)習(xí)的第一門高級程序設(shè)計語言,因此,許多學(xué)生還是覺得生澀難懂。在調(diào)查中,這一部分學(xué)生最多,達到56.33%。對于大多數(shù)學(xué)生來說,學(xué)習(xí)這門課程僅僅是為了考試;學(xué)習(xí)開始,有些學(xué)生就沒有弄明白學(xué)習(xí)這門課程的目的。當(dāng)代大學(xué)生往往會對就業(yè)產(chǎn)生憂慮,對所學(xué)專業(yè)不知道有何方向,甚至在調(diào)查結(jié)果中顯示,6.68%的學(xué)生以后并不打算在這一行業(yè)工作,這也是大家學(xué)習(xí)興趣不夠濃厚的原因之一,調(diào)查結(jié)果見圖3。
計算機方面的知識往往需要靜下心來慢慢學(xué)習(xí),并且找到合適的方法。部分學(xué)生學(xué)習(xí)了一段時間發(fā)現(xiàn)很吃力,又受自己懶惰的學(xué)習(xí)習(xí)慣影響,學(xué)習(xí)停滯不前,于是對自己產(chǎn)生懷疑,有了學(xué)習(xí)C語言的挫敗感,這些都是學(xué)習(xí)過程中慢慢失去興趣的原因。
受課時的限制,一般教師會結(jié)合PPT講解基礎(chǔ)知識點,一不小心就容易變成照本宣科的方式。如圖3所示,有2.22%的學(xué)生認(rèn)為是教師教學(xué)方法不好,導(dǎo)致自己學(xué)習(xí)興趣不高。在這種環(huán)境下,學(xué)生除非有很強的吸收能力或者在課外堅持自學(xué),否則學(xué)習(xí)效率往往大打折扣。
還有兩個字很重要——適應(yīng)。學(xué)生中不乏這么一類學(xué)生,他們的學(xué)習(xí)能力似乎不錯,入門極快,在別的學(xué)生學(xué)到輸入輸出的時候,他們已經(jīng)學(xué)到數(shù)組,但是當(dāng)別人學(xué)到數(shù)組的時候,他們可能還在學(xué)習(xí)數(shù)組。因為前期的學(xué)習(xí)他們并沒有深入學(xué)習(xí)的本身,對于知識只是淺嘗輒止,剛剛夠理解入門級別的練習(xí)題。因此,這樣很明顯有一個非常大的弊端,那便是越往后學(xué)習(xí)越困難,以至于會完全放棄。這也是學(xué)習(xí)一門新課程時,適應(yīng)這門課程的重要性,并不是照著課本寫幾個“換湯不換藥”的程序就可以的。
4 培養(yǎng)C語言學(xué)習(xí)的興趣
想掌握一樣技能,興趣和勤奮缺一不可,興趣是推動學(xué)習(xí)的動力。而學(xué)好C語言是一件任重而道遠(yuǎn)的事情,那么,該如何培養(yǎng)學(xué)生的興趣呢?許多學(xué)校都會有一些實驗室,比如硬件創(chuàng)新實驗室和軟件創(chuàng)新實驗室。可是有些學(xué)生對這些不夠重視,據(jù)調(diào)查結(jié)果顯示,只有23.21%的學(xué)生參加過關(guān)于程序設(shè)計方面的競賽,48.21%的學(xué)生從不參加這類競賽,導(dǎo)致學(xué)習(xí)兩極分化極其嚴(yán)重。因為平時所學(xué)的內(nèi)容基礎(chǔ)知識偏多,并且學(xué)校安排的上機課時間也有限,這就直接導(dǎo)致許多學(xué)生不能學(xué)以致用,或者學(xué)完就忘。在這種情況下,學(xué)生積極參加一些競賽和參與一些項目,就能夠起到鞏固知識和拓展知識的作用[2]。endprint
筆者特意在對C語言學(xué)習(xí)感興趣的學(xué)生中進行統(tǒng)計,結(jié)果顯示超過50%的學(xué)生參加過競賽類活動。筆者認(rèn)為,學(xué)生應(yīng)該積極了解并參與這類學(xué)科競賽,并且在這個過程中感受到快樂和價值,這是培養(yǎng)學(xué)習(xí)興趣非常重要的一個舉措。學(xué)生可以多參與一些實踐活動,不管是競賽還是做項目,都可以培養(yǎng)自己的實踐創(chuàng)新能力,這恰好是成為計算機人才最有效的途徑[3]。
由于不同的學(xué)生接受能力不同,所學(xué)深度也不同,這就要求學(xué)生能清楚認(rèn)識到自己的能力并懂得循序漸進的道理。教師布置任務(wù)時一般不會選擇一味難度大或者一味難度小的題目,而是選擇一些難度逐漸增大的題目[4]。作為學(xué)生,如果只跟難度大的題目較勁而忘了加強基礎(chǔ),那么很快就會自我懷疑。因此,時常解決一些難度較小的題目,循序漸進,往往會讓自己產(chǎn)生學(xué)習(xí)的熱情和興趣。
在問卷調(diào)查中,特意調(diào)查了一些對于C語言學(xué)習(xí)有著極強興趣的學(xué)生,發(fā)現(xiàn)大部分人喜歡進行交流討論。這是一個便于交流和資源共享的時代,這就方便了學(xué)生在課下和同學(xué)討論,或者通過網(wǎng)絡(luò)和一些頗有心得的網(wǎng)友交流,自己的疑惑能夠及時得到解決,還順便用自己的知識解決別人的疑惑。在學(xué)習(xí)中感受到快樂和成就,對于大多數(shù)學(xué)生來說都是能提升興趣的好方法。
5 課堂外的學(xué)習(xí)方法
根據(jù)當(dāng)代大學(xué)生學(xué)習(xí)情況和學(xué)校里的課時分配情況,教師在課堂上可以把課本上的知識點講完,卻沒有時間每個點都和學(xué)生詳細(xì)解釋。以“字符串”為例,教師在講解過字符串的各種用法之后,如果課下沒有編程實踐來鞏固練習(xí),那么很快就會將那些方法搞混淆,更別談深入理解和運用。根據(jù)這個問題,筆者對于“實踐課還是理論課對于C語言學(xué)習(xí)有幫助”這個問題進行了調(diào)查,高達75.28%的學(xué)生認(rèn)為兩者配合更有效果,調(diào)查結(jié)果見圖4。因此,筆者認(rèn)為,在實踐中學(xué)習(xí)并理解那些課本上生澀難懂的知識點尤其重要,這就相當(dāng)于剛開始接觸外語時并不能馬上記住教師教的語法,但是如果結(jié)合例句或者文章,就能更加深刻地理解,是一樣的道理。
還有一點就是課后基礎(chǔ)知識的鞏固,只有掌握了基礎(chǔ)知識,在學(xué)習(xí)后面的內(nèi)容時才能更加得心應(yīng)手;相反,如果基礎(chǔ)知識掌握得不扎實,那深入學(xué)習(xí)的時候會覺得疑點重重,非常吃力。如前期的數(shù)據(jù)類型沒有學(xué)透徹,那么在遇到一些復(fù)雜的輸入輸出問題時會疑惑很久;如果數(shù)組的定義和基礎(chǔ)用法沒有掌握牢靠,那么在以后接觸有關(guān)數(shù)組的算法時就會有很多地方無從下手。對于高級程序語言來說,語言的語法知識就是決定一個程序能否運行下去的關(guān)鍵。如果是計算機專業(yè)的學(xué)生,以后還要學(xué)其他程序語言,將C語言的基礎(chǔ)知識學(xué)精通的話,可以為后續(xù)的專業(yè)學(xué)習(xí)打下良好的基礎(chǔ)[5]。
如今社會科技快速發(fā)展,互聯(lián)網(wǎng)滲透進各行各業(yè),網(wǎng)絡(luò)在教育中也展現(xiàn)出得天獨厚的優(yōu)勢。各大重點大學(xué)都在MOOC平臺上上傳自己學(xué)校的課程,更是有教師更新講解,這就保證了學(xué)生隨時可以跟上進度,并且享受更多優(yōu)秀的教學(xué)資源,也克服了傳統(tǒng)課堂時間有限的缺點[6]。利用這些網(wǎng)絡(luò)資源,學(xué)生可以在課下解決很多課堂上的疑惑,哪怕沒有教師,也可以觀看MOOC上的教學(xué)視頻。調(diào)查結(jié)果顯示,有75.26%的學(xué)生贊成面對面課堂教學(xué)和網(wǎng)絡(luò)學(xué)習(xí)的混合式教學(xué)。
關(guān)于C語言的學(xué)習(xí),現(xiàn)如今更是不缺一些教學(xué)網(wǎng)站,比如51CTO學(xué)院,就是特別針對計算機專業(yè)的學(xué)生。還有各大學(xué)校都會為計算機專業(yè)專門提供可在線練習(xí)編程的平臺。這些都保證了課下學(xué)習(xí)的可行性,為當(dāng)代大學(xué)生創(chuàng)造了學(xué)習(xí)的便利。
鑒于智能手機普遍,一款針對C語言學(xué)習(xí)的移動平臺顯得更受學(xué)生歡迎。筆者特意調(diào)查了“如果有一款學(xué)習(xí)C語言的手機APP,大家是否會用”,結(jié)果顯示,有89.98%的學(xué)生表示會用,而APP的內(nèi)容則以C語言重難點解析、題庫練習(xí)、論壇這三方面呼聲最高。這表示在學(xué)生眼中,移動學(xué)習(xí)平臺更加方便,實用性能更強。針對學(xué)生需求的平臺更加有助于學(xué)生提高學(xué)習(xí)效率,所以,利用移動平臺加大課堂外學(xué)習(xí)強度很有必要。
將C語言的學(xué)習(xí)和網(wǎng)絡(luò)資源充分結(jié)合起來,明顯學(xué)習(xí)阻力會小很多,因為學(xué)生不用必須依靠教師才能解惑,也不僅僅只是練習(xí)一些書上的編程題。在這些網(wǎng)絡(luò)平臺上,從基礎(chǔ)知識到重難點詳解,從閱讀程序入門到編寫程序,都有合理安排。根據(jù)一些班級的調(diào)查情況來看,有些教師正是采用這種課堂與網(wǎng)絡(luò)結(jié)合的教學(xué)方法,而學(xué)生的學(xué)習(xí)質(zhì)量也較之傳統(tǒng)方式明顯提高。
6 結(jié)語
本文以研究C語言學(xué)習(xí)為主,根據(jù)計算機專業(yè)課程的學(xué)習(xí)進度和難度,分析學(xué)生在學(xué)習(xí)C語言時興趣不高和學(xué)習(xí)效率低下的原因,又通過調(diào)研學(xué)生學(xué)習(xí)C語言的有效經(jīng)驗,發(fā)現(xiàn)學(xué)生積極參與競賽可以有效提高學(xué)習(xí)興趣,并且能大大提高創(chuàng)新實踐能力。在學(xué)生學(xué)習(xí)C語言程序設(shè)計這門課時,將網(wǎng)絡(luò)學(xué)習(xí)模式與傳統(tǒng)的課堂學(xué)習(xí)模式相結(jié)合,將更加有利于對這門課的理解和掌握。
參考文獻
[1]蘇小紅,王宇穎,孫志崗,等.C語言程序設(shè)計[M].2版.北京:高等教育出版社,2013.
[2]鄭明輝,胡濤,周慧華.以“項目+競賽”模式引領(lǐng)計算機專業(yè)創(chuàng)新實踐能力培養(yǎng)[J].計算機教育,2014(15):41-51.
[3]韓忠愿.以競賽促進大學(xué)生的專業(yè)與職業(yè)銜接:中國大學(xué)生計算機設(shè)計大賽的特點與意義[J].計算機教育,2015(1):26-29.
[4]黎明,文海英,杜敏.基于學(xué)科競賽的編程類課程教學(xué)改革[J].計算機教育,2014(13):72-74.
[5]梁文忠.試論《C語言程序設(shè)計》有關(guān)基礎(chǔ)知識的教學(xué)[J].廣西梧州師范高等專科學(xué)校學(xué)報,2006(3):78-80.
[6]孔婷.淺談高校網(wǎng)絡(luò)平臺教學(xué)方式及其意義[J].南昌教育學(xué)院學(xué)報,2013(12):50,58.endprint