鞠倩伟少儿编程教育究竟教什么?-三五创客

鞠倩伟
当今社会,少儿编程教育在全球范围内已然是趋势——
16 个欧美国家已将编程纳入了公立学校的日常课程;
日本从2012年就在中小学生中普及编程教育;
2014年,英国政府通过新的教育政策,将编程课列为6-16岁学生的必修课程;
2017年,新加坡的中小学生将多一门编程的考试科目。
而编程教育在不远的将来也将在国内普及——
浙江省2017年的新高考方案已将信息技术(含编程)纳入高考科目,预计今后将有更多省份将信息技术纳入高考科目。
伴随互联网技术的颠覆式发展,青少年教育出现了更多可能性,少儿编程教育越来越被重视,或将成为全球科技教育领域的一大热点。“编程从娃娃抓起”的口号在中国日渐风靡。然而,被视为枯燥代名词的“编程”与少儿教育联姻,诞生的究竟是人工智能的时代密码还是创业者追逐的资本泡沫?少儿编程教育到底要教什么呢?

小三哥对于编程,也是有自己的理解,很多人都认为编程就是写代码,其实修改网页代码排版的狭义编程是计算机自己可以解决的,但编程不仅仅是写代码,编程的核心本质是算法和逻辑。创造力是机器很难达到的高度,任何机器都必须按照一定的规则运行,然而现实世界人类生活的最大特点是没有绝对规则。下面小三哥带大家一起看一下少儿编程究竟教什么?

其实少儿编程教育所关注的教育目标主要是计算思维(Computational thinking)和算法思维(algorithmic thinking)和结合STEAM教育跨学科理念的其他素养。计算思维和算法思维这两个词乍一听很像,但是仔细思考却有着完全不同的含义。
翻阅国外诸多教育类博客不难发现,在教育领域中关于计算思维和算法思维的提法在2010年前后就已经出现。而在Subrata Dasgupta于2016年出版的图书《Computer Science:A Very Short Introduction》一书中,作者从计算机科学的角度对计算思维和算法思维给出了介绍说明。
关于计算思维,作者说道“什么是计算思维? AI研究员PaulRosenbloom的解释集中在两个关系:相互作用和实现……“计算思维”解释了计算思维如何超越分析和解决问题的技能,它包含一种想象的方法,通观察类比和构建隐喻……”关于算法思维,作者这样介绍“算法是计算机科学的中心 - 计算思维正在形成算法思维的习惯。为了使程序符合算法的要求,它必须具有以下属性:有限性,确定性,有效性,以及具有一个或多个输入和一个或多个输出。算法是确定的,抽象的工件和程序知识……”
书中的观点清晰明了,作者认为计算思维是形成算法思维的基础,即算法思维应当是在计算思维形成后逐步形成的高阶思维。少儿编程教育应当培养怎样的计算思维呢?

2016年度ISTE(国际技术教育协会)学生标准将计算思维者的目标定义为“学生制定和运用理解和解决问题的策略,利用技术方法的力量开发和测试解决方案”。对于学生成为计算思维者,他们必须开发他们在这方面的技能。乐高教育认为计算思维是分析思维的基础技能,将支持学生通过计算机和计算机应用程序来解决问题。学生不仅需要学习如何处理和解决一般问题,而且要通过数学或计算过程的增加部分来解决问题。在这些过程中寻求成功将会更好地使学生在未来使用编码和计算应用程序。计算思维包括分解,泛化,算法思维,评估和抽象。这些步骤一起教会学生如何处理问题并在计算环境中解决问题的基础。有趣的是,编码只是这种系统方法的一部分。
①分解:教导学生将问题分解成更小的块。 这种方法使学生能够在更易于管理的部分中看到问题,而不是立即被整个问题压倒在脑后。学生了解到,有可能单独处理问题的一部分,然后将这些部分重新组合起来,以获得一个完整的解决方案。 这种方法可帮助学生学习如何消除问题的复杂性,使其更易于管理。
②概括,也被称为模式识别,挑战学生观察问题的块,以确定什么样的模式出现。 可能是熟悉的问题的一部分,允许学生应用已知的解决方案或自动化过程。
③算法思维: 这样可以让学生们一起分一步一步的解决问题。 当学生已经定义了这些步骤时,他们能够在他们的计算应用程序中工作来编程步骤(即编码)来解决问题。这个阶段允许学生制定一个计划并遵循该计划,看是否提供了所需的解决方案。
④评价。 这是让学生在完成这一过程中学习的重要一步,以确保他们了解如何评估解决方案如何满足问题的需求。 这一步在计算思维中并不常用,但是对于正在发展解释和支持他们的解决方案的能力的学生来说,这个问题至关重要。它要求学生考虑是否满足了问题的所有需求,以及为什么这个解决方案是最合适的。 这个步骤还可以通过准备成功的证据来准备学生分享他们的工作。
⑤抽象。 这是一个最后一步,允许学生反思已经解决的问题,看看是否有可以在计算系统中建立的一般规则。 通过这种方式,学生可以在计算系统中开发自动化流程,以获得将来出现的类似问题。这一步也有助于学生将解决方案的简单术语进行抛光,从而使之更适用于将来的其他问题。
通过ISTE的文章反过来印证了《ComputerScience:A Very Short Introduction》一书中的观点,即计算思维不仅仅包含解决问题的技能,更包含了一种想象的方法,从具象到抽象。
从这个角度也给诸位少儿编程教育者们和广大热衷于编程教育的家长们提个醒。少儿编程教育的目标并不是培养下一代“码农”,仅仅会写代码并不意味着孩子们具备了计算思维。在国内没有明确的标准指导的情况下,不妨借鉴ISTE的标准来对照目前的少儿编程课程,我们是不是给了孩子们他们真正应该需要的东西。[i]
部分内容引用自《Turn coders into computational thinkers》——ISTE