林溫陽
Visual Basic(以下簡稱VB)語言程序設計教學概念多、算法繁、涉及面廣,特別是循環結構語句算法部分,傳統課堂枯燥乏味的語言文字講授和PPT演示方法,很難直觀地再現其動態性與邏輯性,讓人感覺抽象不易理解,這給初學程序設計的高中生帶來了很大障礙。筆者在教學實踐中嘗試采用畫流程圖(或NS圖)、動畫模擬、繪制二維解析圖、構建思維模型等可視化教學策略,讓抽象概念、程序執行過程和算法設計可視化,較好地培養了學生的計算思維能力。
● 繪制VB循環結構流程圖(或NS圖)
VB循環結構分計數型和條件型兩類,筆者繪制流程圖(或NS圖),以表格形式綜合類比For…Next、Do…Loop、While…Wend三種循環語句形式的基本特征和適用范圍,運用奧蘇貝爾提出的先行組織者教學策略,讓學生在彈性課堂預設的情境中形成一個圖式化思維表象,提供富有意義的學習材料便于學習者利用已有認知圖式同化新知。[1]
1.For…Next語句
“For循環”屬于計數型循環,通過在已知循環次數前提下執行循環體,循環體的重復執行次數是由循環控制變量的初值、終值和步長值(可以是正值或負值)共同決定的。For循環語句格式、流程圖、NS圖如表1所示。
2.Do…Loop語句
“Do循環”屬于條件型循環,一般適用于解決無法預知循環次數的問題,其構造形式相對靈活。既有指定循環進入條件的“While當型循環”,又有指定循環終止條件的“Until直到型循環”。按照判斷循環條件的順序不同,又有前測型循環結構和后測型循環結構之分。前者是先判定條件,后者是先執行循環體語句,或循環一次后再來判定條件,根據條件決定是否繼續執行循環體。Do循環語句格式、流程圖、NS圖如上頁表2所示。
3.While…Wend語句
“While循環”屬于條件型循環,若條件判斷滿足時執行循環體,否則跳出循環體直接執行Wend之后的語句,與前述Do While…Loop語句相似。While循環語句因為沒有自動修改循環條件的功能,在其循環體內通常必須有改變循環控制條件的語句,否則會致使循環無法正常結束,從而陷入“死循環”。While循環語句格式、流程圖、NS圖如表3所示。
● 動畫模擬VB循環程序執行
循環語句既是程序設計學習的一大難點,同時也是其魅力所在。借助“程序框圖”學生掌握了循環結構的基本概念,但對循環程序執行過程的理解,剛開始時往往會迷失在一大段令人費解的程序代碼中,尤其是面對像嵌套、遞歸和迭代等復雜的循環結構問題(如字符圖形打印、冒泡排序、漢諾塔問題等體現循環思想的經典題型),常常因缺乏相關生活經驗,又無法進行現場觀察體驗,難以發揮想象力和邏輯推理能力,致使無法有效地將新知與已有認知結構中的舊知建立起實質性聯系,從而給學習帶來很大障礙。[2]即便教材中有大篇幅的文字描述和靜態圖解,大多數學生看過之后,還是懵懵懂懂,無法正確判讀VB程序的源代碼。
澳大利亞認知心理學家約翰·斯威勒(J.Sweller)提出的認知負荷理論認為,當現有學習材料的復雜性超過學習者的前期知識水平和認知承載能力時,學習就會陷入困境。此時,需要采用越級捷徑式直覺思維方式表征知識單元,引導和幫助學生發展認知。筆者通過動畫視頻模擬及交互式多媒體軟件進行直觀具象的屏幕演示與速度可控的互動模擬操作,從而成功創設仿真體驗式教學情境,這樣學生可以清楚地“看見”程序的復雜算法結構和每一步執行過程,幫助他們從繁瑣的循環步驟中解放出來,集中精力挖掘隱含的循環算法模型,加深對循環問題的本質理解。
● 繪制二維解析表跟蹤程序數據
在VB程序設計循環結構教學中,筆者通過繪制二維解析圖進行數據變換,將VB源代碼映射為數據表,跟蹤程序數據與指令代碼的動態執行過程,校驗VB循環控制變量值的起止閾值與增量變化,實現了程序動態執行過程的可視化。這是讀懂VB程序源代碼的基本方法,也是快速求解VB循環應用問題的基本技巧。
題例:程序運行顯示結果是
。
Private Sub Form_Click()
Dim i as Long
S=1
For i=5 to 8
S=S+1
Next i
Print S
End Sub
題例解析:提取循環控制變量i和因變量S,繪制四象限二維解析表(如表4),按①→②→③→……→⑨順序依次填寫,根據二維解析表可以直觀地看出程序運行結果為5。結合VB單步調試功能,在圖形用戶界面中輸入響應事件的參數,亦可清晰地反映程序執行流程和數據更新變換。[3]
美國著名學者愛德加·戴爾(Edgar Dale)提出的“學習金字塔”理論指出,學習者通過自己動手和同伴互助方式,主動參與、積極有效地發現學習,在定向模仿和練習操作中將內潛性、觀念性的心智技能外顯化,有助于他們由具體到抽象逐步地建立穩定清晰的視動覺。現代心理學研究也表明知識獲取是一個層級式視知覺加工分析的過程,隨著層級的提升它變得越來越具體和精確。[4]為了進一步強化和鞏固學生對循環結構語句的理解,筆者在此安排了兩個變式問題綜合訓練,讓學生在多維進階任務及題型變式訓練中類比分析、逐層推進,學習繪制二維解析表,加深對循環體執行過程和循環變量的理解,從而準確得出循環程序運行結果。
變式一:程序運行輸入274,顯示結果是__________。
Private Sub Form_Click()
Dim i as Long
i=inputbox("請輸入一個正整數")
While i<>0
j=i mod 10
t=t+j
i=i\10
Wend
Print t
End Sub
題例解析:在單重循環中提取循環控制變量i和因變量j、t,使用四象限二維解析表(如表5),得出運行結果為13。
變式二:程序運行顯示結果是
。
Private Sub Form_Click()
Dim i,j,a as Long
for i= 1 to 3
for j= 1 to i
a=a+1
next j
next i
Print i,j,a
End Sub
題例解析:在多重嵌套循環中提取循環控制變量i、j和因變量a,內循環和外循環層次要分清,確保不交叉。使用四象限二維解析表(如表6),得出運行結果為4、4、6。
● 借助直觀思維模型構建知識圖譜
思維導圖作為一款促進思維激發和輔助思維整理的非線性思維視覺化表征工具,它能為學習者將學習過程中原本不可視的思維方法和思考路徑圖式化地清晰呈現出來,從而有效幫助學習者建構主題知識網絡圖譜,理解知識點間的內在聯系。[5]筆者使用如MindManager、FreeMind和Inspiration等思維導圖工具軟件可以輕松專業地繪制樹狀圖、魚骨圖、路徑圖和時間線等主題圖式,呈現學習認知組塊,將學習思維加以可視化地整理提煉、重組展示,以此成功激活學生已有認知圖式和全部感知力,還原思維本性。具體操作步驟如下:①確定主題,運用曼陀羅九宮格法激發頭腦風暴,協同團隊智慧逐級細化直至明析問題要點;②應用關鍵詞、色彩對比、分支圖式等梳理知識間網絡化脈絡關聯,將零散知識加以全景性概括重組;③依托網絡學習平臺虛擬社區,組織學生線上編程作品展示、評價與反思,提升他們主動參與學習的積極性和課堂生成性學習成果的認知度。
筆者結合《VB循環結構》教學內容,繪制思維導圖的重點在于讓學生明白解決哪些類型問題適合采用循環結構算法,以及應當采用哪種循環結構語句來解決問題,讓學生熟練掌握循環結構程序設計的基本思路,從而培養他們的計算思維,使其學會運用計算機科學的基礎概念去求解問題和設計系統。[6]
● 可視化教學效果評價分析
筆者借助基于大數據挖掘技術的可視化教學評價系統,實時準確地將學生自測自評、組評師評的量化評價結果圖形化顯示,并加以指標間趨勢關聯分析,為課堂教學及時提供反饋,幫助師生深入觀察、分析和診斷隱含的教學問題,發掘有益的教學規律,并結合績效支持手段監控學生的課堂學習行為,可整體上調節教學進程,從而達到預定的教學目標。
筆者隨機選擇一個實驗班與一個對照班作為一組獨立樣本數據進行對比實驗及差異評估,經Z檢驗統計法測試顯示兩班學生原本在學習起點和學習能力指標上無顯著性差異。在實驗班教學中應用了可視化教學策略之后,實驗班與對照班學生的整體學習成績對比差異非常顯著,且反映數據離散程度的實驗班學生成績標準差比對照班小(如上圖)。實驗結果評估表明,在VB循環結構教學中應用上述可視化教學策略已取得了良好的教學效果,有利于全體學生的均衡發展。
● 結束語
當前教育領域新媒體新技術廣泛運用,動畫模擬、人機交互、虛擬現實及增強現實(Augmented Reality,簡稱AR)提供了強大技術支撐,它們所帶來的學習體驗讓教學真正進入了“讀圖”和“影像”的視覺時代,在教育教學中應用可視化教學方式越來越受廣大師生歡迎。可視化教學方式在不增加學習者認知負荷的同時,將復雜抽象的概念、原理、過程和方法以圖式化視覺思維模型為表征,通過圖表、圖解、圖形、表格、地圖、列表等道格紐瑟姆(D.Newsom)所概括的靜態信息,以及內容形象、時空連續的視音頻動態信息(如微視頻)圖解承載知識,并直觀地呈現給學生,幫助他們建立整體具象的認知,避免了純文字說教,讓他們能更愉悅、有深度地感知分析、建模解決復雜問題。
參考文獻:
[1]申石磊,季超.Visual Basic程序設計基礎[M].北京:高等教育出版社,2010:119-131.
[2]嚴蔚敏,吳偉民.數據結構[M].第二版.北京:清華大學出版社,2013:48-52.
[3]瞿中,劉玲,熊安萍.計算機科學導論[M].第四版.北京:清華大學出版社,2014:278.
[4]艾森克.認知心理學[M].高定國,譯.第五版.上海:華東師范大學出版社,2009:50-51.
[5]趙國慶.概念圖、思維導圖教學應用的若干重要問題的探討[J].電化教育研究,2012(5):78-84.
[6]周以真.計算思維[J].美國計算機學會通訊,2007(11):33-35.