在信息科技課程教學中,最被大家關注的內容之一是“算法”及算法如何認知、驗證及設計。本期解碼,我們一起從一線的視角探討低年級學生如何開展算法教學,解讀用生活中的行為模擬來提高學生算法認知的策略與意義。
摘要:本文介紹了通過行為模擬發(fā)展低年級學生算法學習新思維的方法。該方法將編程概念與日常生活場景結合,通過角色扮演、故事劇場和互動游戲等活動形式具象化編程思維,通過行為觸發(fā)和問題建構,幫助學生形成從具體行為到抽象思維的過渡,以更好地理解和應用編程概念與結構,培養(yǎng)算法學習新思維。
關鍵詞:行為;算法;思維
中圖分類號:G434 文獻標識碼:A 論文編號:1674-2117(2024)13-0020-04
編程,作為一種與計算機溝通的藝術,要求將解決問題的方法與步驟由自然語言精準地轉換為程序語句,然而對低年級的學生來說,理解這種轉換具有一定難度。他們往往能聽懂編程的概念,可一旦面對實際問題,卻感到無從下手,這是因為他們的抽象思維能力和問題解決能力還在發(fā)展階段,對復雜的編程邏輯和抽象的編程概念還不能完全理解和掌握。因此,筆者在低年級的算法教學中利用“行為模擬”對學生進行思維訓練,將編程概念與學生熟悉的日常生活場景相結合,通過角色扮演、故事劇場和互動游戲等活動形式,降低學習門檻,幫助學生完成從具體行為到抽象思維的過渡。通過每節(jié)編程課上的“行為模擬”促進“思維活動”,不僅有助于學生更好地理解和掌握編程知識,還能夠提高他們的編程興趣和自信心。
利用行為觸發(fā)問題建模,發(fā)展高階抽象思維
在編程的世界里,算法不僅是解決現(xiàn)實問題的關鍵,更是對現(xiàn)實問題的高度抽象化和建模化的展現(xiàn)。問題建模是一種將現(xiàn)實世界的問題轉換為可以通過計算或算法來解決的模型的過程。算法教學的目標是引導學生學習如何將一個復雜的現(xiàn)實問題抽象化,識別出問題的關鍵因素,并將這些因素表達為計算模型,這樣的教學有助于培養(yǎng)學生獨立運用已有知識的能力,以及在面對新問題時創(chuàng)造性地思考和解決問題的高階抽象思維。對于低年級的學生而言,理解這些無形的編程概念與程序結構,往往是一個巨大的認知挑戰(zhàn)。然而,通過行為模擬的方式可以將編程概念以更為直觀、生動的方式展現(xiàn)給學生,為他們搭建一座從“具體行為”到“抽象思維”的橋梁,使其通過實踐操作和親身體驗,逐步掌握編程的精髓。
1.行為對問題建模的增益
在學習過程中,教師可以通過設計具體的行為模擬任務,為學生提供從實踐操作逐步過渡到抽象理論思維的實踐平臺,通過這些任務,學生可以從具體的行為操作入手,通過親身實踐逐步感知、分析和總結其中的規(guī)律,進而轉向更為抽象的理論思維。學生在解決問題的過程中需要創(chuàng)建問題的抽象表示,這種表示可以是視覺的圖形、言語化的描述,也可以是通過肢體動作來模擬的行為過程,即問題建模。它可以幫助學生理解程序是如何反映和模擬現(xiàn)實世界中的事物和過程的,使學生能夠更好地把握編程概念并運用它們解決問題。同時,學生可以更直觀地感受到抽象思維在解決實際問題中的重要作用,有助于對算法語言的理解。
2.行為驅動問題建模設計范例
范例1:在講解計數(shù)循環(huán)中的累加器時,學生第一次接觸for循環(huán)和s=s+1語句,很難理解,于是,筆者設計了如下的故事劇。
①課堂設情境。利用微機室的排布優(yōu)勢,筆者站在一排電腦桌旁,拍著第一張電腦桌,說“這是1號山洞”,并放下一朵花,繼續(xù)往前走,當說“這是2號山洞”時,也放下一朵花,就這樣,一直走到6號山洞,學生的注意力逐漸被吸引。這時筆者突然轉身,對學生說“我是一只小兔子”,這句話立刻引起學生的極大興趣,他們好奇地盯著我,想要知道接下來會發(fā)生什么。
②采花寓累加。筆者說:“我拿著花籃來采花,大家看,我的花籃是空的。”筆者走到1號山洞,拿起花放到花籃里,問學生:“我的花籃里有幾朵花?”學生回答:“一朵?!惫P者往前邁一步,又拿起2號山洞的花,問“這樣,我的花籃里有幾朵花?”“兩朵。”“對,在一朵基礎上加一,共兩朵花……”
就這樣,筆者一直走到6號山洞,問“我走到6號山洞,采了一朵花,這樣,我的花籃里一共有幾朵花?”“5+1=6,6朵花?!薄澳俏以偻斑~一步,還有花讓我采嗎?”“沒有了,因為只有6個山洞?!薄昂玫?,我的采花行動圓滿結束!”
③繪圖理算法。就這樣,學生跟隨筆者的演繹,模擬走完了for(i=1;i<=6;i++)s=s+1的全過程。筆者又走回講臺,回顧整個算法的模擬過程。
④行為轉代碼。筆者讓學生扮演小兔子模擬整個過程,有了板書與活動參與,學生對計數(shù)循環(huán)for語句和s=s+1累加器有了初步的理解。筆者又提出一個問題:“如果1號山洞1朵花,2號山洞2朵花,3號山洞3朵花……我們該如何用語句來表達呢?”筆者請學生模擬采花過程,學生發(fā)現(xiàn)山洞里花的數(shù)量與山洞編號之間的關系,很容易總結出s=s+i的語句。
通過上述問題建模方法,學生以有趣的方式參與到編程學習中,將編程概念與實際情境相結合,不僅理解了復雜編程概念,而且深化了對循環(huán)語句如何控制程序流程的認知,當學生能夠通過自己的努力,將一個復雜的現(xiàn)實問題轉化為一個簡單的編程問題時,會非常有成就感。這種成就感會激發(fā)他們的學習動力,使他們更加積極地投入到編程學習中,從而形成一個正向的學習循環(huán)。同時,通過問題建模,學生需要將實際問題中的關鍵信息和邏輯關系提取出來,形成簡潔明了的抽象模型,通過不斷地練習和反思,學生逐漸掌握了如何有效地進行抽象概括,提高了對問題本質的理解和把握能力,并將具體的解決方案進行提煉和升華,形成一般性的規(guī)律和方法,實現(xiàn)了高級抽象思維的養(yǎng)成。
利用行為激發(fā)問題建構,發(fā)展深度邏輯思維
問題建構是基于問題模型提出并實施解決方案的過程,它涵蓋了從問題識別到解決方案實施的完整環(huán)節(jié)。在算法學習中,不僅要求學生能夠創(chuàng)建有效的程序來解決問題,還需要他們能評估這些方案的實際效果,并做出必要的優(yōu)化調整。因此,教師應當引導學生深入分析問題的各個層面,理解其中各組成部分之間的復雜關系,并將問題分解為更小、更易處理的子問題,從而完成問題建構。在這一過程中,行為模擬的應用可以幫助學生更直觀地觀察算法是如何處理這些子問題的,并理解其背后的邏輯原理。在實際問題解決的過程中,學生需要綜合運用所學的邏輯知識,不斷嘗試和調整算法,以尋求最佳解決方案。這個過程不僅鍛煉了學生的算法應用能力,還促進了他們深度邏輯思維的發(fā)展。通過不斷地分析和優(yōu)化算法,學生將逐漸具備深入剖析問題本質、識別隱藏條件和潛在約束的能力,從而設計出更完善的算法解決方案。
1.行為輔助,實現(xiàn)思維具象化
將編程邏輯與日常生活中的具體動作相結合,使得學生能夠更直觀地感受到編程邏輯的運作過程,從而更容易掌握編程的核心要義,同時,也能激發(fā)學生的好奇心,引導他們在學習的過程中主動探索、主動思考。
2.行為導向,引領問題有效建構
范例2:針對復雜的雙重循環(huán)概念,可以借助生活場景和動作幫助學生理解建構問題。
①運動體驗雙重循環(huán)。筆者請全體學生起立并聽從指令,一起完成四組運動,每組動作包括點頭、拍手、拍肩三個動作。當學生們開心地做完四組動作后,筆者開始分析活動流程,并板書:做第一組運動,要做點頭、拍手、拍肩這三個動作,做第二組運動,也要重復這三個動作,第三組、第四組同樣也要重復這三個動作,這就是雙重循環(huán)。
②角色扮演深化理解。筆者接著讓學生舉例,一個學生當導演,其他五個學生搬好板凳坐到講臺上。當導演的學生讓第一個同學過來,給他一塊糖,讓他回去,再讓第二個同學過來,給他一塊糖,讓他回去,又讓他過來,又給他一塊糖,又讓他回去,接著讓第三個同學過來,每次給他一塊糖,讓他回去,這組動作重復了三次,讓第四個同學過來,這組動作重復了四次,第五個同學也重復了這個動作五次……然后,當導演的學生開始提問:“我每次重復的動作是什么?”“過來,給糖,回去?!保ㄆ渌麑W生說)“對,這就是循環(huán)體,s=s+1,第一個同學重復這組動作一次,第二個同學重復這組動作兩次,第三個……”學生們開始齊聲復述剛才的活動場景。
學生舉的例子更具可操作性,讓他們更加深刻地理解了雙重循環(huán)的概念,并在他們心中建立起一個關于如何識別和實現(xiàn)雙重循環(huán)的明確模型。這種互動和實踐,不僅讓抽象的理論知識變得生動有趣,還極大地提升了學生的學習興趣和參與度。程序結構不再是計算機編程中的一個理論概念,它已經(jīng)深深根植于學生的日常行為和邏輯思維。
3.行為助力,搭建問題與思維框架
為了幫助學生更好地進行問題建構,教師可以設計一些具有層次性和挑戰(zhàn)性的任務,這些任務可以包括一些實際問題或者有趣的編程挑戰(zhàn),旨在讓學生在實際操作中不斷嘗試、調整和完善自己的解決方案,從而有效鍛煉自己的邏輯思維和問題解決能力。同時,教師提供及時的反饋和指導,幫助學生發(fā)現(xiàn)并糾正自己的思維誤區(qū)和錯誤,這不僅可以讓學生在錯誤中學習,還能幫助他們建立正確的編程思維框架。通過不斷地試錯與反思,學生可以逐漸掌握問題解構和思維構建的技巧。
經(jīng)歷問題建構的過程,學生不僅能夠理解問題的表面,更能深入挖掘問題的本質和內在聯(lián)系。他們需要思考問題的核心需求,并設計合適的算法和程序來實現(xiàn)這些需求,這一過程充分鍛煉了學生的邏輯推理和歸納思維能力,有助于他們在面對復雜問題時能夠迅速找到突破口并制訂出切實可行的解決方案。通過問題建構的系統(tǒng)訓練,學生可以逐漸形成自己的編程思維體系,形成獨立分析、解決問題的能力,更有效地推動深度思維能力的提升。
利用行為實踐驅動問題探索,系統(tǒng)發(fā)展創(chuàng)新思維
編程思維的培養(yǎng)不局限于對程序編寫技能的訓練,它更是一種綜合性的技能,涵蓋了邏輯推理、問題分析與解決能力等多個方面,當學生對程序設計有基礎認知后,教師可以進一步通過問題實踐來引導學生,以實現(xiàn)其創(chuàng)新思維的系統(tǒng)養(yǎng)成。
1.行為實踐中的問題設計
問題實踐是將算法知識應用于解決實際問題的過程,教師可以設計一些具有挑戰(zhàn)性和創(chuàng)新性的問題實踐任務,讓學生綜合運用所學的算法知識來解決實際問題,這些問題可以來自日常生活、科學實驗、社會熱點等,具有一定的現(xiàn)實意義和應用價值。在解決實際問題的過程中,學生需要迅速定位問題的關鍵點,并找到合適的解決方案,這不僅能夠鍛煉邏輯思維能力,還能夠提高問題分析和解決能力。同時,通過不斷嘗試和迭代,學生還可以發(fā)掘新的算法和策略,培養(yǎng)系統(tǒng)創(chuàng)新思維的能力。
2.行為實踐中的學習設計
以排列組合為例,這部分內容對低年級的學生來說更是思維的極限挑戰(zhàn),特別是組合公式的理解更是難上加難。為了幫助學生更好地理解這一概念,筆者設計了以下學習活動:
上課伊始,筆者對第一排的5個男生說:“老師需要3個同學幫我去總務處領這學期微機室的滅火器,我應該如何選人呢?因為小圣是班長,所以,我一定要讓他帶頭,那么就是從剩下的4個同學中選2人就可以了。但如果我一定不讓小圣去,那就是從剩下的4個同學中選3位?!惫P者回到講臺,利用板書和學生一起梳理這段陳述,如果一定讓小圣去,那就是,如果一定不讓小圣去,就是,那么,從5個同學里選3人去拿滅火器的方案數(shù)就是,也就是,這是組合的一個公式,也是編程中處理問題的一種方法。
3.利用行為引導學生發(fā)展系統(tǒng)創(chuàng)新思維
通過理論與實踐的結合,不僅能夠增強學生解決實際問題的能力,還能幫助他們深刻理解編程思維和算法設計的核心概念。學生在面對復雜問題時需要從整體到局部,從抽象到具體,進行全面思考和規(guī)劃。他們需要考慮到問題的各個方面和可能的影響因素,從而設計出全面而有效的解決方案。這種系統(tǒng)性的思考方式,有助于學生在面對未知領域和復雜問題時,能夠迅速找到切入點,提出創(chuàng)新的想法和解決方案。此外,問題實踐還能幫助學生深入理解編程思維和算法設計的核心概念。通過實際應用,學生可以更加直觀地感受到算法的力量和編程的魅力,從而增強對編程學習的興趣和動力。同時,他們還能在實踐中不斷調整和優(yōu)化自己的設計方案,提高算法的效率和準確性。
總的來說,通過行為模擬進行低年級算法教學,不僅可以將編程思維具象化,讓學生在輕松愉快的氛圍中掌握編程的基本概念和方法,提高他們的學習興趣和積極性,讓他們充分享受編程帶來的樂趣和挑戰(zhàn),而且可以在問題解決中培養(yǎng)學生的高階抽象思維、深度邏輯思維、系統(tǒng)創(chuàng)新思維,幫助他們實現(xiàn)自我超越和發(fā)展。在行為模擬的引導下,學生能夠主動思考、積極探索,將所學算法知識靈活應用于實際場景中,從具體到抽象,從簡單到復雜,循序漸進地掌握編程知識,這不僅符合學生的認知發(fā)展規(guī)律,還有助于學生建立起完整的知識體系和思維框架,全面提升信息素養(yǎng)和能力,為他們未來的學習和生活奠定堅實的基礎。
參考文獻:
[1]董永建.信息學奧賽一本通:C++版[M].北京:科學技術文獻出版社,2013.
[2]顧鋒.基于數(shù)學建模問題的高階抽象思維能力培養(yǎng)探析[J].數(shù)學之友,2023,37(15):2-4.
[3]秦娟.高級思維教學的核心指向[M].上海:華東師范大學出版社,2021.