Redian新闻
>
编程是不是有点过热了?这4个问题没搞清楚先别急着报班

编程是不是有点过热了?这4个问题没搞清楚先别急着报班

教育



大家好,我是逃妈。


前阵子我们这边一个AIME中上难度级别的数学竞赛(美国奥某数分为AMC8, AMC10, AMC12, AIME…AIME中上难度差不多是高考压轴题左右),第一名居然是个小学四年级的小朋友!


家长群一片哗然,真是一届更比一届卷,变着法儿地卷啊。


当然,某种程度上也说明了,小学是智力高速发展阶段,只要资源给到位,有些天赋少年的确能早早冒尖儿。


国内这些年奥某数被打压,但另一个非常类似,同样拼智商,和升学紧密相关的比赛火了——编程。


前几天我看到一个数据,CSP-J/S(信息学奥赛的前置赛,适合小学、初中孩子)的参赛人数从2021年的5.3万,狂飙到2023年的22万。 



当然,和之前“百万级别”的小奥比起来,还只是“小巫见大巫”。


如无意外肯定还会继续走高。


一来它和国家重视科技教育的大方向完全一致;


二来和升学联系紧密。比如小升初如果有择校意向,小考坑深暗箱多,评三好/红领巾奖章啥的场外因素大,CSP是目前唯一明确、公开、公正的筹码。


不过,编程不像数学那样人人都很熟悉(难题不一定做得起,但数学咱都学过嘛),这种过热现象,很容易让一些不了解底细的家长被坑。


之前就有读者跟我讲,数学底子还不错的5年级娃,去报班,机构居然建议从图形化编程学起~


我听了真的很生气。这不是明摆耽误孩子时间嚯课时费么?!


关于编程的方方面面,我以前写过很多,在CSP越来越热的今天,我觉得有必要再来和大家过一下。


编程是双减后为数不多的,逆风增长的学科,而且直接和升学挂钩。但越是火热,咱们在给孩子选课报班时,就越要慎重。


先说说最关键的一个问题:


01

学编程就是搞信奥赛吗?

不是!


编程和信奥赛的关系,就像数学和奥数的关系。


100%的孩子需要学数学,80%的孩子适合学奥数,50%适合打比赛,5%能出成绩。


放到编程和信奥赛上,也很类似。


100%的孩子需要学编程,这事已经毫无悬念。教育部早有引导,现在沿海一线城市的很多中小学,也都开设了编程课。


一些要求更高的名校,还会引入更专业更权威的课程,比如我之前给大家推荐的编程课,最早就是被引入人大附中实验小学、人大附中西山学校、北京101、上海中学、北京科技大学附小、西安建筑科技大学附小等名校的。


总之,未来编程就是一项类似于语数外那样的基本技能,人人都需要,没太多可讨论的。


但至于要不要搞信奥赛,得看孩子情况。


家长可以大致这样判断:


· 如果孩子校内数学喂不饱,对浅奥也小有兴趣,那完全值得试试信奥;


· 如果孩子校内数学还搞不定,那先打住,咱把数学搞好了,再说别的。


搞信奥有什么好处呢?


第一,看基本面。信奥对孩子的逻辑思维,绝对有帮助。


说白了就是烧脑,小学是孩子智力发展的关键阶段,不烧白不烧,烧烧更聪明。


而且,信奥赛里的算法,数据结构,和数学关系非常紧密。搞信奥的孩子,数学成绩大概率也会名列前茅。


第二,看升学优势。对小升初、初升高、升大学都有好处。


这个已经很明显了。在很多地区,如果小学能在CSP入门组拿奖,初中能在CSP提高组拿奖,那都是妥妥的升学硬核材料。


但是,有这个意向的家长请务必注意时间点。


CSP每年只考一次,如果想作为小升初的筹码,那最好5、6年级都参加(只参加一次风险太大),倒推回来最晚4年级就得开始学C++和信奥算法,否则来不及(天牛除外)。

 

第三,看长远。对将来就业有好处。


美国这边,能叫得出名字的所有科技大厂,面试几乎都考算法,就是类似信奥赛那样的题目。


国内我听到过一个说法,如果能在信奥赛强省(比如浙江、广东)CSP提高组拿一等奖的孩子,将来的工作年薪不会低于30万。


当然这只是听说,在就业形势那么困难的今天,谁也不敢做这个保证。


不过,编程、信奥赛基本是科技、高薪的代名词了。放眼望去,有多少科技大咖都是早早开始搞编程,搞信奥赛的。



包括今年火上天的,ChatGPT的创造者Sam Altman,8岁就开始学编程。



当然了,这些天牛们,离咱寻常百姓家的普通孩子有点儿远。


但至少证明这个方向没有错。你说对吧?


OK,搞清楚“编程”和“信奥”的关系,有了大方向后,咱们接下来细掰一些“技术”术语:

02

图形化编程是代码编程的基础吗?

不是!

 

本质上它们是平等的,无论图形化编程还是代码编程,只是不同的实现形式。


编程中要学习的核心方法概念,比如顺序、循环、条件、变量、递归、函数、调用、调试等等,在图形化编程中有,在代码编程中同样也有。


举个例子,我们要编一个程序,“求1加到100的和”


孩子可以用图形化编程来实现(即便你完全不懂编程,只要能看懂下面这些英文单词,肯定能七七八八猜出啥意思):



其中的关键编程概念是「循环」(repeat),每次循环中,加数a增加1,加到被加数sum里;循环100次后,被加数sum就是我们要求的总数。


实现同样的功能,用Python来编写,是这样:

这里的核心部分,for….也是个「循环」,它所做的事情和刚才一模一样:循环遍历从 1 到 100 的整数,加到被加数sum里。


我们说图形化编程更简单,只是因为它使用了更直观的图形方块元素来表示程序。年龄小的孩子,不需要会打字,只要拖拽一下方块,像搭积木一样就能把程序写好。


但在编程思维层面,图形化编程和代码编程是一样的。


比如上面这个例子里,孩子都得去理解「循环」这个概念。是用图形方块还是用代码,只是不同的呈现形式而已,换汤不换药。


换句话说,“图形化编程”阶段不是必须的,它只是降低了编程操作难度和年龄门槛,让孩子在年龄很小,时间充足的时候就可以开始培养编程兴趣,编程思维。


所以,我的推荐逻辑是这样:


· 年龄还小,尤其是1-2年级的孩子如果从没接触过编程,建议学“图形化编程”。通过图形化编程培养编程思维,掌握编程概念和方法,将来进入代码阶段一点就通,节省时间,毕竟现在的孩子,肯定是越大越忙。


· 假如已经错过了这个阶段,孩子现在比较大了,尤其是4年级及其以上即便从没接触过编程,我都建议直接学代码编程。


03

Python是C++的基础吗?

不是!


本质上它们是平等的,是两种不同的编程语言。


我们可以说,“Python学好了,对学C++有一定帮助”。


但不可以说,“没学过Python, 就不能学C++”或者“没学过Python, 就学不好C++”。


就好比一个人英文学得好,那他学法文也比较容易,因为阅读、写作这些东西是相通的。


但你不能说,“没学过英文, 就不能学法文”或者“没学好英文, 就学不好法文”。对不对?


同样的编程功能,能用Python实现的,肯定也能用C++来实现,反之亦然。


那为什么很多人说,C++比Python难呢?


那是因为,C++的语法比Python要复杂些。


实现同样的功能,C++的代码看起来更长更繁琐,Python则更简洁明了。


今年逃逃生日时给他订蛋糕,当时正好是美国信奥赛USACO的赛季,我就索性配合一下,给他整了个“程序员蛋糕”,上面写了段Python代码,体现浓浓的程序员气质。



其实逃逃现在更熟悉更常用的是C++。我之所以用Python,就是因为换成C++太长了,蛋糕师不接单,说写不下~


那C++的优越之处在哪儿?


它的性能更好,执行效率更高。也因此成为了信奥赛的官方指定语言,从入门级别的CSP-J,到最后的国际信奥IOI,都指定使用C++。因为编程竞赛比拼的是算法效率,对时间、空间复杂度都有要求。


等等,细想是不是有哪里不妥?


不对啊,都统一成Python也一样啊。既然是竞赛,看的是选手之间的相对值,只要是apple to apple, 都是一样的啊。


是这么个道理,但中国计算机学会CCF和国际信奥赛组委会都指定了C++,咱能怎么着?


不过,我也跟大家说过好多次了,不要一听到C++就如临大敌,觉得是揠苗助长啥的😓


竞赛用到的C++语法只是C++很小的一个子集,范围远没有软件工程上用的C++那么广, C++中让人头大的内存管理、指针的指针,还有面向对象等内容,信奥赛里都不涉及。


所以,我的建议是,四年级及其以上孩子,


· 如果目标明确,想试水CSP-J/S信奥赛,直接学C++就好,反正无论你学别的什么,最终还得从头学C++;


· 如果无意在竞赛这条路上走远,但希望孩子也能掌握编程,能用编程来做些科研项目,Python则是不错的选择。


04

搞信奥赛就是学C++吗?

不是!


我打个比分,孩子要解决一道奥数题,他苦思冥想后终于找到「解法」


现在,他要把这个解法告诉老师,实际上要把解法讲清楚,孩子可以用中文讲,也可以用英文讲,但这老师规矩多,他指定了要用「中文」讲。


如果把这里的“奥数题”换成“信奥题”,那么,


「解法」 = 我们常说的编程里的“算法”,是比较烧脑的

「中文」 = C++,是个表达工具


所以,信奥赛和C++之间的关系是:


孩子要搞信奥赛,必须得学C++;

但只学C++,还搞不了信奥赛。


信奥赛的难,在算法,不在编程语言。


同样的题目,用C++难,用Python、甚至用图形化编程,也一样难。


EASTWEST


最后来小结一下,今天和大家聊了几个关于编程和信奥赛的关键问题:


· 编程不等于信奥赛。每个孩子都需要学编程,但不是每个孩子都适合搞信奥赛,它俩关系就跟数学和奥数一样。


· 图形化编程不是代码编程的基础。年龄较小的孩子建议从图形化编程学起,一来好入手,二来为后面争取时间;年龄较大的孩子建议直接从代码编程开始,只要肯花学时间,不存在“基础不扎实”的问题。


· Python不是C++的基础。四年级以上的孩子,笃定要试水信奥赛,建议直接学C++。年龄小时间多的娃,随意,学了总能为后来争取时间。


· 要搞信奥赛,除了学C++,还得学信奥算法。难点在后者。


内容比较干,可能需要消化消化。我想大家有了这些概念后,再去给孩子选择编程学习机构、报编程班的时候,就能有的放矢,不容易踩坑了。


如果你觉得有帮助,记得在文末点个“”和“在看”哦。


咱们公号创建快10年了,我自己又是学计算机专业的,所以早在几年前就开始和大家聊编程了。当时只是说趋势,但到了今年,讲真连我都觉得编程有点儿过热了,大有赶超当年的奥数、KET/PET之势。


我觉得吧,编程肯定是要学,但主要还是奔着培养孩子逻辑思维、编程思维的目标去。


如果孩子特别感兴趣也有天赋,那大可往信奥方向发展;又或者孩子掌握了编程这个工具后,激发了用它来实现些创新、科创类的点子,早早走上startup的路子,也未尝不可。


作为家长主要还是给孩子提供条件,至于后面能走多远,那就是可遇不可求的啰。平常心,反正过程中的思维提升和收获,肯定会有,不亏的。



文章配图:采集于网络,版权归原作者所有,如有侵权,请告知删除。

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
我服了,山核桃这东西,好吃得有点过头了吧!今天在大温别急着加油 明天油价要暴跌这么多周小平:2019西港网赌覆灭,2023缅北电诈清理进行时,谁是真正的反诈中流砥柱?我们必须搞清楚!微博万转:跳槽被问离职原因?高情商的人不直接回答,而是想清楚这2个问题美丽的皱纹孩子学习不好,先别急着学,先玩。Le Rouge et Le Noir, 1997 Jean-Marie Winling/Mireille Herbstmeye今年的漫改剧,好看得有点过分了“用女友的语气和老板说话...”老板:我们之间是不是有点暧昧了!孩子肠胃不适别急着用药?这些知识家长一定要知道→无论如何都不想工作了,我是不是有什么心理问题?好尴尬!克林顿致哀摆乌龙,谁去世都没搞清楚!大模型是不是有点太多了?在美国合法工作,先要搞清楚OPT这些规定为什么私生子被叫做混蛋:bastard今冬呼吸道疾病防治,必须了解的九个问题,问清楚了!最摧毁婚姻的不是贫穷、不是无性,而是这4个字现在谈永不放弃,是不是有点晚了?10英镑就能抽中价值上百万镑的大豪宅?先别急!这里的“大坑”还得防......重返巴黎圣母院年轻人需要提前想清楚的 100 个问题?真的别急着买房!他们把$1800月租换成$4150房贷, 急着买房后现在夜不能眠清晨,品一杯yy56牌咖啡这几点没搞清,辛辛苦苦每天带娃户外2小时,还是防不了近视朋友们,真的绝了,山核桃这东西,好吃得有点过头了吧!缺大家电的叫你别急着买别急着买!你看看今天果然便宜成这鬼样了吧!服了,山核桃这东西,好吃得有点过头了吧!知道你急,但你先别急!多伦多这些地方还能领到免费新冠自测盒女教师网恋被骗400万,曾12次反驳民警苦劝:我不会哭着报警食品推荐 | 我服了,山核桃这东西,好吃得有点过头了吧!卷,还是不卷?这是个问题|热带一家人(17)金灿荣:解决台湾问题没有具体时间表,但客观形势非常严峻这些问题还没搞明白,你居然就敢在大温搞房子?破防了,一时兴起在家DIY染发,效果真的有点过分...加拿大留学各阶段学制是几年?你不会还没搞清楚吧?
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。