沈怡伶,王潤梅
摘要:編程教育已經(jīng)逐步受到社會、學(xué)校以及家長的重視,如何提高編程教育的質(zhì)量已經(jīng)成為一個熱點話題。通過對目前中學(xué)Python編程課程教學(xué)中存在的一些問題進行了總結(jié)梳理,并且以認知負荷理論為基礎(chǔ),從減輕內(nèi)在認知負荷、降低外在認知負荷以及增加相關(guān)認知負荷三個大方向出發(fā),提出了幾點中學(xué)Python編程課程的教學(xué)策略,從而提升其教學(xué)質(zhì)量。
關(guān)鍵詞:認知負荷;Python編程;初中編程教學(xué);教學(xué)策略
中圖分類號:G642? ? ? ? 文獻標(biāo)識碼:A
文章編號:1009-3044(2022)33-0155-03
1 引言
隨著新一代技術(shù)的發(fā)展,編程教育已日漸成為智能時代進行創(chuàng)新性人才培養(yǎng)的實施重點。在教育部公布的《2019年教育信息化和網(wǎng)絡(luò)安全工作要點》中明確指出,“推動在中小學(xué)階段設(shè)置人工智能相關(guān)課程,逐步推廣編程教育”。不僅如此,現(xiàn)在市面上的編程培訓(xùn)機構(gòu)也變得越來越多、越來越規(guī)范,許多家長也意識到編程教育的重要性,通過編程教學(xué)來教會學(xué)生用計算機領(lǐng)域的方法來解決問題,培養(yǎng)學(xué)生的計算思維,提升學(xué)生的信息素養(yǎng),培養(yǎng)新時代所需要的人才。由此可見,編程教育的迅猛發(fā)展是大勢所趨。
然而,就目前Python編程課程教學(xué)現(xiàn)狀來看,Python編程課程教學(xué)的教學(xué)效果仍然不如人意,這一結(jié)果的產(chǎn)生原因是多方面的。首先,自媒體以及網(wǎng)絡(luò)信息技術(shù)不斷發(fā)展,使得信息的呈現(xiàn)變得碎片化、隨機化以及分散化,對學(xué)生學(xué)習(xí)過程中的專注度產(chǎn)生了極大的沖擊。其次,編程教學(xué)的內(nèi)容相對于其他學(xué)科來說,知識結(jié)構(gòu)較為復(fù)雜抽象,導(dǎo)致學(xué)生難以理解其本質(zhì)含義。另外,目前對于編程教學(xué)的研究比較少,許多教師沒有足夠的教學(xué)經(jīng)驗,導(dǎo)致教師對于其每節(jié)課呈現(xiàn)給學(xué)生的信息量以及呈現(xiàn)速度沒有明確把握,導(dǎo)致教師傳遞信息的量和速度與學(xué)生接受信息的量和速度不匹配。這一系列原因都使得學(xué)習(xí)者在編程課程時認知負荷不斷增大。由此可見,編程是一項難度較高的認知活動,這項活動需要學(xué)習(xí)者掌握多方面的知識,在學(xué)習(xí)過程中學(xué)習(xí)者會產(chǎn)生較高的認知負荷。
綜上所述,教師應(yīng)該通過哪些方法和策略對學(xué)習(xí)者學(xué)習(xí)過程中產(chǎn)生的認知負荷進行調(diào)控是值得我們關(guān)注的問題。據(jù)此,本文根據(jù)目前Python編程課程教學(xué)中存在的一系列問題提出了幾點教學(xué)策略,以期能夠?qū)ython編程課程教學(xué)的研究起到一定的推動作用。
2 認知負荷理論
2.1 認知負荷的內(nèi)涵
認知負荷理論早在1988年時就已經(jīng)被提出來了,是由澳大利亞的新南威爾士大學(xué)的著名認知心理學(xué)家約翰·斯威勒(John Sweller)提出的,是以人類信息加工容量有限理論和圖式理論為基礎(chǔ)的。從提出開始到現(xiàn)在,獲得了國內(nèi)外學(xué)者的廣泛關(guān)注,但是大家都還沒有對認知負荷這一概念形成一個統(tǒng)一的認識。Pass和Van Merrienboer認為認知負荷由多個維度組成的,是執(zhí)行一項具體作業(yè)時施加在個體認知上的負荷[1];在國內(nèi),對于認知負荷理論的概念是由學(xué)者辛自強和林崇德率先提出的,他們認為可以把認知負荷看作為對指定數(shù)量信息進行加工時所需要的“心理能量”的水平,因為所需要進行加工的信息數(shù)量不斷增加,認知負荷也會隨之增加[2]。
根據(jù)所總結(jié)的以上學(xué)者對認知負荷這一概念的界定,并且結(jié)合Python編程課程學(xué)習(xí)的相關(guān)特點,在本文中,我們可以將認知負荷定義為:學(xué)習(xí)者在對Python編程課程中的相關(guān)知識進行學(xué)習(xí)時,由于對學(xué)習(xí)內(nèi)容難度的感知而投入到當(dāng)前學(xué)習(xí)中的心理活動的總量。
2.2 認知負荷的分類
隨著對認知負荷理論研究的不斷深入,研究者們認為根據(jù)學(xué)習(xí)過程中學(xué)習(xí)者認知負荷的產(chǎn)生來源不同,可以將其分為三大類,分別是內(nèi)在認知負荷、外在認知負荷以及相關(guān)認知負荷。
外在認知負荷,常常被人們稱為無效認知負荷,主要是由于學(xué)習(xí)者在學(xué)習(xí)過程中發(fā)生了一些無關(guān)于學(xué)習(xí)的認知活動而帶來的負荷,主要和學(xué)習(xí)材料的呈現(xiàn)方式以及一些學(xué)習(xí)者自身活動有關(guān)。
內(nèi)在認知負荷是由學(xué)習(xí)任務(wù)難度和學(xué)習(xí)材料的交互度所決定的。學(xué)習(xí)任務(wù)的難度越高,對應(yīng)的元素就越多,當(dāng)學(xué)習(xí)者的工作記憶中有許多需要進行加工整合的元素,且元素之間的交互度較高,那么就會產(chǎn)生較大的內(nèi)在認知負荷。如果學(xué)習(xí)者在進入學(xué)習(xí)之前有一定的先前知識經(jīng)驗,就會促進圖式的自動化,從而內(nèi)在認知負荷就會減小。
相關(guān)認知負荷又被稱作有效認知負荷,是指在學(xué)習(xí)的過程中學(xué)習(xí)者將工作記憶能量投入進一步的知識結(jié)構(gòu)建構(gòu)以及存儲時所產(chǎn)生的認知負荷[3],為了使學(xué)習(xí)者的學(xué)習(xí)是有意義的,就應(yīng)該不斷提升相關(guān)認知負荷的大小。
認知負荷的總量是由三種認知負荷相互疊加所得到的,當(dāng)認知負荷過高或者是過低的時候都會對學(xué)習(xí)者的學(xué)習(xí)效果產(chǎn)生負面影響,只有當(dāng)認知負荷的大小適中時才會對學(xué)習(xí)者的學(xué)習(xí)起到促進的作用[4]。
3 Python編程教學(xué)中存在的問題
Python語言相對于其他計算機編程語言來說,Python語言的語法更加簡潔、相關(guān)庫十分豐富以及具有開源與擴展性好等特點,因此受到大眾的熱愛和一致認可,成為中學(xué)編程教學(xué)中一門很重要的語言。目前來說,在Python編程課程教學(xué)中仍然存在很多問題,本文通過對文獻的梳理,分析總結(jié)出以下幾點問題:
3.1 學(xué)生對Python編程課程的學(xué)習(xí)興趣低
造成這一問題的原因是多種多樣的,首先,因為Python編程課程與學(xué)生實際生活和先前知識經(jīng)驗相差較遠,此前沒有或很少接觸過編程課程;其次,Python編程課程有關(guān)于語法、變量等理論知識學(xué)習(xí)強度很大,在實際操作中以編寫代碼為止,相對于制作幻燈片、動畫等內(nèi)容和其他學(xué)科,趣味性較低,使學(xué)生產(chǎn)生枯燥無趣的消極心態(tài),對編程學(xué)習(xí)的積極性不高;最后,再加上為了跟進學(xué)習(xí)進度的安排,許多老師在教學(xué)時只能采用講授法、演示法來講授課程內(nèi)容,沒有足夠的時間余地采用其他方式來激發(fā)學(xué)習(xí)者的學(xué)習(xí)興趣和積極性。
3.2 教師對教學(xué)目標(biāo)的把握不夠明確
教學(xué)目標(biāo)是指教學(xué)活動中所期待得到的學(xué)生的學(xué)習(xí)結(jié)果。在整個教學(xué)過程中,教學(xué)目標(biāo)都是尤為重要的,一切的教學(xué)活動都是圍繞著教學(xué)目標(biāo)開展的。教師對于教學(xué)目標(biāo)的把握程度對教學(xué)效果的優(yōu)劣起著決定性作用。但因為編程教育才剛剛興起,教學(xué)研究者對于其研究還比較少,教師教學(xué)缺乏教學(xué)參考,所以很多教師對于編程教學(xué)的理解還不夠深入,對其教學(xué)目標(biāo)的把握不夠明確。因此,在教學(xué)中許多教師只注重于學(xué)習(xí)任務(wù)是否完成、作業(yè)結(jié)果是否達標(biāo),而忽略了在這個過程中學(xué)生編程思路和計算思維的培養(yǎng);同時也是因為教師對教學(xué)目標(biāo)的把握不夠明確,導(dǎo)致學(xué)生也不能夠把握每節(jié)課的具體任務(wù)和目標(biāo),進而導(dǎo)致學(xué)生的認知負荷有所增大。
3.3 教師教學(xué)方式過于單一
在Python編程課程教學(xué)中,大多數(shù)教師仍然采用講授法、演示法,一些有助于發(fā)揮學(xué)習(xí)者主動性的教學(xué)方法被忽略,如任務(wù)驅(qū)動法、小組合作學(xué)習(xí)等。首先,在單向傳授的教學(xué)模式下,沒有體現(xiàn)出新課改要求的“以學(xué)生為主體”的教學(xué)觀念;其次,Python編程課程的實踐操作性很強,教師的教學(xué)重點是培養(yǎng)學(xué)生的編程思路和計算思維,如果令學(xué)生處于被動地位的傳統(tǒng)教學(xué)方式不利于學(xué)生編程思路和計算思維的培養(yǎng)與發(fā)展。
3.4 Python編程課程學(xué)習(xí)任務(wù)難度大,學(xué)生學(xué)習(xí)吃力
首先,Python編程課程所相關(guān)的知識相對于中學(xué)階段其他知識來說本身就晦澀難懂,存在很多基本的語法、概念等,學(xué)生之前從未接觸,短時間內(nèi)也難以理解。其次,在編程過程中出現(xiàn)一點小問題就會導(dǎo)致程序無法運行或者是運行結(jié)果有誤,學(xué)生難以找出問題出在哪里,對著紅色的報錯框不知所措,這樣的情況隨著教學(xué)難度的提升變得越來越多,在教學(xué)的后期階段已有部分學(xué)生出現(xiàn)“習(xí)得性”無助現(xiàn)象,開始放棄學(xué)習(xí)[5]。
4 認知負荷理論視角下中學(xué)Python編程課程教學(xué)策略
本文主要從減輕內(nèi)在認知負荷、降低外在認知負荷以及增加相關(guān)認知負荷三個大方向出發(fā),分別提出以下具體幾點教學(xué)策略:
4.1 降低任務(wù)難度,減輕內(nèi)在認知負荷
4.1.1 清楚明確地向?qū)W生闡述學(xué)習(xí)任務(wù)
在Python編程課程的教學(xué)中,學(xué)生其實很難深刻明確地理解到這一堂課的學(xué)習(xí)任務(wù)是什么,甚至一堂課已經(jīng)結(jié)束了學(xué)生都不知道學(xué)到了什么,這一現(xiàn)象很常見。因此,在教學(xué)活動開始之初,教師就需要清除明確地向?qū)W生闡述本節(jié)課的學(xué)習(xí)任務(wù),但學(xué)生對于學(xué)習(xí)任務(wù)有一個清晰的認知時,學(xué)習(xí)的方向才會更加明確。其次,學(xué)習(xí)者明確任務(wù)要求后,還能快遞將其和相關(guān)的先前知識經(jīng)驗結(jié)合起來,將新舊知識進行整合,進一步減輕了新任務(wù)帶來的認知負荷。
4.1.2 將學(xué)習(xí)任務(wù)進行分層
處于同一階段每個學(xué)生對知識概念理解和代碼編寫的水平也是存在很大的差異的,如果給每個學(xué)生布置同樣的任務(wù),那么任務(wù)難度較大時,水平略低的學(xué)生會跟不上教學(xué)進度,心理負擔(dān)增大,任務(wù)難度較低時,水平略高的學(xué)生會覺得過于簡單,失去學(xué)習(xí)興趣。因此,在教學(xué)當(dāng)中教師可以對學(xué)習(xí)任務(wù)進行分層,難度逐漸遞增,針對不同水平的學(xué)生提出不同的任務(wù)要求。
4.1.3 在教學(xué)中提供相關(guān)樣例
“樣例效應(yīng)”是指從那些具有具體解決方案或解決步驟的問題中歸納出隱含的抽象知識來解決問題[6],應(yīng)用于教學(xué)中的具體操作是指在教師講授新知識時向?qū)W習(xí)者展示樣例,學(xué)習(xí)者再仿照樣例進行練習(xí)。在學(xué)習(xí)進行一段時間后,學(xué)習(xí)者已經(jīng)獲得了一些有關(guān)學(xué)習(xí)內(nèi)容的知識,釋放了一部分工作記憶的容量,在這個時候再給學(xué)習(xí)者提供有關(guān)樣例,就能夠進一步促進圖式的生成,同時還可以幫助學(xué)習(xí)者在學(xué)習(xí)的過程中進行自我解釋,進而增大了學(xué)習(xí)者的相關(guān)認知負荷[7]。提供樣例的變式給學(xué)習(xí)者也是使學(xué)習(xí)者的相關(guān)認知負荷增加的途徑之一,有利于問題圖式的構(gòu)建和學(xué)習(xí)的遷移,促進學(xué)生的有意義學(xué)習(xí)。
4.2 合理呈現(xiàn)材料,減少外在認知負荷
4.2.1 根據(jù)學(xué)習(xí)內(nèi)容采取合理的教學(xué)組織形式
教師每次在進行教學(xué)活動時,應(yīng)該根據(jù)每堂課或每個教學(xué)階段所對應(yīng)的不同的教學(xué)內(nèi)容選擇采取合適的教學(xué)組織形式。如在講解Python編程相關(guān)基礎(chǔ)知識和概念性知識時,可以采用講授法,但應(yīng)該主要采用一些導(dǎo)入方法,由此來激發(fā)學(xué)生的學(xué)習(xí)興趣;在講解具體編程操作等實踐操作性比較高的知識時,教師就應(yīng)該采用任務(wù)驅(qū)動法、小組合作學(xué)習(xí)等方法,能夠起到調(diào)動學(xué)生學(xué)習(xí)積極性的作用。編程學(xué)習(xí)和其他知識的學(xué)習(xí)存在一定的差異,編程學(xué)習(xí)更加注重學(xué)生的實際操作能力。因此,在教師講授知識時不能一味地采取講授法、演示法等使學(xué)生被動學(xué)習(xí)的教學(xué)方法,而應(yīng)該讓學(xué)生成為學(xué)習(xí)的主體,主動去學(xué)習(xí)。
4.2.2 通過思維導(dǎo)圖來總結(jié)所學(xué)知識
思維導(dǎo)圖,通常又被大家稱作心智圖,這是一種可以表達發(fā)射性思維的有效的圖形思維工具,可以幫助學(xué)習(xí)者將所學(xué)的知識串接起來,理清每一個知識點之間的關(guān)系,在頭腦中留下一張清晰的關(guān)系圖。在課程學(xué)習(xí)結(jié)束之后,學(xué)習(xí)者并不能完全理解所學(xué)內(nèi)容,在頭腦中留下的知識是雜亂無章的,這些信息分散的、沒有結(jié)構(gòu)地存儲在長時記憶中,但需要對其進行提取使用時存在很大的困難。因此,一堂課或一個階段的學(xué)習(xí)結(jié)束前,教師可以通過用思維導(dǎo)圖的方式來對所學(xué)的知識進行梳理,將每一個知識點進行串接,幫助學(xué)生進行理解。
4.3 引發(fā)學(xué)生注意力,增加相關(guān)認知負荷
4.3.1 將學(xué)習(xí)內(nèi)容盡可能與學(xué)生生活實際相聯(lián)系
Python編程課程本身的知識內(nèi)容就存在枯燥乏味的特點,在課堂中教師如果完全按照書本知識來講授,那么學(xué)生必然就會產(chǎn)生認知疲勞,對相關(guān)編程概念和思路的理解也不到位,一段時間過去了就會學(xué)過的知識產(chǎn)生遺忘。因此,在教學(xué)過程中教師可以把教學(xué)內(nèi)容與生活實際關(guān)聯(lián)起來,增大兩者之間的聯(lián)系,以身邊的日常生活發(fā)生的事情作為教學(xué)的案例,這樣當(dāng)學(xué)生在進行學(xué)習(xí)時就會與生活中的例子產(chǎn)生聯(lián)想,更加容易幫助學(xué)生對所學(xué)的知識進行理解、記憶,同時還能激發(fā)學(xué)習(xí)的學(xué)習(xí)興趣,使學(xué)生投入更多的認知努力。
4.3.2 建立合理的獎勵機制
在實際的教學(xué)中可以發(fā)現(xiàn),當(dāng)學(xué)生受到了老師的表揚時,不論是學(xué)習(xí)積極性還是學(xué)習(xí)質(zhì)量都會有所提高,這一點對于平時學(xué)習(xí)成績不是特別優(yōu)秀的學(xué)生來說體現(xiàn)的效果會更加明顯。在教學(xué)中,如果教師能夠在每一階段教學(xué)中給予學(xué)生合理的反饋和獎勵,學(xué)生的學(xué)習(xí)積極性會逐步增加并長期保持。因此,在教學(xué)中應(yīng)該建立合理的獎勵的機制,同時要注意獎勵的頻率不應(yīng)該過高,獎勵時機也要把握好,在學(xué)生做出積極行為的時候應(yīng)該及時進行獎勵。通過適當(dāng)?shù)貙W(xué)生進行獎勵,可以使學(xué)生對Python編程課程學(xué)習(xí)的積極性和主動性大大增加并且有效保持穩(wěn)定,從而從Python編程課程學(xué)習(xí)投入更多的認知資源,促進相關(guān)圖式的構(gòu)建。
5 結(jié)束語
Python編程課程才正式進入中學(xué)課堂不久,在后期還會有很大的發(fā)展空間,將逐步進入全國各地的中小學(xué)課堂,也會逐步獲得社會、學(xué)校和家長的重視。同時,Python編程課程的教學(xué)研究目前仍處于萌芽階段,應(yīng)該與時俱進、逐步發(fā)展,需要融入更多的理論,在真實的教學(xué)情境中進行教學(xué)實踐。
認知負荷理論的影響已經(jīng)在教育領(lǐng)域變得越來越深遠,逐步變成了一種重要的指導(dǎo)教學(xué)的理論?;谡J知負荷理論對Python編程課程教學(xué)提出的一系列教學(xué)策略是科學(xué)有效的,能夠有效地對學(xué)習(xí)者學(xué)習(xí)過程中的認知負荷進行調(diào)控,進一步促進學(xué)生的有效學(xué)習(xí)。
參考文獻:
[1] Paas F G W C,van Merri?nboer J J G.The efficiency of instructional conditions:an approach to combine mental effort and performance measures[J].Human Factors:the Journal of the Human Factors and Ergonomics Society,1993,35(4):737-743.
[2] 辛自強,林崇德.認知負荷與認知技能和圖式獲得的關(guān)系及其教學(xué)意義[J].華東師范大學(xué)學(xué)報(教育科學(xué)版),2002,20(4):55-60,77.
[3] 王朋嬌,田華,孫革.遠程學(xué)習(xí)者認知負荷水平的調(diào)控策略研究[J].現(xiàn)代遠距離教育,2009(1):8-11.
[4] Paas F,Renkl A,Sweller J.Cognitive load theory:instructional implications of the interaction between information structures and cognitive architecture[J].Instructional Science,2004,32(1/2):1-8.
[5] 邱振華.基于循證實踐的初中Python語言教學(xué)研究[J].電腦知識與技術(shù),2020,16(13):194-198.
[6] 許永勤,朱新明.關(guān)于樣例學(xué)習(xí)中樣例設(shè)計的若干研究[J].心理學(xué)動態(tài),2000,8(2):45-49.
[7] 張建波.認知負荷理論:教學(xué)設(shè)計研究的新視角[J].上海教育科研,2006(11):51-53.
【通聯(lián)編輯:王力】