彭麗
摘要:在編程過程中面對復(fù)雜任務(wù),首先要做的事,就是對問題進(jìn)行分析,把一個看似復(fù)雜的問題經(jīng)過梳理,分解成一個個小問題,然而,面對這些小問題就比較容易理解和解決了,把它們逐一解決,最終全部解決。
關(guān)鍵詞:編程教學(xué) 任務(wù)分解 計算思維
編程教學(xué)過程中,給孩子們布置一個較比復(fù)雜的項目任務(wù),不能因為任務(wù)的復(fù)雜棘手,還沒開始就把孩子們給嚇倒了,教師必須進(jìn)行有效指導(dǎo),才能使學(xué)生在這過程中獲得計算思維解決實際問題的能力。教師應(yīng)該怎么導(dǎo)引學(xué)生呢?如果將這難辦的問題分解成一個個小問題,是不是感覺不那么難啦。我們在編程教學(xué)中,必須先來研究怎樣幫忙學(xué)生進(jìn)行分解問題??梢杂靡韵聨追N方法進(jìn)行。
一、運(yùn)用5w2h分析法進(jìn)行分解
5W2H分析法叫七問分析法,是一種思考問題的有效方法,分別是why為什么?what是什么?where何處?when何時?who誰?how怎么做?how much多少?教師啟發(fā)學(xué)生提出問題,能多提出幾個問題,就意味著問題解決了一半。連續(xù)問幾個“為什么”,以追求其根本原因。這七個問題既簡單、又有助于思路的條理化,極富有啟發(fā)性,引導(dǎo)學(xué)生層層分解,找到問題根源。例如,在編程教學(xué)中,讓學(xué)生演示“下雨”這樣一個自然現(xiàn)象的動畫。在完成任務(wù)之前,首先要學(xué)生充分認(rèn)識“雨的形成”的基本過程:當(dāng)空氣中的水蒸氣在高空(where)受冷(why)凝結(jié)成小水點(diǎn)或小冰晶(what),小水點(diǎn)或小冰晶相互碰撞、并合(why),變得越來越大,大到空氣托不?。╤ow much)的時候便會降落下來,當(dāng)?shù)涂諟囟雀哂贠℃時(how much),便是雨。學(xué)生對雨的形成清楚認(rèn)識了,知道水蒸氣整個運(yùn)動變化后,才能構(gòu)建編程流程,保證任務(wù)的完成。學(xué)生這個分解問題的過程就是一個七問分析的過程,用科學(xué)的方式詮釋了一個自然現(xiàn)象的知識。整個過程學(xué)生的學(xué)習(xí)興趣濃厚,最后呈現(xiàn)效果也極有成就感。
二、運(yùn)用魚骨分析法進(jìn)行分解
魚骨分析法,又名因果分析法,是一種發(fā)現(xiàn)問題“根本原因”的分析方法,通過集思廣益、發(fā)揮團(tuán)體智慧,從各種不同角度找出問題所有原因或構(gòu)成要素的方法,最終找到根本原因,從而解決問題。這種方法常比較適合應(yīng)用在遇到問題,想要去解決,但不知道是什么原因引起的,這個時候就可以用魚骨圖來進(jìn)行分析找原因了?;静襟E:(1)查找要解決的問題;(2)把問題寫在魚骨的頭上;(3)共同討論問題出現(xiàn)的可能原因,盡可能多地找出問題;(4)把相同的問題分組,在魚骨上標(biāo)出;(5)根據(jù)不同問題征求大家的意見,總結(jié)出正確的原因;(6)拿出任何一個問題,研究為什么會產(chǎn)生這樣的問題;(7)針對問題的答案再問為什么?(8)認(rèn)為無法繼續(xù)進(jìn)行時,列出這些問題的原因,而后列出解決方法。
在編程過程中,學(xué)生必須要有預(yù)設(shè)問題并有解決方案的計算思維,如果程序編寫好了,可是還是沒達(dá)到預(yù)先設(shè)計目的,只有通過這種分析方法,快速找到問題原因所在。
三、思維導(dǎo)圖法
思維導(dǎo)圖是發(fā)射性思維的有效的圖形思維工具,簡單卻又極其有效,圖運(yùn)用圖文并重的技巧,把各級主題的關(guān)系用相互隸屬與相關(guān)的層級圖表現(xiàn)出來。非常有助于人們對所研究的問題進(jìn)行深刻的和富有創(chuàng)造性的思考,從而有利于找到解決問題的關(guān)鍵因素或關(guān)鍵環(huán)節(jié)。用思維導(dǎo)圖理清思路最后,將問題分析提煉出的關(guān)鍵詞用思維導(dǎo)圖方式理清思路,分類整理出來。只有理清了思路,我們才能編程前畫出程序設(shè)計的流程圖,設(shè)計的程序才能邏輯清楚正確。
我們在引導(dǎo)學(xué)生在分解問題時,需要注意兩點(diǎn),首先不重復(fù)分解,有時會遇到在分解問題時,出現(xiàn)情況相同的時候,這時我們可以提醒學(xué)生只做一次分解,不用反復(fù)分析,分解出的結(jié)果可能拿來復(fù)制或循環(huán)使用,這樣既有效提高解決問題的效率,同時也不會讓編寫的程序繁瑣累贅。其次,分解問題時還需要注意不遺漏,做到完全窮盡,把確立的問題,逐個往下層分析,最后達(dá)到所有問題都找到,讓復(fù)雜的問題分解成元問題,最小層次的問題,這些問題容易理解,也好解決。日本作家橫田尚哉在《拆解一切問題》這本書,書中說道:解決問題的核心在于拆解,即將整個問題分解成諾干單元,逐一突破。我們從小聽過愚公移山的故事,故事中的愚公,就是一個善于發(fā)現(xiàn)問題、拆解問題和解決問題的高手。出行的不便讓他發(fā)現(xiàn)了問題,那就是門前的高山是影響出行和致富的大問題。同時,他也看到了再高的山也是由一塊塊石頭和泥土構(gòu)成的,只要把最小單位的石頭和泥土解決掉,何愁大山不平,這就是拆解問題。而只要能把問題拆成零件,就沒有解決不了的問題。編程教育的真正目的,并不是讓孩子當(dāng)“碼農(nóng)”,而是把代碼背后蘊(yùn)含的“計算思維”教給孩子——這才是孩子適應(yīng)21世紀(jì)人工智能時代的必備技能。面臨問題時,要讓學(xué)生學(xué)會分解任務(wù),只有將任務(wù)分解得足夠細(xì),才能找到問題根源,才能有條不紊順利解決問題。分解任務(wù)具有重要作用和意義,只有充分進(jìn)行了分解,才利于問題的解決。
參考文獻(xiàn):
(1)橫田尚哉 【日】《拆解一切問題》《如何拆解你的工作任務(wù)?你需要知道這些科學(xué)方法》;
(2)王惠強(qiáng) 《在scratch環(huán)境下培養(yǎng)小學(xué)生解決問題的策略》;