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的路子,也未尝不可。


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



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

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

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