摘要:提出融入知識(shí)可視化的Python混合式教學(xué)策略,以課程中for循環(huán)應(yīng)用為例,設(shè)計(jì)了富有創(chuàng)意的“天狗食月”動(dòng)畫項(xiàng)目。通過將教學(xué)過程細(xì)分為“學(xué)—析—研—用—?jiǎng)?chuàng)”五個(gè)環(huán)節(jié),巧妙地將可視化工具融入課前、課中、課后的全過程中,不僅實(shí)現(xiàn)了編程邏輯、運(yùn)行過程及效果的可視化動(dòng)態(tài)展示,還為學(xué)生提供了更直觀、更生動(dòng)的學(xué)習(xí)體驗(yàn),為有效培養(yǎng)學(xué)生的計(jì)算思維提供了有力支撐。
關(guān)鍵詞:知識(shí)可視化;程序設(shè)計(jì);教學(xué)設(shè)計(jì)
一、前言
在數(shù)字技術(shù)的推動(dòng)下,當(dāng)今社會(huì)正迅速向“數(shù)字化+智能化”時(shí)代邁進(jìn)?;ヂ?lián)網(wǎng)、大數(shù)據(jù)、云計(jì)算等尖端科技不僅在各行各業(yè)得到深入應(yīng)用,同時(shí)也對(duì)人才的知識(shí)和技能結(jié)構(gòu)提出了新的要求。這種轉(zhuǎn)變促使高校教育改革步伐加快,特別強(qiáng)調(diào)了對(duì)學(xué)生計(jì)算思維和數(shù)字素養(yǎng)的培養(yǎng)。編程語言作為計(jì)算思維的具體體現(xiàn)和學(xué)科交叉融合的紐帶,正逐漸成為一項(xiàng)如同數(shù)學(xué)和語言一樣不可或缺的基礎(chǔ)技能。然而在面向非計(jì)算機(jī)專業(yè)學(xué)生的編程課程教學(xué)中,課程涉及的抽象概念和邏輯對(duì)初學(xué)者而言仍然是一大難題。知識(shí)可視化技術(shù)的出現(xiàn)為課程教學(xué)提供了一種全新的解決思路,它能夠?qū)?fù)雜的知識(shí)以直觀、易理解的方式呈現(xiàn)出來,有助于學(xué)生更好地理解和掌握。
二、研究背景
在數(shù)字技術(shù)推動(dòng)下,社會(huì)對(duì)人才的知識(shí)和技能結(jié)構(gòu)提出了新的要求。高校為響應(yīng)變革,紛紛加快了教育改革的步伐,特別是在編程教育領(lǐng)域。Python作為一種通用編程語言,已逐漸成為培養(yǎng)學(xué)生計(jì)算思維和多學(xué)科融合能力的關(guān)鍵工具。因其簡(jiǎn)潔明了的語法和廣泛的應(yīng)用領(lǐng)域,被越來越多的高校選作編程入門課程的語言。本校信息管理與工程學(xué)院的“程序設(shè)計(jì)語言”課程,同樣選擇以Python為基礎(chǔ)開展混合式教學(xué)。在數(shù)字化教育背景下,教學(xué)研究與改革層出不窮,各種新型教學(xué)模式如移動(dòng)學(xué)習(xí)、微型學(xué)習(xí)等不斷涌現(xiàn)。盡管這些模式各有特色,但在學(xué)習(xí)資源的需求上有許多共同點(diǎn),尤其是注重知識(shí)的視覺呈現(xiàn),通過可視化技術(shù)能夠?qū)⒊橄笾R(shí)轉(zhuǎn)化為易被接受和認(rèn)知的形式[1]?;诖耍n程組對(duì)知識(shí)可視化在課程教學(xué)中的適用性進(jìn)行了深入研究,并實(shí)踐了Python在編程教學(xué)環(huán)節(jié)的具體應(yīng)用策略。
三、知識(shí)可視化在課堂教學(xué)中的實(shí)施現(xiàn)狀
知識(shí)可視化的相關(guān)研究包括知識(shí)可視化的概念由來、實(shí)質(zhì)探討、理論基礎(chǔ)、可視化方法、框架等。2004年,Martin J.Eppler初次對(duì)知識(shí)可視化進(jìn)行定義[2],其定義為“運(yùn)用視覺表征加快知識(shí)在學(xué)習(xí)者之間的傳播,促進(jìn)對(duì)知識(shí)的理解,知識(shí)可視化指所有可以用來傳遞和創(chuàng)新知識(shí)的表征形式”。國(guó)內(nèi)對(duì)此概念的研究多基于此定義進(jìn)行修訂、增補(bǔ)及引用。其中,視覺表征是指學(xué)習(xí)者在主觀能動(dòng)性基礎(chǔ)上,以視覺形式呈現(xiàn)和表達(dá)抽象的、思維的信息[3]。由此可見,視覺表征作為知識(shí)可視化的圖解手段,與知識(shí)可視化有著密不可分的聯(lián)系[4]。
知識(shí)可視化在教育領(lǐng)域的研究大致分為教育學(xué)和信息技術(shù)兩種角度。從教育學(xué)視角出發(fā),知識(shí)可視化有別于傳統(tǒng)教學(xué)方法,更注重學(xué)生學(xué)習(xí)的主動(dòng)性與學(xué)生的課堂體驗(yàn)。從信息技術(shù)的角度分析,知識(shí)可視化表征通過與現(xiàn)代技術(shù)手段的結(jié)合,使復(fù)雜知識(shí)變得更加直觀易懂,從而在教學(xué)過程中發(fā)揮重要的輔助作用。例如,黃欣等學(xué)者設(shè)計(jì)了計(jì)算思維的課程教學(xué)可視化模型,并以此為基礎(chǔ)探討在數(shù)學(xué)課程中如何配備動(dòng)態(tài)軟件以增強(qiáng)教學(xué)效果,完善知識(shí)體系的教學(xué)策略[5]。胡玉嬌對(duì)傳統(tǒng)翻轉(zhuǎn)課堂教學(xué)模型進(jìn)行了優(yōu)化,該模型以知識(shí)可視化為基礎(chǔ),并在基礎(chǔ)課程的設(shè)計(jì)與開發(fā)中進(jìn)行了實(shí)際應(yīng)用和驗(yàn)證[6]。于金萍則通過構(gòu)建知識(shí)可視化教學(xué)模型并進(jìn)行教學(xué)實(shí)驗(yàn),深入探討了此模型在提升學(xué)生思維能力方面的積極作用[7]。此類研究多根據(jù)不同課程特性,精心挑選適用的可視化工具,同時(shí)結(jié)合實(shí)際課堂教學(xué)案例進(jìn)行展示。由此形成的教學(xué)模式不僅具有一定的普適性,還易于在不同教學(xué)環(huán)境中推廣,因此逐漸成為該領(lǐng)域內(nèi)的研究熱點(diǎn)和發(fā)展趨勢(shì)。
在此基礎(chǔ)上,課程團(tuán)隊(duì)進(jìn)一步聚焦于Python課程的教學(xué)改革。教育數(shù)字化轉(zhuǎn)型使得教師能夠以更便捷的形式將更多類型的教學(xué)資源提供給學(xué)生,但數(shù)量的增長(zhǎng)并不等于質(zhì)量的提升。特別是針對(duì)Python課程教學(xué),單純基于語法、代碼解析的文檔和視頻資源往往無法將其中理論性、抽象性強(qiáng)的知識(shí)具體化、形象化、結(jié)構(gòu)化。由此,“程序設(shè)計(jì)語言”課程建設(shè)過程中采用了多種可視化工具,將其融入混合式教學(xué)中,實(shí)現(xiàn)了對(duì)編程知識(shí)的再加工,使其更加易于理解和吸收。同時(shí)充分利用數(shù)字資源顆粒細(xì)小、呈現(xiàn)生動(dòng)、鏈接互通的特性,促進(jìn)教學(xué)效果的最優(yōu)化。
四、融合知識(shí)可視化的Python混合式教學(xué)策略
課程建設(shè)中基于知識(shí)可視化視角進(jìn)行教學(xué)設(shè)計(jì),總體框架如圖1所示,在完成前端分析的基礎(chǔ)上,使用超星及PTA平臺(tái)進(jìn)行混合式教學(xué)。教學(xué)過程劃分為“學(xué)—析—研—用—?jiǎng)?chuàng)”五個(gè)階段,并通過合適的知識(shí)可視化表征工具對(duì)Python教學(xué)流程進(jìn)行優(yōu)化,涉及工具包括可視化算法設(shè)計(jì)軟件Raptor,代碼執(zhí)行過程可視化展示工具Python Tutor,允許用戶通過編程創(chuàng)建動(dòng)態(tài)、交互式視覺作品的Processing軟件,為培養(yǎng)學(xué)生計(jì)算思維提供更為優(yōu)質(zhì)的內(nèi)容載體。在合理的可視化教學(xué)原則基礎(chǔ)上提升學(xué)生的學(xué)習(xí)興趣,幫助學(xué)生主動(dòng)完成知識(shí)的構(gòu)建。最后基于課堂效果及信息化平臺(tái)的教學(xué)活動(dòng)數(shù)據(jù)統(tǒng)計(jì),形成教學(xué)效果的可視化反饋。
五、知識(shí)可視化教學(xué)案例的設(shè)計(jì)與實(shí)施——以“天狗食月”動(dòng)畫項(xiàng)目為例
在Python項(xiàng)目教學(xué)中,相較于文本輸出,動(dòng)畫效果更易于激發(fā)學(xué)生的興趣。在較多課程中會(huì)選擇Turtle或者Pygame模塊進(jìn)行動(dòng)畫類的實(shí)踐項(xiàng)目設(shè)計(jì),但前者在實(shí)現(xiàn)復(fù)雜動(dòng)畫時(shí)代碼量會(huì)大幅增加,而后者則涉及較多的面向?qū)ο缶幊谈拍睿焕谡n程前期單章知識(shí)點(diǎn)的實(shí)踐。因此,為了幫助學(xué)生更好地理解流程控制語句中for循環(huán)的應(yīng)用,課程中選擇采用Processing Python模式設(shè)計(jì)“天狗食月”動(dòng)畫項(xiàng)目,此項(xiàng)目在控制編程難度的同時(shí)可實(shí)現(xiàn)較為有趣的動(dòng)畫效果,縮短學(xué)生從入門到反饋的時(shí)間間隔。
(一)學(xué)情分析
for循環(huán)作為編程的基礎(chǔ)控制結(jié)構(gòu)之一,是數(shù)據(jù)處理中遍歷操作最直接和有效的方式,對(duì)于學(xué)生掌握迭代和循環(huán)的概念至關(guān)重要。為幫助學(xué)生順利跨越從順序結(jié)構(gòu)到循環(huán)結(jié)構(gòu)的認(rèn)知門檻,課程中將采用“學(xué)—析—研—用—?jiǎng)?chuàng)”五階遞進(jìn)式教學(xué)方法,通過實(shí)現(xiàn)和優(yōu)化“天狗食月”動(dòng)畫效果將for循環(huán)的知識(shí)點(diǎn)融入其中,使學(xué)生感受中國(guó)傳統(tǒng)文化符號(hào)“月”的編程實(shí)現(xiàn)過程,從而激發(fā)學(xué)習(xí)熱情。
(二)教學(xué)目標(biāo)
1.知識(shí)目標(biāo)
掌握for循環(huán)的基本語法和結(jié)構(gòu),熟練運(yùn)用range()函數(shù)控制循環(huán)次數(shù)。深入理解draw()函數(shù)在Processing中的循環(huán)執(zhí)行機(jī)制,靈活應(yīng)用該函數(shù)進(jìn)行圖形繪制和動(dòng)畫設(shè)計(jì)。
2.能力目標(biāo)
能夠?qū)⒀h(huán)結(jié)構(gòu)等流程控制語句應(yīng)用于項(xiàng)目中,精準(zhǔn)控制動(dòng)畫中圖形的運(yùn)動(dòng)軌跡,對(duì)代碼進(jìn)行分析和優(yōu)化,改善動(dòng)畫視覺效果,提升綜合應(yīng)用能力。
3.素質(zhì)目標(biāo)
通過引入“天狗食月”的歷史和文化背景,使學(xué)生進(jìn)一步理解和尊重中國(guó)古代文化,并從古人觀測(cè)天狗食月的故事中汲取對(duì)自然現(xiàn)象的好奇心和探索精神。鼓勵(lì)學(xué)生以編程的方式重現(xiàn)這一自然現(xiàn)象,從而培養(yǎng)學(xué)生科學(xué)探索的精神和創(chuàng)新思維的能力。
(三)教學(xué)重點(diǎn)及難點(diǎn)
1.教學(xué)重點(diǎn)
通過編程實(shí)踐項(xiàng)目使學(xué)生掌握for循環(huán)的基本語法和結(jié)構(gòu),學(xué)會(huì)使用range()函數(shù)生成迭代序列,控制for循環(huán)的次數(shù)。
2.教學(xué)難點(diǎn)
for循環(huán)的執(zhí)行邏輯相較于前期課程內(nèi)容呈現(xiàn)出更高的抽象性,課程教學(xué)中將采用可視化教學(xué)工具,以直觀、清晰的方式展現(xiàn)編程邏輯與代碼運(yùn)行過程,從而幫助學(xué)生更好地把握for循環(huán)及range()函數(shù)的核心概念與實(shí)踐應(yīng)用。
(四)教學(xué)過程與教學(xué)活動(dòng)設(shè)計(jì)
項(xiàng)目的教學(xué)過程劃分為“學(xué)—析—研—用—?jiǎng)?chuàng)”五個(gè)階段,確保學(xué)生能夠分階段、有層次地掌握for循環(huán)的核心知識(shí)點(diǎn)。
1.自主預(yù)習(xí),啟智學(xué)
在課前準(zhǔn)備階段,通過超星學(xué)習(xí)通平臺(tái)發(fā)布預(yù)習(xí)任務(wù),引導(dǎo)學(xué)生初步了解for循環(huán)的基本概念,并對(duì)項(xiàng)目的預(yù)期要求有初步了解。學(xué)生需完成相關(guān)微課觀看及配套測(cè)試,以便教師評(píng)估學(xué)生對(duì)for循環(huán)的理解程度。為了進(jìn)一步加深學(xué)生對(duì)for循環(huán)運(yùn)行邏輯的理解,要求學(xué)生使用Raptor軟件繪制一個(gè)包含循環(huán)結(jié)構(gòu)的流程圖,并在線提交作業(yè)。
2.教師點(diǎn)撥,明理析
在課中,教師首先以中國(guó)古典詩詞中“月”的意象為引,巧妙地過渡到編程主題。指導(dǎo)學(xué)生在Processing Python模式下調(diào)用標(biāo)準(zhǔn)庫中的circle()函數(shù),通過詳細(xì)講解如何繪制月亮圖形,深入剖析圖形大小、位置、顏色等參數(shù)的設(shè)置技巧。在掌握基礎(chǔ)繪圖技能后,進(jìn)一步引導(dǎo)學(xué)生探索如何為月亮增添光暈效果,從而自然引入for循環(huán)的概念和用法,使學(xué)生在實(shí)踐中深化對(duì)循環(huán)結(jié)構(gòu)編程邏輯的理解與應(yīng)用。
3.師生互動(dòng),共思研
在此環(huán)節(jié)中,首先根據(jù)學(xué)生課前預(yù)習(xí)任務(wù)中所提交的流程圖,幫助學(xué)生系統(tǒng)梳理循環(huán)的邏輯和運(yùn)行流程。隨后與學(xué)生共同探討如何利用for循環(huán)實(shí)現(xiàn)月光光暈的繪制效果,引出for循環(huán)結(jié)合range()函數(shù)精確設(shè)定循環(huán)次數(shù)的方法。為了讓學(xué)生更直觀地理解循環(huán)的運(yùn)行機(jī)制,課程中會(huì)運(yùn)用Raptor和Python Tutor工具運(yùn)行并展示簡(jiǎn)化的月光光暈繪制代碼(如圖2所示),從而將循環(huán)過程可視化。通過對(duì)比while循環(huán)和for循環(huán)的區(qū)別,幫助學(xué)生更清晰地理解在此項(xiàng)目中選擇for循環(huán)的原因。
4.實(shí)操演練,致用編
在編程實(shí)踐環(huán)節(jié),首先,學(xué)生需根據(jù)提示在原有圖形基礎(chǔ)上,通過輪廓疊加技術(shù)來創(chuàng)造月光光暈效果,同時(shí)自主調(diào)試圖形的大小、透明度和疊加次數(shù)以達(dá)到理想效果。其次,課程通過介紹中國(guó)古代天文學(xué)中觀月的歷史,引出了月食動(dòng)畫的制作要求。學(xué)生需在已有靜態(tài)繪圖的基礎(chǔ)上,運(yùn)用draw()函數(shù)在Processing中的循環(huán)執(zhí)行機(jī)制及分支結(jié)構(gòu)實(shí)現(xiàn)陰影的移動(dòng),從而生動(dòng)呈現(xiàn)天狗食月動(dòng)畫場(chǎng)景。
5.課后拓展,探索創(chuàng)
在已成功實(shí)現(xiàn)月食中初虧到食甚的動(dòng)畫效果的基礎(chǔ)上,鼓勵(lì)學(xué)生課后繼續(xù)思考并嘗試實(shí)現(xiàn)生光到復(fù)原的過程,并在編程實(shí)踐中融入更多藝術(shù)元素,創(chuàng)造出既符合科學(xué)原理又具有美感的作品,以此提升其獨(dú)立思考與創(chuàng)新能力。同時(shí),為了鞏固本堂課所學(xué)的for循環(huán)知識(shí)點(diǎn),學(xué)生需完成相關(guān)的在線作業(yè),進(jìn)一步加強(qiáng)理論與實(shí)踐的結(jié)合。
(五)課程教學(xué)效果
在課程教學(xué)過程中,充分利用了超星及PTA平臺(tái),對(duì)學(xué)生的學(xué)習(xí)過程數(shù)據(jù)進(jìn)行了全面的監(jiān)測(cè)和分析,這些數(shù)據(jù)為課程提供了多維的教學(xué)反饋。在本講編程實(shí)踐項(xiàng)目中,學(xué)生的預(yù)習(xí)任務(wù)完成度和正確率均達(dá)到了90%以上,課后作業(yè)的平均分在80分以上,由此可見在知識(shí)可視化工具的輔助下,學(xué)生對(duì)課程內(nèi)容學(xué)習(xí)的積極態(tài)度和較高的掌握程度。
基于作業(yè)統(tǒng)計(jì)數(shù)據(jù)發(fā)現(xiàn),學(xué)生在編程代碼書寫方面仍存在一定的挑戰(zhàn)。特別是在程序填空題和編程題上,學(xué)生的得分率較低。這反映出盡管學(xué)生已經(jīng)較好地理解了for循環(huán)的基礎(chǔ)語法和應(yīng)用,但在將理論知識(shí)轉(zhuǎn)化為實(shí)際操作時(shí)仍存在一定的困難。針對(duì)課后作業(yè)中錯(cuò)誤率較高的習(xí)題,課程組會(huì)基于Raptor和Python Tutor可視化工具錄制講解視頻,通過詳細(xì)的步驟演示和深入解析,使學(xué)生能夠更加直觀地理解代碼的執(zhí)行過程,實(shí)現(xiàn)更優(yōu)質(zhì)的復(fù)習(xí)效果。
六、結(jié)語
通過以Python課程中for循環(huán)的應(yīng)用為例,結(jié)合知識(shí)可視化工具,詳細(xì)闡述了“天狗食月”動(dòng)畫繪制項(xiàng)目的設(shè)計(jì)與實(shí)施過程。該項(xiàng)目采用Processing Python模式進(jìn)行編程,通過多樣化的可視化手段,動(dòng)態(tài)地呈現(xiàn)了代碼流程、運(yùn)行過程及最終效果,從而將抽象的編程知識(shí)具象化,不僅降低了非計(jì)算機(jī)專業(yè)學(xué)生學(xué)習(xí)Python的難度,還為他們?cè)诰幊倘腴T階段打下了堅(jiān)實(shí)基礎(chǔ)。未來筆者將基于教育數(shù)字化轉(zhuǎn)型的契機(jī),繼續(xù)探索AIGC技術(shù)與知識(shí)可視化工具的深度融合,以期能構(gòu)建出更加智能化、個(gè)性化的教學(xué)模式,進(jìn)一步推動(dòng)編程教育的創(chuàng)新與發(fā)展。
參考文獻(xiàn)
[1]楊嘉璇,陳曉潔.基于傳播學(xué)視角對(duì)知識(shí)可視化的概念梳理及界定[J].東南傳播,2023(07):15-19.
[2]Eppler, M.J.amp;Burkhard, R.A. Knowledge Visualization. Towards a new discipline and its field of application,ICA Working Dissertation,2/2004[R].University of Lugano.in Schwam,D.G(Ed) Encyclopedia of Knowledge Management.ldea Group,2004.
[3]呂寶寶.知識(shí)可視化視覺表征在數(shù)學(xué)活動(dòng)教學(xué)中的應(yīng)用研究[C]//中國(guó)管理科學(xué)研究院教育科學(xué)研究所.2022教育教學(xué)探究網(wǎng)絡(luò)論壇論文集(三),2022:621-623.
[4]張莉.知識(shí)可視化圖形設(shè)計(jì)研究[D].武漢:華中師范大學(xué),2020.
[5]黃欣,王林峰,趙敏.基于計(jì)算思維的課程教學(xué)可視化設(shè)計(jì)與實(shí)踐[J].集成電路應(yīng)用,2024,41(01):112-113.
[6]胡玉嬌.基于翻轉(zhuǎn)課堂的知識(shí)可視化案例教學(xué)[D].廣州:廣東技術(shù)師范大學(xué),2019.
[7]于金萍.知識(shí)可視化視覺表征在數(shù)學(xué)活動(dòng)教學(xué)中的應(yīng)用研究[D].大連:遼寧師范大學(xué),2020.