摘要:教育最主要的是你能否提供一个平衡的生态环境,让这些种子在合适的环境中自由地生长。
因为现在“少儿编程”非常火,如果直接从现在的市场环境中来分析,众说纷纭,我们很难找到什么是对的。
放眼历史的长河,来它是怎么一步一步发展到今天这个阶段的。
编程教育下沉至K12领域
编程,是一种机器语言。最早的程序是二进制机器代码,没有编译器,将编好的代码通过读卡机读入机器,直接执行。
1946年,世界上第一台现代电子计算机“埃尼阿克”在美国宾夕法尼亚大学诞生了,当计算机出现之后,催生了更多的人想要学习这类能与机器交流的语言。
而中国的编程教育则始于1956年,清华大学开设了中国第一个计算机专业,10年之后,国防科技大学成立了全国第一个计算机系。马克思曾经提出“科学技术是第一生产力”,自此越来越多的中国大学生开始接触编程学习。
少儿编程市场的火热,并不是偶然,Scratch语言从麻省理工学院诞生之时,编程教育就具备了年龄下沉的土壤。首先他是图形化的界面,让孩子更加容易去理解,能将逻辑思维非常形象的展现出来。和学习C++、Java等复杂的编程语言相比,Scratch不需要花大量的精力去记忆一条又一条的英文指令,直接拖动拼搭一个一个的积木块,更加容易上手,也不会因为太难而让孩子失去兴趣。
当有了工具作为基础,少儿编程就具备了“可操作性”。
2013年,美国非盈利组织Code.org发起了“Hour of Code(编程一小时)”活动,旨在让全美小学生开始学习编程。美国前总统奥巴马投入40亿美金来加强美国计算机教育的发展。“Hour of Code(编程一小时)”活动风靡了全球180多个国家,当然这股风也吹进了中国。
2015年国内的少儿编程教育还是一个非常小众的市场,和冰球、击剑没有大的区别。而从小众变成现在如此肥美的一块大蛋糕有两大原因:伴随社会进步的财富增长和国家人才需求所催生的政策推动
财富增长:父母们忙于工作,孩子的作业没有时间辅导,这样的社会环境就养活了一大批的托管班。伴随着社会总体收入水平的提高,家庭可支配收入占比越来越高。家长们也更加愿意为孩子的教育投资,普通的“作业托管”已经满足不了大众的需求,从应试教育到素质教育,培训班的品类越来越多,推动了整个K12教育市场的发展,编程就在这个非常合适的时机进入K12领域。
(2018年全国居民人均可支配收入平均数与中位数 数据来源:央视网)
(2018年全国居民人均消费支出及构成 数据来源:央视网)
政策推动:自2017年国务院发布了《新一代人工智能发展规划》,要求在中小学阶段设置人工智能相关课程,逐步推广编程教育之后,教育部、各省市教育厅、教委也陆续发文,落地实施国务院的重大部署。
根据部分官方发文可以看出,直接表示推动编程教育的并不多,因为我们国家缺乏的并不是程序员。站在历史的角度来看,从清华大学设立计算机专业以来,我国每年都会产出一批数量庞大的程序开发者, 参考了CSDN的注册用户数、知乎和悟空里的问题回答,大概预估目前中国的程序员数量超过500W,但我们依然在提教育变革。这就说明仅仅推动编程教育是远远不够的,我们需要有一个更合适的方式去进行变革。
在新的时代,国家更需要有创新思维的人。而小学阶段的科技创新是建立在解决生活中实际问题之上,提升孩子们的信息素养,让他们创造出更多对生活有帮助的作品,这也是我们提出“创新编程”概念的底层逻辑。
创新编程的核心是创意物化
纯软件的编程学习,完全依托于计算机。
计算机的展现形式只有一个屏幕和一对音箱,他的接收形式也只有摄像头和麦克风,所以计算机仅仅是对图像和声音的信息接收和处理。而这个世界不只有图像和声音的存在,显然如果单靠计算机去模拟世界万物,实现的只能是凤毛麟角。
我们要培养的是国家未来所需要的人才,而整个世界的发展只有计算机是远远不够的,孩子们只会编写一个电脑程序也是远远不够的。
从某种意义上来说,纯软件的编程学习限制了孩子们的创新思维。
Scratch为社会发展提供的土壤还是不够深,孩子们还需要一些“看得见,摸得着”的东西去支撑他的创意,并做出一些符合当下生活状态的科技作品。
2017年教育部发布的《中小学综合实践活动课程指导纲要》中第一次提出“创意物化”的概念。所谓“创意物化”就是将创意转化为真实可见的物品,在创新编程中,孩子可以通过使用软件与开源硬件相结合的编程,把他创意从计算机那个局限的空间里搬到现实生活中来。
教育最主要的是你能否提供一个平衡的生态环境,让这些种子在合适的环境中自由地生长。
如果用非开源的硬件(比如机器人、乐高等)来给孩子们打造沙盒,就会面临到一个问题,当脱离了机器人、乐高这个载体之后,种子就脱离了土壤,它没办法再生长,知识也就不能进行延展。
而开源硬件能够对真实世界有一个非常细致的模拟,比如LED灯可以做出真实世界里的灯,马达就可以模拟真实世界里汽车的马达,并且开源硬件能够检测环境的温度、湿度、PM2.5,物体之间的距离,是否震动,是否被按压,还能检测出物体的发出的红外线、质量等等。
通过编程,让每一个硬件模块各司其职,协同工作,最终呈现出想要的功能。
创新编程培养出的孩子
创新编程,要培养的下一代,是国家未来需要的创新型人才,培养出能使整个社会生产力提高的人才。
再往更小的层面说,创新编程培养的是学以致用、能够对生活有改善和创新欲望的人。