揭秘!为什么学而思C++课程选拔采用计算思维评估?
-
-
0 人点赞了该文章 · 152 浏览
经常有家长问我,“是不是数学好的孩子编程就好?”、“学编程是不是得学数学竞赛?”数学与编程确实有相关性,数学好的孩子大比例编程也能学得好,本质的相同点在于思维上,都是思维能力强所以数学好、编程也好。但也有一些孩子在数学中名列前茅,但学编程却是举步维艰,在老师不断调整修改后,每次课的例题都完成了,但一测试基础题都难以解决。原因很简单,小奥所锻炼的思维与编程所要求的思维差异明显:小奥更多教给孩子开阔思维,从问题特殊性入手,巧解题目,一题多解也是小奥的特色。但编程更多强调的是逆向思维,顺序性思维,步骤与条理,抽象问题,讲求系统性思考,全面性思考,泛化问题,多题一解。简单来说,如果孩子步骤条理和抽象理解差的话,编程对于他就较难上手,小奥中很少能考察到这些点,经常看到一些孩子写题不动笔,脑子里想一想就出答案了,这对于更进一步的学习是很不利的。当然小奥学得好,思维灵活在编程算法分析中将具有较大优势,这又是后话了。那有没有比数学好更准的判定方法呢?有的,如果你家孩子能把解题过程清晰地讲出来,让别的小朋友听懂,那么他学编程一定会非常轻松。这其实就是计算思维的一种体现,但这种方式不容易量化评估,很难确定标准。
计算思维虽然在科研学术圈已成为公认的普世思维方式,和理论思维、实验思维一样,任何人在解决任何问题时都可以运用。但计算思维对于大众来说却较为陌生,常常被误解。
计算思维是原卡内基-梅隆大学华裔教授周以真在2006年第一个明确提出的概念,并在2017年对其做了明确的定义。 “Computational thinking is the thought processes involved in formulating a problem and expressing its solution(s) in such a way that a computer—human or machine—can effectively carry out.”

我翻译如下:
计算思维是指在阐述问题和设计其解决方案时所涉及的思维过程,目的是为了使人或机器可以有效地执行此方案。其实,计算思维就是一种高效解决问题的思考方式,在生活中不少问题的处理时,很多人不自觉地就会用到。进一步,计算思维能够将一个复杂问题清晰、抽象地描述出来,并将问题的解决方案表示为一个极度理性化的处理流程—即按照流程步骤依次处理,其他人(计算机)就能解决问题。因此计算思维独立于编程存在,但编程与计算思维又密不可分,计算思维越强,编程越容易上手。
周以真教授将计算思维拆解了四个方面,分别是分解思维、抽象思维、模式识别与算法思维,如下图:

我们将信息竞赛中的难点提取出来结合具体问题,侧重考察计算思维中的1-2个层面,进而通过多个题目的考察能够相对客观地量化评估学生计算思维能力。下面我们来看看评估题的具体形式。
这是一道学而思的一道计算思维评估题目:

本题考查:提取信息、记录最小值思想、搜索过程模拟。
本题光想而不动笔进行信息记录极难解决,核心是在模拟使用传送装置的过程中记录到达每一层的最少使用次数。
如果在到达某一层时传送装置的已使用次数大于之前记录的到达这一层的最少使用次数,则这种方案一定不会是到达10层的最少次数,可以放弃进一步模拟,考虑其他方案。
本题是信息竞赛中广度/深度优先搜索算法的简单应用,越快想到记录最少使用次数,能够越快地解决题目。
下面是解题中的参考表:

全部 0条评论