王洋
摘要:C語言程序設計重修課程已經(jīng)成為大學計算機教育中的組成部分之一。文章對C語言程序設計重修課程的教學工作進行了探討,針對重修課程的特點,提出了一些改進重修班的措施,及其在教學實踐中的應用。
關鍵詞:C語言程序設計;重修課程;教學方法
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2017)27-0167-02
近年隨著高校招生規(guī)模的擴大,學生數(shù)量一直呈增長趨勢。C語言程序設計作為理工科專業(yè)學生必修的基礎課程,不及格的學生人數(shù)也在逐年增加。重修班的課程教學也是本科教學中重要的組成部分,在重修課程的教學工作中存在一些有別于普通課程教學的特點,需要任課教師采取針對性的措施,才能保證重修課程保時保質(zhì)完成。
一、目前C語言重修課程存在的問題
1.教學方法與教學手段過于單調(diào)。從目前高校的教學情況看,一般現(xiàn)在大多以多媒體教學為主。當然,多媒體教學較以往黑板板書的講授方式有了一定的進步,但這里邊仍然存在一定的問題。第一,多媒體教學方法仍是以教師教授為主、學生聽講為輔的教學手段,啟發(fā)式教學沒有得到充分應用。而且許多教師過分注重PPT教學,強調(diào)體系的完整性而非學生的掌握情況。學生經(jīng)常感到上課好像都聽懂了,但是上機時對C語言語法不熟練,編寫程序無從下手。第二,多媒體教學很難為學生建立編寫程序的直觀感受。教師PPT上的例子通常是可以正確運行并得到正確結果的例子程序。這就會使學生產(chǎn)生厭學心理,誤認為只要將程序代碼輸入計算機,計算機就會正確地執(zhí)行。當程序發(fā)生錯誤時,學生經(jīng)常感到束手無策,挫傷了學生學習的積極性和熱情。
2.學生的學習目的不明確。對于非計算機專業(yè)的學生,通常認為C語言程序設計與他們所學專業(yè)課相關性較小,而且在現(xiàn)實生活中很難應用,所以對C語言程序設計很難提起興趣。另一部分同學認為學習C語言的目的只是為了通過計算機等級考試或重修考試,所以認為C語言學習的重點是語法知識而非上機實踐,這部分同學學習非常認真,教材上做滿了各種對知識點的解釋和編程時應注意的誤區(qū),可就是不會編寫程序,最多只能參照教材的例子編寫,無法編寫程序解決工程實際問題。還有部分同學認為C語言過時了,應當學習JAVA、C#等目前行業(yè)內(nèi)普遍采用的高級程序設計語言。而且JAVA等高級語言相對來說簡單易學,源代碼可讀性強,同時又有功能強大的編譯器支持,利于迅速開發(fā)項目。
3.C語言本身的特點。C語言作為一門實用的編程語言,以其強大的編程功能,自由靈活的編程風格,獲得了IT技術從業(yè)者的廣泛青睞,但是這些有點恰恰成為了初學者的最大障礙。C語言程序語法復雜,調(diào)試苦難,尤其是對指針的使用,使初學者經(jīng)常犯難以跟蹤的編程錯誤。而且對于非計算機專業(yè)的學生,C語言程序設計往往在大一下學期或大二下學期開設。對于僅學習過大學計算機基礎的非計算機專業(yè)學生來說,缺乏對計算機結構的全面了解,對于和計算機硬件尤其是和內(nèi)存結合很緊密的概念,學生基本很難理解和掌握。
二、針對重修課程特點的教學措施
1.培養(yǎng)學生學習興趣。對于選修C語言重修課的學生,應注意對其學習興趣的培養(yǎng)。比如在課堂上可以給重修的學生講一些計算機科學家的生平及小故事、計算機與數(shù)學等方面的內(nèi)容,短則一兩句話,長則三五分鐘,既活躍課堂氣氛,又能激發(fā)重修生對程序設計的興趣。教師也可以在課堂中向?qū)W生講述一些在生活中使用C語言編寫的軟件,如與學生生活密切相關的嵌入式系統(tǒng)軟件,讓非計算機專業(yè)的重修學生感到C語言程序設計與他們并不遙遠。教師在重修課教學過程中,可以采取案例驅(qū)動、任務驅(qū)動、主題作業(yè)、課程設計等多種形式[1,2],增強學生的學習興趣。
2.改進教學方法。在C語言程序設計重修課程的教學中,要充分利用多媒體課件,其內(nèi)容應該有條理、重點突出、詳略得當。多媒體課件應該注重演示與推理,而不是教材的翻版。同時,教師也可在課堂上現(xiàn)場使用編譯軟件編寫程序,并對程序中的錯誤加以修改并講解,也可以教師將程序的主體寫好,邀請同學上講臺上編寫關鍵代碼段,一起完成程序的編寫。如教師在講解for循環(huán)體的知識點之后,可以編寫如下圖所示代碼:
并請同學上講臺現(xiàn)場編寫代碼完成所需的功能。如果學生在編寫過程出現(xiàn)了錯誤,教師應該在課堂上做出講解并給出解決方法。這樣既調(diào)動了重修生上課的積極性,活躍了課堂氣氛,同時教師對學生編程時易發(fā)生的錯誤,現(xiàn)場給予了解答,減輕了學生學習程序設計的畏懼心理。
同時,應采用將多媒體教學工具(如Flash)與程序調(diào)試相結合的方法,將C語言程序設計中內(nèi)容比較抽象、比較底層、不易理解的部分,如排序算法,用直觀的形式展現(xiàn)給學生。
例如,在講解選擇排序算法時,可以將如下圖所示的Flash與VC++6.0的調(diào)試窗口做對照:
教師可以通過Flash動畫與程序代碼的互動,逐步地將選擇排序算法程序每一步操作,形象直觀地演示給學生。
3.強調(diào)算法的重要性。算法設計是C語言程序設計的靈魂,編程成功的前提是要分析出正確的算法,因此在教學中必須將算法設計作為程序設計課程的先導和教學重點,以培養(yǎng)和提高學生分析和解決問題的能力。筆者曾以求取任意正整數(shù)平方根為例,分別講解了泰勒展式法與牛頓迭代法,并編寫程序為學生展示了選取不同時間復雜度的算法對求解問題造成的影響。對于非計算機專業(yè)的C語言的重修學生而言,能夠分析與設計簡單的算法是我對他們的基本要求。要時時向?qū)W生傳輸這樣一個觀點:程序設計語言無論多么強大,多么流行,都是一種工具,而程序設計的根本目的是為了解決生產(chǎn)生活實際中的問題,對于解決問題而言,算法才是最重要的。
總之,以上是本人在C語言程序設計重修課教學過程中的一些體會,不一定完全正確,還需要我們不斷地去探索,取長補短,不斷完善。
參考文獻:
[1]常本勤.基于問題的學習模式在程序設計類課程教學中的應用[J].計算機教育,2010,(2).
[2]馮小強.C語言教學方法的探索[J].科技信息,2010,(28).
Abstract:C language programming retaken course has become one of the components of computer education of education. In this paper,the teaching of C language programming retaken course is discussed,according to the characteristics of the retaken course,some measures are proposed to improve the students' independent thinking ability and divergent thinking ability.
Key words:C programming language;retaken teaching;teaching method