王洋



摘要:冒泡排序是高校《C語言程序設計》教學中的重要難點,而傳統的教學方法并不理想。學生易將課堂PPT演示的內容與程序語言代碼割裂開來,無法建立其直接的聯系。探討使用一種基于調試工具的方法,觀察程序中變量值動態變化,從而建立算法自然語言描述與代碼描述的直接聯系,使學生能夠更好地掌握冒泡排序算法的原理,培養學生的獨立思考能力和發散思維能力,取得了良好的教學效果。
關鍵詞:C語言程序設計;冒泡排序;教學方法
中圖分類號:G642.0 ? ? 文獻標志碼:A ? ? 文章編號:1674-9324(2016)41-0257-02
一、引言
在《C語言程序設計》[1,2]教學過程中,常以冒泡排序來講解排序的原理。冒泡排序原理簡單,但過程相對繁瑣。在傳統教學中,通常是教師先把冒泡排序思想講述一遍,然后列出程序,解釋程序執行過程,這種方式很難激發學生的學習興趣。同時,由于學生沒有很好地掌握冒泡排序的原理,自己很難獨立編寫出冒泡排序的程序。因此,合理設計教學過程,讓學生掌握冒泡排序的思想和編程方法,激發學生對編程課程的興趣是一個關鍵問題。
在計算機語言程序設計教學中根據需要正確運用直觀性教學方法,將有助于學生去消化、理解抽象的算法和程序執行流程,進一步提高學生的學習興趣和學習積極性。程序設計的直觀性教學可以從基于動態可視化的方法來實現。
二、基于動態可視化的教學方法
(一)使用教學課件幫助學生理解程序的執行過程
計算機程序的運行是在計算機內部進行的,是看不到、摸不著的。各種控制語句的執行流程、函數與子程序的調用和返回過程及參數間的傳遞,學生是無法直接感知的。即使實驗課調試程序的過程中,學生也只能看到中間或最終的結果,是對程序正確性的驗證,看不到程序的執行過程。多媒體教學課件能夠模擬不可能或很難看到的現象,能使抽象的理論形象化。在程序設計教學中借助于課件,可以模擬程序的執行過程和各參數的變化,讓學生理解控制語句的執行流程以及函數、子程序調用過程中各參數的變化情況,一些算法的基本原理。因此,在教學中設計必要的課件,課堂教學效果遠遠超過詳細的語言講解。
針對冒泡排序算法的講解,我們在PPT中內嵌了動畫,動態演示對數字冒泡排序的過程。在這一階段,不涉及程序代碼的編寫和講解,著重講解原理。具體演示內容如圖所示:
(二)使用調試工具幫助學生理解程序的執行過程
借助調試工具,我們可以深入地觀察變量的存儲、程序的流程控制、數組及函數的調用。并且當學生掌握常用的調試技術后,學生可以自己獨立解決編程問題,也增強了編寫程序的信心,提高了編寫程序的興趣。并且,老師也不需要在實驗課上疲于奔命地為學生排查錯誤了。因此掌握程序調試技術對教學雙方都能起到事半功倍的效果。對于冒泡排序程序段:
總之,直觀性教學方法是激發學生學習興趣的有效方法,是促進學生思維發展,幫助學生內化知識的重要途徑。在計算機程序教學中正確使用直觀性教學方法,可以進一步提高課堂教學效益,幫助學生掌握難以理解的抽象知識,使抽象的知識形象化。對于冒泡排序程序代碼段如圖2所示:
我們可以使用調試工具逐行運行。通過觀察Watch中變量i,j,a[i],a[j],a[j+1],t的變化,可以動態地觀察排序算法的執行過程。如圖3所示,對應PPT中的冒泡排序算法的第二遍,42與16交換位置的過程。這樣就可以將PPT中的算法自然語言描述如第二遍與C語言程序代碼中的外層循環建立起直接的聯系。教師可以通過PPT與程序代碼的互動,逐步地將冒泡排序算法程序每一步的操作,形象直觀地演示給學生。
三、結語
本文以冒泡排序設計教學為例,利用PPT與程序調試技術為教學手段,引入了一種動態可視化的教學方法,著重建立了冒泡排序算法自然語言與程序設計語言的聯系,形象生動地向學生展示了冒泡排序的基本思想和變換過程。因此,這種合理的教學設計有效地提高了教學效果,對程序設計類課程的教學有一定的借鑒意義。
參考文獻:
[1]張玉春,孫大元.C語言程序設計教程[M].北京:清華大學出版社,2013.
[2]孫大元,張玉春.C語言程序設計實驗指導與習題解析[M].北京:清華大學出版社,2013.
An Inquiry Teaching Method Based on Dynamic Visualization Analysis for Bubble Sorting
WANG Yang
(Jilin University Public Computer Teaching and Research Center,Changchun,Jilin 130012,China)
Abstract:Bubble sorting is important issue of the "C programming language" teaching in universities,but the traditional teaching method is not ideal. Student often separate the connection between PPT demo content and program code,and can not establish their direct contact. This paper explore a debugging based technique,observe dynamic change of the variable values,to establish the direct link between natural language description of the algorithm and code description,to make students better grasp the principle of bubble sort algorithm,develop students' independent thinking ability and divergent thinking ability,and good teaching effect has been obtained.
Key words:C programming language;bubble sorting;teaching method