





摘要:提出打破常規(guī)“C語言程序設(shè)計概述”的教學(xué)方法,利用設(shè)問解答式的方法對教學(xué)內(nèi)容進行組織,總結(jié)傳統(tǒng)教學(xué)存在的問題,提出采用“提出問題—解答問題”方式組織教學(xué)內(nèi)容,并給出適用的課程講解方案。
關(guān)鍵詞:教學(xué)方法;語言;設(shè)問解答式
“C語言程序設(shè)計”是高等學(xué)校的公共基礎(chǔ)課程,該課程要求學(xué)生了解程序設(shè)計的基礎(chǔ)知識并通過基本的編程訓(xùn)練,培養(yǎng)大學(xué)生的計算機應(yīng)用能力和軟件設(shè)計的基本能力[1]。C語言程序設(shè)計概述(下簡稱“概述”)是課程的第一講內(nèi)容,一般包括計算機程序設(shè)計的基本概念、C語言的產(chǎn)生及發(fā)展過程和C語言程序設(shè)計的特點[2]。作為課程的導(dǎo)入課,“C語言程序設(shè)計概述”的課堂教學(xué)應(yīng)該樹立起學(xué)生對課程的宏觀和整體認識,要解釋和回答好以下幾個問題[3]252:為什么要學(xué)這門課?這門課有什么用途?什么是計算機語言?計算機語言和人類自然語言有什么異同?什么是程序設(shè)計語言?程序設(shè)計語言是什么樣的計算機語言?C語言又是什么樣的程序設(shè)計語言?如何學(xué)好C語言?傳統(tǒng)的課堂教學(xué)往往對上述問題沒有完全回答或回答得不好。
2教學(xué)內(nèi)容設(shè)計
筆者曾經(jīng)做了這樣一個調(diào)查,對正在學(xué)習(xí)C語言程序設(shè)計課程,而且學(xué)習(xí)已經(jīng)接近尾聲的學(xué)生進行問卷調(diào)查。75%的學(xué)生回答不出來課程有什么用?85%的人不能準確說出“計算機語言”的概念,80%的人不能說出到底什么是“C語言”?70%以上的學(xué)生認為沒有十足的把握一次通過計算機二級考試。從這個調(diào)查問卷,發(fā)現(xiàn)筆者的“C語言程序設(shè)計”教學(xué)真的很失敗——學(xué)生連最基本的概念都沒有掌握,我們感到上好“概述”真的十分重要。教師在講解“概述”時,一般就是從給學(xué)生演示“程序編輯調(diào)試”入手,進而講解C語言的發(fā)展,接著講解C語言程序設(shè)計中的數(shù)據(jù)類型、控制語句等。殊不知,這些學(xué)生都是從高中才進入大學(xué),他們對程序設(shè)計可能一無所知,乍一接觸這些知識,一下子可能無法接受,更有學(xué)生從此就失去了學(xué)習(xí)“C語言程序設(shè)計”的興趣。
2.1設(shè)問解答式教學(xué)思路[4-6]
“概述”是C語言教學(xué)的敲門磚,上好這一節(jié)課,直接影響到后續(xù)章節(jié)的成敗。講述這個內(nèi)容時,我們首先需要講解這門課程的重要性,使學(xué)生認識到這門課必須要學(xué)好。在學(xué)生還不知道課程內(nèi)容時,適當?shù)赝ㄟ^課程提問,逐一分析解決,使學(xué)生認識到C語言的強大功能,產(chǎn)生學(xué)習(xí)的動力,希望學(xué)好C語言,了解C語言的學(xué)習(xí)方法。如圖1所示。
2.2承上啟下講解課程的性質(zhì)
對于學(xué)習(xí),人總有一種想法,重要的東西才去學(xué)。對任何一門課程,教師必須要跟學(xué)生強調(diào)這門課程的重要性,從擴充知識體系方面去強調(diào)重要性,同時要用通俗的語言來提起學(xué)生的興趣。對于C語言程序 設(shè)計,我們采用了如圖2所示的講解方法,使學(xué)生初步了解課程的重要性。
2.3層層遞進提出問題
設(shè)問解答式在教學(xué)中已經(jīng)成為一種流行的教學(xué)方法,但在問題設(shè)置和解答方面都要有技巧。很多人習(xí)慣提的問題是某一講內(nèi)容的重點、難點,殊不知,學(xué)生還沒有開始內(nèi)容的學(xué)習(xí),如何能做到對提出問題有印象,從而做出解答。針對學(xué)生對程序設(shè)計的了解情況,我們設(shè)置以下問題,這些問題層層遞進,如果學(xué)生了解了這幾個問題,那么就對C語言有了一定的了解:
1) 有了豐富的人類語言,為什么還要有計算機語言?
2) 計算機語言有何特征?
3) 程序設(shè)計語言是一種什么樣的計算機語言?
4) C語言是什么樣的程序設(shè)計語言?有何特點和作用?
5) 如何學(xué)習(xí)C語言?
2.4教學(xué)方法和技巧——解決問題
2.4.1為什么要學(xué)習(xí)計算機語言
這是每個計算機初學(xué)者遇到的問題,我們利用圖3所示的方法來使學(xué)生了解計算機語言與人類語言的區(qū)別:計算機語言是人與電腦交流的工具,計算機看得懂;而人類的自然語言是人與人交流的工具,計算機不認識。因此我們要指揮計算機做事,就必須要學(xué)習(xí)計算機的語言。
2.4.2計算機語言家族
有學(xué)生認為所有的語言學(xué)起來都枯燥無味,計算機語言也不例外。這個時候我們可以列舉一下“圖靈獎與計算機語言”,如圖4為計算機語言的類別,通過講解讓學(xué)生了解到計算機語言的大師們對計算機語言的貢獻,對計算機及信息技術(shù)發(fā)展的貢獻,使他們感受到計算機語言的魅力,激發(fā)學(xué)習(xí)興趣。
2.4.3以獨特的視角展現(xiàn)“C語言”特色
學(xué)生在了解了計算機語言的概念后,肯定很想知道計算機語言的特征,我們抓住學(xué)生的心理特點,將C語言的特點總結(jié)如下:
1) 嚴格定義,有嚴謹?shù)恼Z法;
2) 語義上無二義性;
3) 比自然語言要精簡;
4) 是機器可執(zhí)行的。
在講解這一部分時,我們一定要注意與人類的自然語言進行對比,使學(xué)生留
下深刻的印象。
2.4.4層層細化,講解C語言的發(fā)展
當學(xué)生了解了“語言”、“計算機語言”之后,接著即可引入“C語言”的相關(guān)知識。講解過程中,我們始終把握聯(lián)系實際,由淺入深的步驟[3]252-253,如圖5展示了講解思路,采用圖示的方式講解計算機語言的發(fā)展過程:
2.4.5圖解“程序”的概念
我們一直強調(diào),要計算機做事,要控制計算機,而其中重要的步驟是編寫程序、解決問題。理論上說,計算機可以作任何事情,只要把實際問題抽象、制作為可求解的程序,本過程適宜采用如圖6所示的圖示方式講解[3]252。
3結(jié)語
我們在全?!癈語言程序設(shè)計”教學(xué)中普遍實施上述教學(xué)思路,教師和學(xué)生普遍感覺收獲頗多,特別是加深了學(xué)生對C語言的了解,激發(fā)了他們學(xué)習(xí)的興趣,課堂教學(xué)與實驗教學(xué)效果都比過去有了明顯改善?!癈語言程序設(shè)計”課程在2010年度被評為湖南省精品課程。通過改革教學(xué)內(nèi)容、改進教學(xué)方法使C語言教學(xué)更適應(yīng)學(xué)生的需求,便于學(xué)生循序漸進地學(xué)習(xí)相關(guān)知識和技能[7]。同時在這個過程中,學(xué)生會不斷地獲得成就感,更大地激發(fā)起求知欲望,從而培養(yǎng)出獨立探索、勇于開拓進取的自學(xué)能力。最終使我們的教學(xué)更適用于培養(yǎng)學(xué)生的創(chuàng)新能力、獨立分析問題和解決問題的能力[8]。
注:本文所涉及內(nèi)容的視頻錄像可在湖南工業(yè)大學(xué)“C語言程序設(shè)計”省級精品課程網(wǎng)站:http://218.75. 216.182/vc/850839觀看。
參考文獻:
[1] 張錦祥. 高級程序設(shè)計語言課程教學(xué)改革與實踐[J]. 浙江教育學(xué)