孙丽
小学低龄儿童(小学1-2年级)处于小学阶段知识和思维能力的最底层,有些学生甚至还未养成良好的学习习惯,怎么才能学会、学好编程呢?带着问题,笔者在研究中发现,很多优秀程序设计的作品中常常有文学故事的身影。是否可以利用儿童喜闻乐见的文学故事对低龄儿童进行编程教育呢?笔者因此进行了尝试。
一、降维:两者结构相似点的模糊处理
程序设计是一种结构化的过程,它的三大典型结构是顺序结构、选择结构与循环结构,每个程序都是这三种结构的不断组合、分解的过程。
故事是使用语言和文字,通过描述不同人物的活动来进行叙述。每个故事并非随心而发,都是有预先设计的,这种预先设计其实可以体现出设计者的一种思维方式。简单地说,分类方式有两种,有一定的顺序线索的称之为线性结构,反之没有明显顺序的叫非线性结构。通过降维处理后,将程序中顺序结构与故事中的线性结构相对应,将程序中的选择结构、循环结构与故事中的非线性结构相对应。对于低龄儿童而言,程序思维化简成线性和非线性后,理解起来容易多了。
二、改进:在故事情境中改进程序
1.从任务到解决问题。有一种特殊的故事形式,场景基本上不大变化,角色也没有很多动作,故事通过角色双方的对话来推动情节的发展。这类故事,实现的关键就在于“实现对话”,因此,“实现对话”就变成教学的任务。
【校本课程《小猫与小狗的相遇》教学片段】
……
教师提出问题:通过阅读故事,你了解了哪些信息?
学生思考并填写故事分析表。(角色、说什么)
教师继续提问:你发现故事是如何来推动的?
学生思考回答:通过两人之间的对话来推动的……
教师总结:在这个故事里,我们发现故事的场景不需要变化,角色数量不需要变化,而故事是通过“对话”来推进的。如果我们利用程序积木来完成对话,那故事是不是就大体完成了?
教师演示“说”的程序积木,并出示程序段。
学生尝试使用“说”的程序积木来完成任务。
……
学生展示生成新问题:为什么两个角色的对话很不自然,并不是一人问一人答。
教师提示:对话是需要一定顺序的,因此需要“等待”程序积木。
生尝试使用“等待”积木,设置好一定的数值,完成作品。
……
【教学评析】
在这个故事中,角色的数量、动作、场景等变化不大,故事情节通过角色对话来推动。因此,“实现对话”就是关键。通过任务导向,诱发、加强和维持学生的成就动机,帮助学生完成故事的实现。
2.从提出问题到解决问题。舞台故事表演时,每个角色是在某一个特定的条件下才能上台表演。在Scratch程序中有“广播”及“接收到广播”积木,就像是舞台故事的角色一样灵活方便。利用“谁,在哪里,干什么”的问题句式,帮助低龄儿童竖立清晰的思维线,从而解决问题。
【校本课程《小恐龙的炫耀》教学片段】
教师提出问题:通过阅读故事,你了解哪些信息?并填写角色活动表。
学生填写表格(角色、在哪里、干什么)。
师生共分析:通过角色活动,知道角色有对话及动作等变化。
教师教学“广播”及“接收广播”程序积木,编写球的示范程序,并给出关键词“让小鸟出现他才出现”。
教师再提出问题“除了让他出现他才出现,还能干什么?”
学生理解意思,填词:让他动他才动、让他说他才说、让他换装他才换……
教师归纳为“让谁……谁才……”的故事实现模式。自此,突破教学难点。
【教学评析】
在这个故事的实现过程中,难点在于人物的语言、动作比较多,故事的发展并没有一根顺序的线,学生感觉无处入手。因此,在教学中,教师并未讲解程序的编写过程,通过“让球出现球才出现”——“让他……他才……”——“让谁……谁才……”三段式推进中,建立非线性故事实现模式,帮助学生建立从故事到程序,再从程序回到故事的过程。
三、创作:故事后面的续写
在掌握以初期的编程知识后,可能通过故事续写来进入程序的综合学习。在续写时,要让低龄儿童使用线性结构和非线性结构不断地将自己的故事情节拆解。将大的故事分解成若干个小故事或是几句话,甚至是几个字。拆解的原则是必须是在儿童的认知范围内。通过不断地拆解,不断地叠加认知,从而形成对新问题处理的思维方式。
【校本课程《绿苹果的奇遇》教学片段】
……
教师提出问题:试着分析故事中各个角色的活动之间的关系。
学生小组讨论:角色分类,明确故事的实现方法。(角色、出场时间、程序实现)
【教学评析】
教师利用思维导图搭建学习的脚手架,让学生明确了不同角色的进场不同,它的程序实现的方式也是不同的,从而按角色的活动拆解故事,再利用已学过的知识解决问题。
四、创新:故事场景与情节的多样化
故事作品除了角色,还有场景、情节的设计,因此故事的实现具有多途径性和一定的开放性。它鼓励低龄儿童能够在合理的情况下,通过多种方式来解决实际问题。在实际教学中,低龄儿童常常会模仿老师的做法,经常会出现课堂千篇一律的程序。因此需要教师在教学中提取出具有变化的知识点,适时总结归纳,帮助儿童应用到学习过程中去,从而设计出个性化的作品。
五、鼓励:连续不断的新故事
鼓励对低龄儿童而言,是一种非常好的激励手段,是课堂教学的重要部分。通过鼓励,可以让儿童对故事再进行发散思考,然后通过程序知识来实现,这样能帮助儿童不断强化完善自己的思維方式。更重要的是,鼓励有利于让低龄儿童形成学习习惯上的良性循环,不断将问题的求解过程推广并移植到更广泛的问题中,有利于培养低龄儿童的计算思维,对低龄儿童的信息素养的培养来说具有一定的重要意义。