自从建了xuanbamath这个公众号,大部分人就默认我是个数学教授,可事实上我是正宗的计算机教授,从本科到博士一直是计算机专业,毕业后至今已经从事了十几年的计算机教学与科研工作。

前年,我参加了由全国高等学校计算机教育研究会提出的《青少年编程能力等级》系列团体标准的制定,提了许多建议(比如扭转重算法轻结构的教学倾向等)并被采纳,后来又给国内大型编程机构做过图形化编程的课程评测,之后就有不少人咨询我青少年编程的问题。今天,我就按自己的理解,并结合去年中国计算机大会关于青少年计算思维培养的专题研讨(文中的PPT都来自于这个研讨会),回答一下这几个问题。

问题一:孩子要不要学编程?

其实,这个问题我很难回答。家长在问这个问题的时候首先要想清楚让孩子学编程的目的是什么?根据我的观察,大致有三类:

  1. 盲目跟风型。这类家长对编程基本没什么了解,要么是看到身边的孩子在学编程,要么是禁不住铺天盖地的广告宣传轰炸。他们让孩子学编程的目的只有一个:我的孩子不能比别的孩子差!如果家长是抱着这样的心态,那谁也拉不住。你让他别学,他还以为你怀揣不良居心。对这类家长,需要了解一下编程教育的作用。下面这张PPT应该能给出部分答案。编程其实不仅仅是写代码,更多的是对计算思维的培养,特别是抽象、分析和解决问题的能力。
  2. 功利型。很多家长让孩子学编程其实都带有很强的功利性,即通过参加信息奥赛让孩子获得升学资格或加分。毕竟在很多地区,信奥还属于新兴事物,分母比较小,孩子成功的概率相对较高。对于这类家长,其实他们心中已经有了答案。问这个问题也就是希望得到肯定的答案。下图给了长沙市小升初和初升高的现状说明。
  3. 思维培养型。不少家长问编程对于培养孩子的逻辑思维有没有帮助。作为一个计算机科班出身的,我的回答必须是可以,而且是非常可以。但如果仅仅是为了培养逻辑思维,那可选择的载体有很多,棋类、数学、编程,甚至包括写作,都可以培养孩子的逻辑思维,编程只是一种载体而已。关键还得看孩子的兴趣和长处。一般而言,喜欢动手的男生会比较喜欢编程,相对而言,女生一般对编程的兴趣要小一点。但需要注意的是,与数学培训一样,现在的编程培训也充满了夸大和虚假宣传。如果看到类似于“七天学会人工智能”、“小学学完网络流”之类的宣传,那一定要慎之又慎之。

问题二:什么时候学编程合适?

小学二年级之前,建议不要学编程,因为这个阶段,孩子基本的逻辑思维都没有建立。现在铺天盖地的幼儿编程宣传无非是各个机构向下抢生源的市场策略。

但与奥数一样,在商业资本的驱使下,编程培训的低龄化发展趋势非常迅猛。不过有一个现象值得:顶级选手的培养与起步时间无明显相关性。可以看到,湖南的省队成员中有一大部分是初中以后才开始接触编程的。这个结论其实与奥数也有类似之处。我一直强调的是,在合适的时间做合适的事,可以起到事半功倍的作用。

小学三四年级,有条件的可以接触一下图形化编程。我知道有些地区的小学信息课里已经加入了图形化编程的内容,但课时比较少。图形化编程能让孩子初步理解计算机程序是怎么工作的,并初步培养孩子的计算思维,更重要的是所见即所得的方式容易让孩子对编程产生兴趣。

如果孩子确实对编程感兴趣,那五年级以后,就可以开始纯代码的编程了。这个阶段,这一部分孩子的逻辑和数学基础应能支撑他们对程序逻辑的把握。

问题三:应该学什么编程语言?

如果是要走这信息奥赛这条路,那C 是必须的。其实为应付竞赛所学的C ,只是一点最基本的过程性语言的语法,面向对象的部分基本不涉及。

而如果不想走竞赛路线,只是希望孩子能接触一下编程,学习计算的思维,并期待很快见到编程的成果,那Python是不错的选择。

当然,如果要对计算机体系结构有比较深入的了解,立志于以后当系统程序员,那C语言是最好的选择。

问题四:学奥数好还是学编程好?

有不少家长纠结,到底是该学奥数还是学编程。其实这归根结底是个实用主义问题:到底是学奥数还是学编程更容易达到家长期望的目标?

这么说吧,两者都不容易。目前来看,信奥在优录方面更容易一点,但要最终进入国家集训队达到免试入清北的目标也非常难。虽然目前看,信奥的分母小一些,但我预计,这其中存在的投机机会会让这个分母在未来几年迅速变大。

有些相对理性的家长担心学信奥的风险。奥数如果学不好没达到升学的目标,至少对中高考的数学是有帮助的。但是,如果学信奥最后没有达成升学的目标,家长就会认为付出全都泡汤了。从升学的角度看,确实是这样。学信奥对中高考数学的帮助可以说微乎其微,甚至会因为占用了大量的时间而起到负面作用。但如果孩子确实喜欢编程,那么大学以后,之前的所学就会发挥作用。而反观奥数,除了鸡娃,很可能在以后的学习和工作中就用处不大了。

记得有个家长说自己家娃高一,非常喜欢编程,立志以后要当一名优秀的程序员。但考了几次,距离省队的门槛还是有一段距离,问我该怎么办?我的建议是可以再给他一个学期的机会,如果还不行,那就把这个兴趣爱好暂时先放一放,等考上理想的大学后再充分释放自己的能量。这其实也是一种折中和无奈之举。我们要尊重理想,也需要在理想和现实之间做好平衡,这并不容易。

数学培训历史比较悠久,各大机构一般都对普通校内提升和奥数做了明确的班型区分。而编程培训市场发展时间短,在这方面还不完善。现在的许多家长谈到编程就会跟信奥挂钩,一方面是家长的功利性驱使,另一方面则是市场并没有将编程普及教育和信奥有效脱钩。但与奥数一样,适合信息奥赛的永远只是那么一小部分人,家长不要期望过高。

对于编程普及教育存在的问题,研讨会上也进行了很好的总结。其中,与数学培训类似,超前教育与师资缺乏的问题是教学本身中极为严重的问题,而且这两个问题比数学培训市场更为严重。

公众号xuanbamath创立四周年

为大家精选了12篇必读文章。

  1. 一个数学学霸爸爸辅导孩子的心路历程
  2. 是什么样的教育,竟要让我们的孩子以命相搏?
  3. 奥数冠军教你如何解题(付费阅读,买一赠一)
  4. 讲座视频:怎样在生活中引导孩子进行数学思考?
  5. 为什么飞机的往返飞行时间不同?
  6. 古诗词中的数学
  7. 孤独而高冷的素数
  8. 原来,毁掉一个孩子的深入思考这么容易!
  9. 没有葫芦也要会画瓢, 说说我的奥数启蒙经历
  10. 少儿编程,我这样教

11.计划教育下的数学教育之怪状

12.李国杰院士作序推荐高考数学满分得主新书《给孩子的数学思维课》

欢迎购买我的新书《给孩子的数学思维课》,京东和当当均有售

发表回复

后才能评论