朱紅 珂璟
摘要:針對C++程序設計課程的教學現(xiàn)狀,分析傳統(tǒng)教學方法所面臨的問題,提出設計制作基于FLASH的C++程序設計課程的交互式多媒體課件,介紹課件的制作技術與方法,說明課件的應用情況和效果。
關鍵詞: FLASH;多媒體課件;C++程序設計
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2018)26-0183-02
1 多媒體課件的開發(fā)應用是現(xiàn)代化教育的發(fā)展趨勢
隨著“互聯(lián)網(wǎng)+”技術的不斷深入,“互聯(lián)網(wǎng)+教育”作為一種新的教育形式,在教育領域的各個方面都得到了廣泛的應用。利用多媒體交互式技術替代傳統(tǒng)的教學模式也成為教學改革的重點。多媒體課件將文字、圖像、視頻和聲音等因素融合成一體,增強學生的感性認識,增加知識的直觀性和趣味性,促進學生的學習積極性,從而提升課堂的教學質量[1]。
隨著人們生活節(jié)奏的加快和科學技術的發(fā)展,人們的學習方式也在不斷的發(fā)生變化,以視頻為載體的“微課”受到了廣泛的歡迎。微課程的教學內(nèi)容都是選擇比較小的知識點或教學活動中的某個教學環(huán)節(jié),具體到C++程序設計這門課程,也就是課程教學中的重點、難點和算法等相關的知識點。這些內(nèi)容以前都是以PPT的形式展示的,隨著計算機技術與網(wǎng)絡技術的日益發(fā)展和成熟,刻板的靜態(tài)幻燈片已不能滿足需求,而基于FALSH的交互式多媒體課件具有豐富的表現(xiàn)力,良好的交互性和共享性,能夠形成立體的信息交流和互動,在制作“微課”方面具有獨特的優(yōu)勢,真正體現(xiàn)“教師是主導,學生是主體”的教學理念[2]。
2 制作C++程序設計多媒體課件
2.1 FLASH課件的特點
在C++程序設計的教學中,由于知識點眾多,尤其是指針和面向對象部分概念抽象,所以這門課程一直存在課時量少,課容量大,教師講課速度過快等問題;學生普遍反映課程內(nèi)容枯燥,隨堂掌握知識程度低,語法難懂,算法難以理解[3]。基于FLASH制作的多媒體課件,可以制作多種動畫效果,具有豐富的表現(xiàn)形式,同時還有良好的互動性;文件體積小,演示方便,即適合作為課件在課堂上講解,也適合作為微課在課前預習和課后復習,滿足學生的各種學習需求。
2.2 FLASH課件制作的技術和方法
C++程序設計共有15個章節(jié),教學內(nèi)容從數(shù)據(jù)類型、函數(shù)、數(shù)組、指針到面向對象的類的封裝、繼承、多態(tài)等,所涉及的語法句式繁雜,知識點眾多。雖然每個章節(jié)的內(nèi)容不同,但是由于講述的是算法語言,所以大部分章節(jié)課件的設計可以分為以下4個部分。
1) 概念解釋(語法描述)。
對于初次學習算法語言的學生來說,很多程序語言的概念是抽象的,比如數(shù)據(jù)類型,靜態(tài)變量等,這些概念用文字、圖像這些靜態(tài)元素很難直觀地表現(xiàn)出來。在多媒體課件中,可以充分利用FLASH的色彩、動畫優(yōu)勢,結合具體的語句、內(nèi)存環(huán)境進行描述,以達到提高學生的學習興趣,降低學習難度的目的。例如講解“數(shù)據(jù)類型”這個概念,就從動畫演示計算機的工程過程開始,引出CPU對內(nèi)存的讀寫過程,重點演示數(shù)據(jù)在內(nèi)存中均是以二進制的形式存在的,如果不事先指定數(shù)據(jù)類型,計算機本身是無法正確地識別數(shù)據(jù)的。這樣,就解決了為什么在算法語言中所有數(shù)據(jù)都要聲明數(shù)據(jù)類型,而這也是初學算法語言的學生所面臨的第一個難點,因為在非計算機的環(huán)境中是不需要這個步驟的。
2) 程序分析。
所有的語法、算法都是與具體的程序有關的,而程序的運行過程是在計算機內(nèi)部,學生是無法看見的,PPT課件只能演示靜態(tài)的圖形,無法實時跟蹤程序的運行過程。因此,在傳統(tǒng)的教學中,講解程序時,教師都要在黑板上實時畫一些內(nèi)存結構,演示數(shù)據(jù)的交換、計算過程,由于課堂時間和環(huán)境的限制,這種講解基本上都是簡單、概括性的,無法進行詳細、深入的跟蹤和演示。
交互性的FLASH多媒體動畫課件很好地解決了這個問題,在C++程序設計的課件中,有大量的程序實時演示,為了保持整個課件的風格上的一致,課件中都采用了相類似的方法處理程序的運行問題。在時間軸上,主要分5層展示,分別是背景層、文字層、程序層、運行層和輸出層。分為靜態(tài)和動態(tài)兩個部分。
① 靜態(tài)部分。背景層和文字層是靜態(tài)的,即在整個程序的運行過程中是不變化的。背景層表現(xiàn)的是標題和程序與說明的背景模板,將程序與說明的背景疊加在課件的原始背景之上,相當于在教室掛了個黑板講解程序,吸引學生的注意力;文字層表現(xiàn)的是靜態(tài)的文字,在這一部分中就是題目和源程序。
② 動態(tài)部分。程序層、運行層和輸出層是屬于動態(tài)部分的。這三層都是用關鍵幀設置的。動畫是分幀播放的,先運行程序層的關鍵幀,其后是運行層的關鍵幀,如果有輸出,再運行輸出層的關鍵幀,之后又是程序層→運行層→輸出層這樣反復循環(huán)播放,直至程序運行結束。
程序層是程序每條語句動態(tài)的運行過程,具體的制作方法是將每一條運行的語句拷貝下來,與文字層的位置重合,然后將這條語句轉換成一個影片剪輯,在影片剪輯中采用了遮罩的技術,用一個箭頭劃過要運行的語句,運行前后語句的背景和文字的顏色均不同,這樣執(zhí)行這個影片剪輯的時候就可以很清楚地看到程序運行的當前位置;運行層是根據(jù)具體程序的執(zhí)行情況,給出程序動態(tài)的運行過程,比如數(shù)據(jù)的走向,指針的位置變化,存儲器空間的變化過程等;輸出層是運行輸出語句后當前屏幕的實時輸出狀況。
把每幀中具體的動畫制作成影片剪輯屬性的元件,放置在相應的幀上,這樣播放到該幀時,動畫就自動開始播放。課件采用了交互式的演示方式,每一條語句都是由按鈕控件控制向上或向下執(zhí)行,這樣可以根據(jù)實際需要控制演示時間,也可以很方便地制作成小視頻,形成“微課”的形式自動播放。圖1所示為“指針與一維數(shù)組”這一節(jié)中講解演示例1程序時的課件播放效果。
圖1 程序分析部分動畫演示
3) 算法演示。
C++程序設計中涉及到大量的算法,用程序設計語言編寫的算法與數(shù)學、物理中的解決問題的方法還是有很大的差別的,需要對計算機的運行、存儲機制有全面的了解,熟悉基本數(shù)據(jù)類型、自定義數(shù)據(jù)類型在計算機中是如何存儲、賦值的,熟悉地址、數(shù)據(jù)在內(nèi)存和CPU中的作用等,而所有這些又都是在計算機內(nèi)部進行的活動,學生是無法看見的,因此算法的講解和解釋一直是程序設計類語言教學中的難點。
針對教學活動中出現(xiàn)的大量的有關算法的問題,我們歸納總結了C++程序設計課程中應該掌握的各類算法,建立了一個由flash動畫制作的算法資源庫。對每一類算法,用動畫詳細演示了算法實現(xiàn)的過程、步驟,對實現(xiàn)算法的程序也給出了詳細地講解。每種算法獨立成章,即可以在課堂上進行講解,又可以供學生在課前課后反復觀看。由于動畫生動、形象,又與程序同步,實時地描述了程序在計算機及存儲器中運行的過程,因此對學生而言,有較深刻的印象,達到了很好的效果。
例如,“將一個數(shù)按次序插入到已排好序的數(shù)組中”是算法語言中的一個經(jīng)典問題,在多媒體課件中,用動畫的方式來動態(tài)地演示算法是如何實現(xiàn)的,具體步驟見圖2。首先從后向前遍歷數(shù)組,判斷數(shù)組元素是否大于要插入的數(shù)據(jù)7,當大于要插入的數(shù)據(jù)時,數(shù)組元素依次向后覆蓋(圖2.a,2.b),直到遍歷到不滿足條件為止。這時,將數(shù)據(jù)插入到當前數(shù)據(jù)元素的下一個位置處(圖2.c)。雖然用連環(huán)畫的形式也可以將算法過程描述出來,但是用動畫的方式使得學生掌握算法的過程會更加連貫和直觀。
圖2 將數(shù)據(jù)7插入有序數(shù)組的動畫演示
4) 程序設計。
學習算法語言的最終目的就是設計程序,因此程序設計的思路與方法也是初學者的難點。在程序設計這個環(huán)節(jié),多媒體課件采用的是“任務提出——算法分析——程序說明”這三個步驟,在算法分析中,可以根據(jù)具體要求演示程序的輸入輸出過程,使學生對要完成的任務有一個直觀的認識,有助于培養(yǎng)學生建立邏輯思維的認知和能力。
在C++程序設計多媒體課件中,為了增強交互性,每一章都有“導航”菜單,方便跳轉到不同的小節(jié);在每一節(jié)中,利用鼠標右鍵的功能制作了快捷導航菜單,可以跳轉到具體的概念說明或例題等知識點的位置,方便教師講解;同時,還增加了“畫筆”的功能,可以拖動屏幕下方的畫筆在課件上標注重點,添加注釋。
3 C++程序設計多媒體課件的應用
由于FLASH軟件動畫功能靈活多樣,具有豐富的色彩、形狀表現(xiàn)力,且交互性強,特別是利用FLASH技術制作的文件因為占用的數(shù)據(jù)空間比較小,適合通過網(wǎng)絡的渠道進行上傳和大范圍的傳播,因此,基于FLASH制作的多媒體課件比傳統(tǒng)的PPT課件具有明顯的優(yōu)勢。
交互式C++程序設計多媒體課件以章節(jié)的順序完成了整個課程全部內(nèi)容的制作,在教學應用上主要體現(xiàn)在以下3個方面:
1) 科學組織實現(xiàn)碎片化的學習方式。
碎片化學習是大數(shù)據(jù)時代出現(xiàn)的一種新型學習方式,其特點是利用移動終端,在零散時間內(nèi)快速獲取信息。碎片化的學習更適合現(xiàn)代人快節(jié)奏的生活方式[4]。將多媒體課件中的概念解釋(語法描述)經(jīng)過適當?shù)呐湟糁v解,并根據(jù)具體內(nèi)容提出目標和任務,通過錄屏的方式制作成5~10分鐘的“微課”,在課前分發(fā)給學生,指導學生觀看,自主學習。因為課件本身就是視頻的形式,且在制作時已充分考慮了趣味性和直觀性,這樣就使得“微課”的制作簡單可行。
2) 豐富課堂形式,根據(jù)教學內(nèi)容實現(xiàn)多種教學方式的混合教學。
無論是演示教學法、任務驅動教學法、情景教學法或討論教學法,基于FLASH制作的多媒體課件都比傳統(tǒng)的PPT課件更有表現(xiàn)力和感染力。例如在講授循環(huán)結構這一節(jié)的內(nèi)容時,就是用的情景教學法,用一個小豬吃食物長大的例子來描述前一時刻的小豬和吃了食物后的同一小豬的關系,從而推導出循環(huán)體:小豬+食物→小豬。通過這些生動有趣的例子,給學生留下了深刻的印象,進而幫助他們理解循環(huán)迭代的本質。
3) 導航功能齊全,互動性好,支持學生自主學習。
基于FLASH的交互式C++程序設計多媒體課件具有功能全面的導航系統(tǒng),可以輕松地定位到某一知識點或具體的例題,還可以操縱按鈕,進行回看或快進,適合學生在課后根據(jù)自身的學習進度進行自主學習,更好地理解課程的難點和重點。
經(jīng)過一年的教學實踐,采用C++程序設計多媒體課件替代PPT課件,取得了較好的效果,學生期末考試的優(yōu)秀率由11%上升到19%。在C++程序設計課程結束后,有1學分的實踐課程:C++課程設計,內(nèi)容是學生自己改編一個大型的程序,在本年度的C++課程設計中,取得的效果更加矚目,其中優(yōu)良率占70%,優(yōu)秀率由10%上升到20%,說明多媒體課件在培養(yǎng)學生的邏輯思維能力方面具有一定的優(yōu)勢。
4 結束語
綜上所述,交互式C++程序設計多媒體課件結合了長期的實踐教學經(jīng)驗,考慮了初學者的思維理念和實際情況,充分利用了FLASH動畫的特點,直觀展示了數(shù)據(jù)與程序在計算機內(nèi)部的存儲、運行情況,模擬了鍵盤、顯示器等外設與計算機內(nèi)存的輸入輸出過程,生動形象地講述了面向對象的程序設計的各種概念和算法。尤其是“程序分析”和“算法演示”部分,應用動畫實時跟蹤程序運行的每條語句和算法每個步驟運行的結果,不用教師再進行另外的畫圖講解,解決了本課程課時量少與課容量大的矛盾,有效地吸引學生視線,調(diào)動了學習興趣,提高了學習能力。
參考文獻:
[1] 黃娟. FLASH交互式課件的設計與制作:以“計算機應用基礎”課程課件設計為例[J].電腦知識與技術,2018(3):208-209.
[2] 程曄.基于“任務-過程”的FLASH交互式課件開發(fā)與運用:以“國際貨運代理實務”課程實踐為例[J].現(xiàn)代商貿(mào)工業(yè),2017(34):177-178.
[3] 李雪飛,李晶,余琍,等. 面向對象程序設計類課程實踐教學改革[J].計算機教育,2017(7):118-121.
[4] 吳仁英,王坦. 翻轉課堂:教師面臨的現(xiàn)實挑戰(zhàn)及因應策略[J]. 教育研究,2017(2):112-121.
[通聯(lián)編輯:王力]