谷惠敏
程序設計課程是強調“思想”與“方法”的,是基于問題的求解來貫穿于程序設計中。計算思維是程序設計教學的基本內容,而對于學生來說,程序設計課程最初學習是很有趣味的,但在后續學習中卻因算法、語法的增多,反而降低了學習熱情。為此,本文將通過引入“Raptor”可視化流程軟件來探討程序類課程的教學創新。
【關鍵詞】程序設計課程 計算思維
學習程序設計,要注重計算思維的滲透與養成。計算思維是基于數與形的邏輯關系,來探討問題求解的過程。在程序設計課程教學中,如何從教學方法創新上,來強調計算思維,來引導學生從計算思維中來洞曉和理解程序設計的真諦。為此,本文將結合C語言教學實際,通過引入Raptor流程可視化軟件,來創新程序設計課程教學模式,激發學生的計算思維,提升教學實效。
1 程序設計課程對計算思維的體現
在程序設計課程教學實踐中,語法規則是體現程序設計思想與方法的具體內容,也是引導學生運用程序設計來解決問題的有效途徑。但對于學生而言,程序語法在后續的學習中,因抽象性過強而容易陷入迷惑。為此,利用“Raptor”可視化程序設計流程軟件,將程序設計的“思想”與“方法”導入到流程圖中,引導學生從問題的求解思路來理解語法,幫助學生從中激發學習熱情,解決設計難題。突出計算思維的滲透,主要從三方面來體現。一是強調學生對程序設計基本知識的掌握,特別是對于相對繁瑣的程序,從基本概念的掌握學習中,來理解程序設計的思想與方法,學會調試程序;二是注重程序對問題的求解能力,程序設計的目標在于解決問題,而問題的呈現是以抽象化程序代碼形式來表現,因此,要注重對數學模型、算法的優化學習;三是注重創新能力的培養,特別是突出計算思維能力,要從算法思維多樣化上來引導學生多實踐,多感悟。
2 Raptor可視化軟件與程序設計計算思維的協同運用
2.1 明確Raptor的流程圖特色
Raptor作為可視化流程圖工具,其特色表現在三點。一是對于各類圖形符號具有可執行的流程圖,可以實現對程序設計語法的直觀呈現。二是在操作上簡便、快捷,特別是通過拖拽方式對不同圖形符號進行位置優化,以形成完整的流程圖;三是在設計思維上便于掌握和理解。另外,Raptor還能夠提供執行步驟計算與統計,為算法分析、優化提供參考。
2.2 Raptor在算法設計中的應用
計算思維在程序設計中的運用,要遵循“發現問題、分析問題、尋求解決思路、優化設計方案”等流程,并從中來強化計算思維的養成。根據《大學計算機基礎課程教學基本要求》,在引入程序設計教學與Raptor流程軟件時,要遵循教學內容的漸進性,注重計算思維的連貫性,特別是對于新生,由于對程序設計學習好奇心強,要在案例選擇上貼近學生實際,便于學生從中掌握程序設計的算法思路。以“猜數游戲”為例,對于20以內的整數,計算機隨機給出,讓學生進行猜想,正確顯示“Right”,錯誤顯示“Wrong”。在程序設計的算法分析上,一要明確猜數的功能,利用Random隨機函數功能來優化程序結構,便于學生操作;二要對所給出的數字進行判斷,利用Raptor嵌入式選擇結構來判定是大還是?。蝗獙Τ绦虻慕换ピO計,利用循環結構來設計程序的連貫性,直到猜出正確數字為止;四要進行“非數字符號”判斷及處理;五要對猜測次數進行限定,利用Raptor嵌套循環結構來實現最大次數限定;六要對猜測過程數據進行存儲,利用數組知識來完成;七要對猜測的數字進行二分處理,利用二分查找方法來完成。
當然,在選擇程序設計任務時,結合學生的程序認知能力和水平,對程序設計實踐要進行層次劃分,讓學生結合自我能力來完成不同的設計題目。如雞兔同籠問題、判定閏年的算法,100以內的奇偶數之和,水仙花數、出售金魚等算法題,還有一些難度高的如抓肇事司機,打印等腰三角形,字母出現頻率統計等。通過對不同算法程序設計實踐知識的運用,讓學生從問題的抽象思維到程序設計的基本流程中,在倡導多樣化算法思維實踐與鍛煉中,實現對不同問題的不同理解與運用,來分析不同解法的優缺點,來不斷改進和完善程序設計。
2.3 注重教學方法的創新
程序設計課程教學方法的運用,與學生計算思維的培養是相關的,對于教學法的創新,需要從課堂知識講授、動手設計程序、課下教學輔導等方面來綜合。借助于Raptor可視化設計環境,其支持Novice、Intermedia和Object Oriented三種模式,分別為初級程序設計、中級程序設計和面向UML(統一建模語言)對象的程序設計,可以實現多數基本程序設計與算法設計的編程需要。為了對Raptor進行教學方法的創新與驗證,以1000以內的完全數算法設計為例,該程序設計基本上分為9個步驟。如第一步為Loop循環程序,將n從2到1000進行調用,并進行判斷是否大于1000;第二步當n小于1000時,將s作為因子的和;第三步以變量j進行Loop循環設計,當j從2到n/2時,進行取值判定;……如此以來,對于本算法的程序設計,在系統執行與運算上,需要進行百萬次運算比較,增加了運算成本。通過對本算法的分析,求解1000以內的完全數具有明顯的步驟顯示性,可以將之應有到Raptor流程圖設計中,來分析其算法的復雜度,進而可以估算出本程序的運算次數達到1124955.5次。在此基礎上,通過引入歐拉完全數獲得公式,當滿足條件2P-1時判定為質數,則(2P-1)×2P-1的結果即是完全數。對上述算法程序設計進行優化,可以在相同的數據范圍內,只需要執行252次算法表達式,即可得到相同的結果,而與之前的算法相比,其計算效率提升近4000倍。由此可見,對于一般的程序設計來說,其復雜性可以通過Raptor流程圖設計進行檢驗和分析,并從計算思維上利用可視化軟件來實現改進和優化,在這個過程中,學生可以從算法復雜性估算、驗證和優化中來激活計算思維,來提升計算思維能力。
3 結語
利用Raptor可視化程序設計工具與程序設計課程的融合,便于將抽象的程序設計教學進行可視化呈現,突出了教學直觀性,引導學生辨析程序設計的優缺點,克服程序設計的迷惑與恐懼,增強了學生的學習興趣。Raptor可視化工具的運用,在激發學生程序設計計算思維上發揮了積極作用,一方面利用流程圖來模擬程序設計,另一方面從問題的提出、求解、探討、設計中來實現編程知識的內化,強調學生計算思維的培養,提升學生的編程水平。
參考文獻
[1]劉瓊,史諾,Tran Van Cuong.基于計算思維視角的程序設計教學改革研究[J].自動化與儀器儀表,2015(12).
[2]楊飛,陳浩強,劉方.基于計算思維的醫學計算機基礎教學探索[J].中國繼續醫學教育,2016(24).
作者單位
商丘醫學高等專科學校 河南省商丘市 476100