迈克尔·乌尔曼是美国乔治城大学医学中心大脑与语言实验室的主任(在心理语言学和认知神经学领域影响巨大)研究发现,孩子和大人学习计算机语言用到的通用记忆系统和他们学自然语言是一样的,大脑越年轻越容易吸收语言,所以在孩子越小的时候开始学外语越好。在音乐方面有一个关键的数据点可以支持这一观点:伟大的小提琴家不是在二十几岁才开始学拉琴的,他们通常始于三四岁,那正是程序性记忆最敏感的时候。
爱尔兰国立大学的计算机科学家保罗·吉布森说“5至11岁之间的孩子在学习算法和计算上表现出的突出潜质让我觉得如果等到他们十几岁了再学这些基础知识就太可惜了。”
我的结论是孩子5岁开始就可以接触编程了。
2006年,现任微软全球资深副总裁、曾任美国卡内基梅隆大学计算机科学系副主任的周以真教授首创性地提出“计算思维”的概念,她认为“计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。”计算思维应该面向每一位学生。我现在教我的小孩子学“1、2、3”,是一个从易到难的过程。而计算机的这种逻辑思维方式到底应该在哪一个年龄段,用什么方式教给小孩子仍是一个很好的研究和探索题目。
计算思维包含了数学性思维和工程性思维,而其最重要的思维模式就是抽象话语模式,这些都需要多年的时间积累。计算机是最近在逻辑思维培养方面,大家关注的热点话题。当我们跟大学老师交流,如何做大学的计算机教育时,我们得知,他们在大学里教课会教到逻辑树等。但教授们发现反而小学生认知更快,孩子们会用各种方式理解。到了大学则会用另外一种方式理解。所以计算思维应该从小、中、大学都一直在教,并且是针对不同年龄去教学。
其实,编程需要的思维能力是把一件事情先抽象化出来,再逻辑化表达出来的能力,这是解决问题的一个纬度,也是看问题的一个视角。能找到这个问题的一个视角,再用具有这种思考问题的方式,就会找到解决问题的方法。也就可以用计算机工具来解决问题。澳大利亚教小孩子一些很小的计算机基础知识点,他们叫“任务分配原则”,是让小孩子设计做饭,30分钟内做好饭。但是煮粥要10分钟,炒菜要5分钟,切菜几分钟,如果这些活一个个分开做,可能会超过100分钟,这就要考虑如何排序,可以在30分钟内完成这些事,学生在日常生活,过家家就把这些问题解决了,具备了这种思维方式,小孩子下次遇到另外一个问题也会想到时间分配,或任务规划。他们的小学考试会考这种思维能力,把计算机基础的知识点映射到生活中,先抽象化,然后再逻辑化。这其实在计算机里就是时间分配的问题。在生活中,要学会掌握合理安排流程的能力,一步一步优化,学生需要这种设计和解决问题的能力,所以要在生活中刻意去训练。
即便将来不做职业程序员,但有了编程思维能力,就知道怎么把问题抽象化,再把它逻辑化表达出来,找一个工程师把自己的想法讲出来,让他帮你实现。如果没有这个思维,可能连问题都描述不清楚。
不要把编程想得太难,因为每个学生以后的职业发展和个人兴趣都不一样,所以我觉得通过学习简单的编程掌握计算思维能力可以帮助我们未来的学习、工作和生活。
领取专属 10元无门槛券
私享最新 技术干货