高清芬
摘 要:C語言是一門功能強大、應(yīng)用廣泛的計算機高級語言,具有數(shù)據(jù)類型繁多、結(jié)構(gòu)復(fù)雜、運用靈活多變等特點,特別是作為程序設(shè)計的入門語言,學(xué)生學(xué)起來感覺有一定的困難,因此改革教學(xué)模式,化難為易、化抽象為具體,提高該課程的教學(xué)質(zhì)量和教學(xué)效果勢在必行。本文結(jié)合筆者自己的教學(xué)經(jīng)驗,從如何上好第一堂課,提高學(xué)生學(xué)習(xí)興趣、充分利用網(wǎng)絡(luò)資源、開辟第二課堂,以及師生互動等幾個方面對該門課程的教學(xué)進行了探討。
關(guān)鍵詞:教學(xué)探討 興趣 師生互動 網(wǎng)絡(luò)資源
中圖分類號:TP312 文獻標識碼:A 文章編號:1672-3791(2018)08(b)-0198-02
C程序設(shè)計課程是計算機專業(yè)學(xué)生以及大部分理工科專業(yè)學(xué)生的必修課程,是學(xué)生掌握現(xiàn)代信息技術(shù)以及學(xué)習(xí)計算思維思想的入門課。如何在教學(xué)過程中充分調(diào)動學(xué)生的學(xué)習(xí)興趣,最大限度地挖掘?qū)W生潛能,激發(fā)學(xué)生的創(chuàng)新思維,培養(yǎng)開放型、實用型人才,是擺在教師面前亟待解決的問題。
1 上好第一堂課
無論任何課程的學(xué)習(xí),筆者認為第一堂課的教學(xué)至關(guān)重要,它關(guān)系到學(xué)生對該門課的認識以及能否初步引起學(xué)生對該門課的學(xué)習(xí)欲望。在第一堂課的教學(xué)中,我們不必急于知識的傳授,而重點在于引導(dǎo),筆者認為不妨從以下角度設(shè)計第一堂課。
首先,講述該門課出現(xiàn)的歷史背景,從而使學(xué)生了解計算機程序設(shè)計最初是為了解決什么問題而產(chǎn)生的。其次,通過一些程序源代碼的演示,使學(xué)生明白該語言到底是做什么用的,可以解決我們身邊的哪些問題。因此,在選用例子時,一定要選用我們身邊的大家都熟悉的問題:比如:“菲波納契兔子問題”“雞兔同籠問題”“預(yù)測身高體重”“競賽記分”“統(tǒng)計選票”“猜數(shù)游戲”等,同時針對不同專業(yè)的問題也可以解決專業(yè)中的相關(guān)問題,比如數(shù)學(xué)專業(yè)的學(xué)生可以選用“求解方程問題”“計算行列式”等。這些問題學(xué)生雖然暫時還不能自己解決,但是在今后的學(xué)習(xí)過程中,通過自己的刻苦努力,就能親自解決這些問題。最后,如果有條件的話可以讓學(xué)生親自調(diào)試一些已經(jīng)編好的比較簡單的源代碼程序,當(dāng)他們“編”的程序成功地輸出結(jié)果的時候,學(xué)生對程序設(shè)計的興趣自然就產(chǎn)生了。這樣,通過這樣一堂課的學(xué)習(xí),筆者相信同學(xué)們一定會對這門課有著強烈的好奇心和強烈的求知欲,從而激發(fā)學(xué)生學(xué)習(xí)的內(nèi)在動力、培養(yǎng)學(xué)生對該課程的強烈興趣。
2 問題教學(xué)法
教師在講授每一節(jié)課以前,盡量通過形象生動的操作或有目的的提問,引導(dǎo)學(xué)生的求知欲。例如,在講授《函數(shù)的遞歸調(diào)用》這部分內(nèi)容時,可以首先對學(xué)生講講漢諾塔的傳說:傳說在古印度的寺廟里流傳著這樣一個游戲,當(dāng)游戲結(jié)束的時候也就意味著世界末日的到來。說到這里,學(xué)生就會好奇,紛紛猜測這是個怎樣的游戲。等學(xué)生知道了漢諾塔的問題后,再慢慢給他們講述這個問題的解決方法——函數(shù)的遞歸調(diào)用。在教學(xué)中,教師要善于給學(xué)生制造一點小小的困難,讓學(xué)生體驗到克服困難獲取成功的樂趣,這是保持學(xué)生學(xué)習(xí)興趣的必要條件。在選擇例題時也是由簡到難,逐步呈現(xiàn)給學(xué)生,并給出學(xué)生思考的時間和空間。比如:在講解循環(huán)結(jié)構(gòu)時,我們可以選用猜數(shù)游戲。首先,選取一個固定數(shù)據(jù),讓學(xué)生猜測數(shù)據(jù)是多少,并顯示“猜高了、猜低了,恭喜你,猜對了!”三種不同的提示,這個問題很容易解決,同學(xué)們用前面所學(xué)的選擇語句就能完成,然后讓學(xué)生思考:(1)以上只能猜測一次,如何能夠猜測多次,直到猜對為止。這就需要循環(huán)結(jié)構(gòu)來完成。(2)上面猜測的數(shù)是一個固定的數(shù),那么可否讓計算機隨機產(chǎn)生一個區(qū)間內(nèi)的整數(shù),而且每次產(chǎn)生的整數(shù)不同呢?(3)我們可否限定猜測數(shù)據(jù)的次數(shù)為3次,多了程序自動結(jié)束。(4) 我們猜完一個數(shù)據(jù)后,可否繼續(xù)猜下一個數(shù),直到不想猜為止。這需要循環(huán)的嵌套。這樣通過引導(dǎo)學(xué)生自己逐步由易到難去解決問題,從而調(diào)動他們自主學(xué)習(xí)的積極性,培養(yǎng)對該門課的濃厚興趣。
3 充分利用網(wǎng)絡(luò)資源
利用網(wǎng)絡(luò)資源,可以節(jié)省學(xué)生的時間,提高實驗效率。如果學(xué)生上機調(diào)試程序,學(xué)生光輸入代碼就要占據(jù)很大的時間,這是沒有必要的。為此我們把部分程序代碼上傳到網(wǎng)上,讓學(xué)生共享,學(xué)生只需要編寫本節(jié)課所學(xué)內(nèi)容的代碼,這樣大大節(jié)省了時間,也提高了實驗效率。比如:在實驗函數(shù)這一部分的內(nèi)容時候,我們可以把以前的一些做過的題目的代碼放到網(wǎng)上,讓學(xué)生把這些題目改用函數(shù)來實現(xiàn),重點練習(xí)函數(shù)的定義以及調(diào)用方法,體會函數(shù)參數(shù)的傳遞過程。這樣就可以做到專項專練,提高教學(xué)效果。其次我們把一些課程內(nèi)容的知識點制作成微課的形式上傳到網(wǎng)上,供同學(xué)們課下復(fù)習(xí)使用,同時對于部分教學(xué)內(nèi)容,針對學(xué)生的學(xué)習(xí)能力,讓學(xué)生提前網(wǎng)課預(yù)習(xí),采用翻轉(zhuǎn)課堂的教學(xué)模式,這樣可以大大增強學(xué)生的學(xué)習(xí)積極性,提高學(xué)習(xí)能力。
4 師生互動,增加交流的機會
不論哪門課程的學(xué)習(xí),師生互動,增加交流的機會都是至關(guān)重要的。在課堂教學(xué)過程中,要充分調(diào)動學(xué)生的學(xué)習(xí)積極性,變被動為主動,變客體為主體,讓學(xué)生參與到教學(xué)活動中來,增加師生間的互動。課上我們可以有意地設(shè)置一些不同深淺的筆誤或口誤,馬上讓學(xué)生肯定對與錯,以考查學(xué)生注意力集中的程度,提高他們的敏銳性和判別能力。對有些問題,可以給出一種程序設(shè)計方法后,讓學(xué)生討論,還有沒有其他的程序設(shè)計方法和思路,讓他們發(fā)表意見,提出自己的解題思路編程方法,給學(xué)生以表達已見、陳述思路、交流觀點的機會。這樣既可以發(fā)現(xiàn)學(xué)生中好的解題思路和編程思想,也可以了解學(xué)生在學(xué)習(xí)過程中哪部分內(nèi)容比較薄弱,以后在教學(xué)中予以加強,真正實現(xiàn)教學(xué)相長。實際上,這對老師和學(xué)生都提出了更高的要求,首先它要求老師既有引導(dǎo)又能放開,既有事先的精心備課,又有課堂上的因勢利導(dǎo);其次,它要求學(xué)生不僅要上課注意力高度集中,而且還要充分展開他們的想象,充分發(fā)揮他們的主觀能動性。這樣教師可以從學(xué)生討論中提出的問題來豐富教材內(nèi)容,學(xué)生可以從課上的討論發(fā)言中,感受到參與的樂趣與興趣,體會到自己的主體作用,收到較好的教學(xué)相長的效果。
5 開辟第二課堂,加強課程設(shè)計
C語言程序設(shè)計是一門實踐性很強的課程。只有課上練習(xí)是遠遠不夠的。每次課上的實驗中不可能完成相對較大的實踐項目。課程一開始向?qū)W生布置課程設(shè)計題目,伴隨著教學(xué)進度和實踐進度,學(xué)生根據(jù)自己所掌握的知識逐步完成課程設(shè)計。通過課程設(shè)計,可以使學(xué)生將所學(xué)課程的各個知識點有機地結(jié)合起來,彌補課上實踐的不足,同時增強了同學(xué)之間相互學(xué)習(xí)的協(xié)作精神,鍛煉了學(xué)生綜合分析問題和解決問題的能力。比如我們可以布置一個學(xué)生成績管理系統(tǒng)的課程設(shè)計。在學(xué)習(xí)選擇結(jié)構(gòu)后,可以完成菜單界面的設(shè)計。在學(xué)習(xí)數(shù)組后可以完成其中的數(shù)據(jù)輸入、輸出以及求和、排序、查找等基本操作。在學(xué)習(xí)函數(shù)后,可以把以上每一個操作用一個函數(shù)來完成。學(xué)習(xí)完結(jié)構(gòu)體類型后,還可以修改成結(jié)構(gòu)體類型來做。學(xué)習(xí)完文件后,把輸入輸出的數(shù)據(jù)都存放在文件中,從而完成整個學(xué)生成績管理系統(tǒng)的設(shè)計。在整個學(xué)習(xí)過程中,采用分組的方式,培養(yǎng)學(xué)生開發(fā)軟件所必需的團隊精神。
總之,教學(xué)過程就是一個不斷精益求精的過程,對于每一位教師,只要能不斷在教學(xué)過程中進行探索,大膽改革,就一定能取得較好的教學(xué)效果。
參考文獻
[1] 王春暉,劉志國.基于MOOC平臺的混合式教學(xué)模式探索——以C語言程序設(shè)計公共課為例[J].內(nèi)蒙古大學(xué)學(xué)報,2015,28(7):144-146.
[2] 蘇小紅,王宇穎,孫志崗,等.C語言程序設(shè)計[M].3版.北京:高等教育出版社,2016:7.
[3] 蔣斌.高職院校計算機專業(yè)《C語言程序設(shè)計》教學(xué)探討[J].考試周刊,2011(38):155-156.