• 搜索
    搜新闻
  • 您的位置: 首页 >  资讯

    花钱还浪费娃时间,你也被这个兴趣班坑过吗? 天天即时看

    来源东西儿童教育时间:2023-04-13 10:34:02
    大家好,我是逃妈。

    上周在《AI 太要命!马斯克悄悄给娃 " 排课 ":专攻这几样,别的就不学了》这篇里和大家聊到马斯克给自家娃创建的学校。在这所学校里,一些传统学科被摒弃,编程却是重点主科。


    (资料图片)

    很多妈妈在那篇文章后留言求编程课,于是昨天我又赶紧追加了一篇,推荐我自己一直很认可的教学团队,给大家又搞来了一波几乎免费的试听课。

    本想着 " 编程 " 这个话题咱就先告一段落了。

    但紧接着又收到一位读者留言。

    她是刚关注我们不久的新读者,说读了我的文章后,有点儿迷糊。

    我写的" 四年级以上,如果孩子数理逻辑 OK,即便没有编程基础,也可以开始学 C++"

    可是,她家 5 年级的娃上学期去报编程班时,机构老师明明说的是,因为孩子之前完全没有接触过,建议先上图形化编程,把基础打牢啊~

    我问了一下具体情况,发现还是个数学挺不错,学过浅奥的孩子,心里就开始堵得慌:5 年级的孩子,还忽悠人家上图形化编程,真是有点儿坑啊!

    不行,我还得再补一篇,就专门列几个大家最容易混淆的编程学习问题来一一作答。

    别的我管不了,咱们平台的家人们,可不能踩这些坑了!

    Q1:

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

    不是!

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

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

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

    孩子可以用图形化编程来实现:

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

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

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

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

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

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

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

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

    年龄还小,尤其是 1-2 年级的孩子,如果从没接触过编程,建议学 " 图形化编程 "

    假如已经错过了这个阶段,孩子现在比较大了,尤其是 4 年级及其以上,即便从没接触过编程,我都建议直接学代码编程,Python、C++ 都可以。这个年龄段,真没必要再学一轮图形化编程了,又费马达又费电。

    看到这你可能会问,诶,那小时候费那劲儿干嘛,不如索性等到中高年级才开始?

    当然可以啊,我这计算机专业的,还是从大学本科才开始认认真真学编程的呢。

    人生漫长,有啥好慌?

    但现在不是环境不同了嘛,不早点儿开始,可能会错过一些中途的机会和资源。

    我国内一闺蜜,前几年娃主要整奥数,结果开始搞小升初后发现,隔壁家一智力相仿的小孩,因为早早准备了 CSP-J,已经拿到心仪学校的 offer,她家还迟迟未能确定。

    当然,孩子数学很好,我相信最终也会有不错的结果,只是道路曲折了点。

    无奈,竞争让学习这件事都不能 " 把鸡蛋放在同一个篮子里 " 了~

    另外,早点儿开始,也是为后面节省时间。

    到了中高年级,语数外各科的学习压力都上来了,哪有那么多时间分配给编程?

    如果小时候就已经通过图形化编程培养了编程思维,掌握了编程概念和方法,使得代码编程阶段一点就通,突飞猛进,也很香啊。

    当然,具体啥时候开始,各家有各家的判断,我只能点到为止。

    Q2:

    Python 是 C++ 的基础吗?

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

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

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

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

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

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

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

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

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

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

    其实逃逃现在更熟悉更常用的是 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 则是不错的选择。

    其实 Python 也能参加很多竞赛和考级,比如计算机学会 CCF 今年新增的 GESP 编程能力等级考试,1-4 级可以用图形化编程,5-8 级既可以用 Python,也可以用 C++。成绩好的话,还能直接免试 CSP-J/S 的第一轮,和信奥赛对接呢。具体我在昨天的文章里有讲过,这里就不再赘述。

    Q3:

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

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

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

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

    「解法」= 我们常说的编程里的 " 算法 ",是要烧脑的

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

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

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

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

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

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

    Q4:

    学编程就是搞信奥赛吗?

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

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

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

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

    昨天我给大家推荐的编程课,最早就是被引入人大附中实验小学、人大附中西山学校、北京 101、上海中学、北京科技大学附小、西安建筑科技大学附小等名校的。

    总之,编程就是一项类似于语数外那样的基本技能,人人都需要。

    至于要不要搞信奥赛,就看个人选择了。

    逃逃在美国也搞 USACO 信奥赛,说说我的体会。

    对升学有好处。

    这事在国内更明显,小升初、初升高、大学本科,研究生,这里头的每个阶段,如果有信奥赛的成绩,都有一定优势。

    对孩子的逻辑思维,尤其数学成绩,有好处。

    信奥赛里的算法,数据结构,和数学关系非常紧密。

    我可以这么跟你说,搞信奥赛的孩子,数学不可能差,只是看能好到什么地步。

    对将来就业有好处。

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

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

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

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

    包括最近火上天的,ChatGPT 的创造者 Sam Altman,8 岁就开始学编程。当然了,这些天牛们,离咱寻常百姓家的普通孩子有点儿远。

    但朝这个方向努力总没有错。方向对了,走一步是一步。你说对吧?

    EASTWEST

    一聊到编程我就容易扯东扯西,才答了四个问题,发现篇幅已经不小了

    内容比较干,需要消化消化,今天就先在这里打住。

    如果你觉得有帮助,解答了你心中的疑惑,记得在文末点个" 赞 "" 在看 "啊。

    我猜大家可能还有些疑问,可以翻翻我以前写过的文章

    咱们公号创建快 10 年了,我自己又是学计算机专业的,所以早些年就已经看到这个趋势,开始和大家掰编程,方方面面差不多都聊过一轮啦。

    用我的专业知识,讲讲编程的本质,以及带给孩子的思维好处。

    和大家聊聊编程该什么时候开始学,学什么,怎么选课。

    编程和乐高机器人啥关系、编程启蒙到底怎么做……

    说说信奥赛的来龙去脉

    推荐一部很棒的编程动画资源

    欢迎加入我们的大本营

    关键词:

    下一篇: 最后一页
    上一篇: 环球新资讯:“夸父一号”卫星观测数据向国内外试开放