“C語言程序設(shè)計”是目前中職計算機專業(yè)普遍開設(shè)的一門課程。該課程涉及的概念比較復雜,規(guī)則繁多,使用靈活,容易出錯且不易查出。而中職學生整體上理解知識和接受知識的能力較弱,對課程的學習缺乏主動性和積極性,因此不少學生學習該門課程時不得要領(lǐng)。課堂是教學的主陣地,如何根據(jù)學生和課程的特點精心設(shè)計課堂教學以激發(fā)學生學習熱情、提高課堂有效性,是值得教師思考的重要問題。筆者結(jié)合自身實踐,認為“C語言程序設(shè)計”課程中的有效教學需要遵循四條原理。
職業(yè)學校的部分學生學習主動性不夠,而“C語言程序設(shè)計”課程又是一門邏輯系統(tǒng)性較強的課程,要使學生在學習這門課程上有迫切的需求,首先需要激發(fā)他們的學習興趣,讓他們明白這一門課程學習后能解決哪些問題。為此,筆者在本課程開始的第一次課截取他們目前愛玩的游戲中的一小段落加以解析,讓他們知道任何軟件的運行都是在程序控制下完成的,而程序的編寫就是體現(xiàn)如何解決問題的過程。這樣既讓學生加深了對課程的認識,又理解了計算機的工作過程,知道學習這一門課程不僅僅是為了考試,更是為了解決生活和工作中的問題,從而激發(fā)其學習興趣。其次,要讓學生明白程序是控制計算機執(zhí)行的基礎(chǔ),而編寫程序的語言多種多樣,比如C、C++、JaVa、PHP等。建立了一定的算法思路,以后的語言學習將輕松很多,有利于培養(yǎng)學生終身學習的能力。
編程被大部分學生認為是高深莫測的,他們在學習時往往產(chǎn)生畏懼心理?;谶@種情況,教師要吃透課程標準、教材,充分了解學生。在教學內(nèi)容的安排上要尊重學生的心理和年齡特點,先易后難,循序漸進。首先,課堂知識點的舉例,應(yīng)該從學生生活和學習中接觸比較多的、容易理解的問題開始,讓學生建立程序的概念和模式。比如在學習輸出函數(shù)printf時,可以從數(shù)字、各種不同符號的輸出入手,講解不同的輸出格式是怎樣實現(xiàn)的,通過觀看直觀的運行結(jié)果來掌握printf函數(shù)在C語言中的應(yīng)用。其次,在同一類問題中也要體現(xiàn)先易后難、逐層遞進的原則,使學生產(chǎn)生主動分析和探究的意愿。
課堂上師生是共組的學習共同體,其根本特征有三個:“積極學習”“生成內(nèi)容”“分享成果”。其中,“積極學習”是基礎(chǔ),“生成內(nèi)容”是關(guān)鍵,“分享成果”是焦點。與其說學習共同體是知識探究的組織與平臺,不如說是師生、生生間主體性互動的舞臺。比如循環(huán)結(jié)構(gòu)程序編寫中講到“求最值”的算法時,請6個學生玩“掰手腕”的游戲,模擬“打擂臺”的過程,學生邊參與游戲,邊思考如下問題:你看到不斷重復的是哪些現(xiàn)象?共掰了幾次最終決出了決勝者?整個過程中出現(xiàn)了哪些變量?游戲結(jié)束后學生回答上述三個問題,結(jié)合教學內(nèi)容總結(jié)得出算法思路并細化流程,最后教師給出程序模板,學生根據(jù)流程圖及算法思路完成程序填空,共同得出求6個數(shù)中最大值的程序。
整節(jié)課學生通過游戲式的思考,對求最值的算法思路能清晰地理解,并能快速地將算法思路用C程序表示出來,同時進一步理解了計算機程序控制的原理??梢哉f,在學習共同體中,“積極學習”為學生主體性的展現(xiàn)創(chuàng)造了條件,“生成內(nèi)容”為師生間的主體性共生提供了機制,“分享成果”為師生間主體性的互動與共生打開了通道。由此,課堂上教師對“知識呈現(xiàn)過程”的主導升格為教師對“知識生成過程”的主導。
進一步提高課堂效率需要讓學生體驗成就感。當每個學生都能從學習中體驗到不同層次的成就時,學生對該課程的學習興趣就會提高。反饋原理的運用在“C語言程序設(shè)計”中體現(xiàn)最明顯的是在編程過程中。程序的編寫就是解決問題的過程,而解決同一問題可以有多種方法,所以在課堂上每提出一個問題,通過簡單分析后就讓學生自主編寫程序,并及時通過實物投影儀來展示各自的結(jié)果。通過課堂及時反饋,學生能及時發(fā)現(xiàn)問題并當場改正,提高了學習成效。