随着人工智能成为热门话题,编程也成为父母们关注的焦点。其实,让孩子学习编程的目的并不是让孩子写代码,掌握算法和逻辑思维才是王道。
人工智能时代,学编程势在必行
2016年3月英国伦敦Google DeepMind开发的人工智能围棋程序AlphaGo打败围棋世界冠军李世石,引发了全世界对于超级人工智能及与人类创造的具有超级人工智能机器的讨论。
库兹韦尔认为:“我们的思维将成为生物与非生物思维的混合体。”
雷·库兹韦尔预言,2030年人类将与人工智能结合,变身“混血儿”。
软银首席执行长孙正义称,未来30年内,超级智能机器人数量将超过人类。
来自英国银行的一个报告指出:未来10-20年,英美50%人类的工作,将会被人工智能所取代。在未来4-5年内,不但技术含量低的工人、司机、仓库管理人员会大量失业。甚至连像医生、律师、基金经理等技术含量高的金领也有可能会被人工智能所取代。
既然人工智能时代到来的步伐看来已经势不可挡,我们又无法预测未来。与恐惧未来,还不如培养自己的孩子AI抢不走的竞争力,让孩子学习如何去对抗人工智可能带来的威胁。
事实上,过去20年引领全球互联网风潮的人物,都与学习计算机或编程有关。
- 比尔盖茨:哈佛大学计算机系(世界第一系HarvardCS50,Bing免费硬广)
- 杰夫贝佐斯(亚马逊):普林斯顿计算机系(表示不服,咱才是第一)
- 小札(脸书):哈佛大学计算机系
- 斯皮格尔(Snapchat,米兰达可儿老公,世界上最年轻的亿万富翁):斯坦福计算机系
- 马化腾:深圳大学计算机系
- 李彦宏:北京大学信息管理,布法罗纽约州立大学计算机硕士
原来国外早开始行动了
在美国的Hour of Code Week( 全民学编程周)中,奥巴马为了号召美国吃瓜群众让娃学编程,还亲自写了一段java代码,并表示向美国学校资助40亿美元用于计算机科学教育。
英国也将2014年设立为"Year of Code",规定所有5-16岁的学生都必须学习计算机编程。在法国,编程被纳入了初等义务教育的选修课程。在北欧国家如芬兰、爱沙尼亚也把编程作为了一门非常重要的义务教育学科等。
苹果公司首席执行官蒂姆·库克(Tim Cook)给出了这样一条建议:“编程应该成为所有公立学校的必修课。”
去年苹果全球开发者大会上,库克点名邀请了一位“大牌”工程师——10岁的小男孩Yuma Soerianto。他6岁开始学编程,7岁自学完成了斯坦福大学的编程,8岁开发点餐APP上架,9岁在苹果商店上架5款APP,10岁参加码农界精英大会—苹果开发者大会。
由此可以看出,让孩子学习编程在国外的教学大纲中的计算机部分中占有重要的地位。
在中国,编程已成为必修内容
国务院于2017年7月印发的《新一代人工智能发展规划》提道,“实施全民智能教育项目,在中小学阶段设置人工智能相关课程”。在2018年的两会中,人工智能被再一次写入政府两会报告。
教育部还公布年度高校本科专业备案和审批结果,获批“机器人工程”专业的高校数据由去年的24所达到今年的60所。其中江苏共有10所高校申请设立该专业。
今年3月6日,南京大学官网正式发布新闻,经研究决定,南京大学正式成立人工智能学院。
学编程,究竟是学什么?
下面是乔布斯说的:
这个国家的每个人都应该学习编程,因为它教你如何思考。计算机启蒙最大的好处是可以对人的思维方式进行训练,他是一个对思维完整性和逻辑性进行训练的过程,而在这个过程中我们可以培养一种新的看待问题和处理问题的方式。
乔布斯的意思就是,无论孩子以后是否从事计算机行业,都应该具备这种基本素养——编程思维。
编程思维到底是什么?
其实,自然语言(人的语言)和计算机语言之间有许多相似之处,学习计算机语言类似于学习一门外语语法。
真正的难点,是编程思维和解决问题能力。
“编程思维”并不是编写程序的技巧,而是一种高效解决问题的思维方式。“编程思维”就是“理解问题——找出路径”的思维过程,它由分解—识别模式—抽象—算法四个步骤组成:
- 分解,把一个复杂的大问题,拆解成更可执行、更好理解的小步骤。
- 模式识别,找出相似模式,高效解决细分问题。
- 抽象,聚焦最重要的信息,忽视无用细节。
- 算法,设计一步一步的解决路径,解决整个问题。
编程思维对孩子具体好处是什么?
首先,编程能够帮助孩子理解抽象概念。
对于许多孩子来说,很多概念太抽象、离生活太远,不好理解。但是在编程的过程中,抽象的概念可以被转化为看得见的、具体的图像。比如,在编程的过程中,孩子对于编程会有更直观的理解。
将代码中的小数点移动位置,屏幕上的物体的大小就会发生巨大的变化。孩子可以因此可以将抽象的小数和分数的概念变成鲜活的图形,印到脑子里。
其次,编程能够强化数学能力。
如果孩子想用代码建造战舰,那就要用到各种各样数学知识,并且还要调用抽象思维的能力。
比如,孩子必须运用逻辑来判断应该先编写战舰哪一部分的代码,是先把战舰画出来,还是先让它运动?这个思维过程就可以强化他的逻辑思维。
综上所述,编程并不是让孩子成为程序员,而是要学会编程思维。不管面对多么复杂的问题都能分解成一个个小问题,找到问题的关键和问题之间存在的关联,从而想办法将问题逐一解决,在这个过程中思维就显得尤为重要,这就是少儿编程教给孩子最重要的能力。