彭丽
摘要:在编程过程中面对复杂任务,首先要做的事,就是对问题进行分析,把一個看似复杂的问题经过梳理,分解成一个个小问题,然而,面对这些小问题就比较容易理解和解决了,把它们逐一解决,最终全部解决。
关键词:编程教学 任务分解 计算思维
编程教学过程中,给孩子们布置一个较比复杂的项目任务,不能因为任务的复杂棘手,还没开始就把孩子们给吓倒了,教师必须进行有效指导,才能使学生在这过程中获得计算思维解决实际问题的能力。教师应该怎么导引学生呢?如果将这难办的问题分解成一个个小问题,是不是感觉不那么难啦。我们在编程教学中,必须先来研究怎样帮忙学生进行分解问题。可以用以下几种方法进行。
一、运用5w2h分析法进行分解
5W2H分析法叫七问分析法,是一种思考问题的有效方法,分别是why为什么?what是什么?where何处?when何时?who谁?how怎么做?how much多少?教师启发学生提出问题,能多提出几个问题,就意味着问题解决了一半。连续问几个“为什么”,以追求其根本原因。这七个问题既简单、又有助于思路的条理化,极富有启发性,引导学生层层分解,找到问题根源。例如,在编程教学中,让学生演示“下雨”这样一个自然现象的动画。在完成任务之前,首先要学生充分认识“雨的形成”的基本过程:当空气中的水蒸气在高空(where)受冷(why)凝结成小水点或小冰晶(what),小水点或小冰晶相互碰撞、并合(why),变得越来越大,大到空气托不住(how much)的时候便会降落下来,当低空温度高于O℃时(how much),便是雨。学生对雨的形成清楚认识了,知道水蒸气整个运动变化后,才能构建编程流程,保证任务的完成。学生这个分解问题的过程就是一个七问分析的过程,用科学的方式诠释了一个自然现象的知识。整个过程学生的学习兴趣浓厚,最后呈现效果也极有成就感。
二、运用鱼骨分析法进行分解
鱼骨分析法,又名因果分析法,是一种发现问题“根本原因”的分析方法,通过集思广益、发挥团体智慧,从各种不同角度找出问题所有原因或构成要素的方法,最终找到根本原因,从而解决问题。这种方法常比较适合应用在遇到问题,想要去解决,但不知道是什么原因引起的,这个时候就可以用鱼骨图来进行分析找原因了。基本步骤:(1)查找要解决的问题;(2)把问题写在鱼骨的头上;(3)共同讨论问题出现的可能原因,尽可能多地找出问题;(4)把相同的问题分组,在鱼骨上标出;(5)根据不同问题征求大家的意见,总结出正确的原因;(6)拿出任何一个问题,研究为什么会产生这样的问题;(7)针对问题的答案再问为什么?(8)认为无法继续进行时,列出这些问题的原因,而后列出解决方法。
在编程过程中,学生必须要有预设问题并有解决方案的计算思维,如果程序编写好了,可是还是没达到预先设计目的,只有通过这种分析方法,快速找到问题原因所在。
三、思维导图法
思维导图是发射性思维的有效的图形思维工具,简单却又极其有效,图运用图文并重的技巧,把各级主题的关系用相互隶属与相关的层级图表现出来。非常有助于人们对所研究的问题进行深刻的和富有创造性的思考,从而有利于找到解决问题的关键因素或关键环节。用思维导图理清思路最后,将问题分析提炼出的关键词用思维导图方式理清思路,分类整理出来。只有理清了思路,我们才能编程前画出程序设计的流程图,设计的程序才能逻辑清楚正确。
我们在引导学生在分解问题时,需要注意两点,首先不重复分解,有时会遇到在分解问题时,出现情况相同的时候,这时我们可以提醒学生只做一次分解,不用反复分析,分解出的结果可能拿来复制或循环使用,这样既有效提高解决问题的效率,同时也不会让编写的程序繁琐累赘。其次,分解问题时还需要注意不遗漏,做到完全穷尽,把确立的问题,逐个往下层分析,最后达到所有问题都找到,让复杂的问题分解成元问题,最小层次的问题,这些问题容易理解,也好解决。日本作家横田尚哉在《拆解一切问题》这本书,书中说道:解决问题的核心在于拆解,即将整个问题分解成诺干单元,逐一突破。我们从小听过愚公移山的故事,故事中的愚公,就是一个善于发现问题、拆解问题和解决问题的高手。出行的不便让他发现了问题,那就是门前的高山是影响出行和致富的大问题。同时,他也看到了再高的山也是由一块块石头和泥土构成的,只要把最小单位的石头和泥土解决掉,何愁大山不平,这就是拆解问题。而只要能把问题拆成零件,就没有解决不了的问题。编程教育的真正目的,并不是让孩子当“码农”,而是把代码背后蕴含的“计算思维”教给孩子——这才是孩子适应21世纪人工智能时代的必备技能。面临问题时,要让学生学会分解任务,只有将任务分解得足够细,才能找到问题根源,才能有条不紊顺利解决问题。分解任务具有重要作用和意义,只有充分进行了分解,才利于问题的解决。
参考文献:
(1)横田尚哉 【日】《拆解一切问题》《如何拆解你的工作任务?你需要知道这些科学方法》;
(2)王惠强 《在scratch环境下培养小学生解决问题的策略》;