◉转自雪球,作者年轻飞扬的背影
先说下背景,自己学编程近20年,本科数据结构也是英文教材,上课作业全英文教学,接触过10几个学Scratch的小孩,自己小孩也学过Scratch和Python,现在四年级。
1、学编程花钱?
其实花不了多少钱,只是花时间,哪样东西不花时间呢,关键是看你想让孩子学到什么效果,有些课程其实也就两千多块,孩子就能独立完成很多作品了。
2、学编程*核心的是数学,没必要学?
数学物理很重要没错,但是非常抽象,编程提供了一个工具和一种能力来形象的理解数学,我认为编程和数学物理这些是互相促进的关系,学了编程后更能融会贯通。
比如用Scratch画正多边形,正120边形怎么画?需要一点点小学数学除法就可以了,为什么画的这么像圆?这不就是祖冲之的割圆术么,这不就是一点点微积分思想么。
Scratch的一个经典案例是机器自动编故事,时间地点人物事情随机排列组合,比如月黑风高的晚上,老妈和猪在月球的地洞。小孩自己就能做出来,非常简单,非常好玩,其实这就是AI编故事的雏形了。
再比如学了一点Python,了解一点随机函数,就可以明白大数定理,还可以给小学一二年级的同学随机出加法题目。
再比如,用编程模拟自由落体运动,非常非常形象。再比如用Scratch做一个切水果的游戏(小学生完全能胜任而且做的非常好),怎么做出来自由落体的效果?怎么做出来抛物线的效果?
小学初中编程好的数学差不了,数学好的编程未必行,看看清华姚班的学生,信息学比赛牛逼的,数学不会差,因为编程是一个对综合能力要求非常高的科目,比如数学,逻辑思维,解决问题排查问题能力都包含。
3、孩子太小,根本学不会?
小样本实践证明,我觉得小学4年级的英语水平和数学水平足够玩了,逻辑能力也够,具体多少岁开始学这个当然是因人而宜的。
据我在好几个班级群里面的观察,大部分都是小学生(1-6年级都有),大概有1/3的学生可能是适合的,作业完成积极,家长也不懂编程的情况下,靠自己和老师沟通解决。
经常有几个同学很有想象力,而且实现出来,很好玩。有极个别的水平很高,我认为在动手解决项目问题上,可能超过很多计算机学生。没有一样东西是适合所有人的,自己选择即可。
4、编程只是做码农,没啥大用?
编程将来一定是基础学科,很多交叉学科的基础,什么学科不需要数据,什么学科不需要实验?不需要数据分析?大部分学科都需要,那么编程就是处理数据,尝试各种模型的利器。
学编程做项目(游戏)是一项综合工程,思维导图,逻辑能力,各种方法实验,对培养孩子耐心,分析并分解问题,解决问题能力是有一定帮助的。
孩子不喜欢不学就是,因为自己不了解,说人多的地方不要去就是坐井观天了,试一试,并没有什么坏处,我觉得编程比奥数解题有趣的多。