





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