分类
编程教育

青少年编程学什么?

 作为一个成年人或者孩子家长来说,初听“少儿编程”是有些不可思议的。反正我脑海中冒出来的第一个想法就是,为什么对于很多大学生来说,编程是那样一个遥不可及听起来很难的领域,却非要去折磨蹂躏我们还本不应该有如此学习压力大的小孩子呢?

当我们去探讨“少儿编程”背后的秘密的时候发现,在我们每一个人还是学生的时候,可能内心会对自己学习较为薄弱的那一科产生抵触的情绪。尽管为了提高成绩,而不得不去面对它、接受它、喜欢它,然后再去研究它。但是内心深处还是在不断否定它,那么我们否定它的原因其实还是没有足够了解这一门课程到底在给我们传递什么,教会我们什么,能够给我们带来哪些具体的能力和知识。

那么我们学习是为了什么呢?其实就是为了提高某一方面的能力,比如学习语文可以提高口语表达能力、数学可以锻炼我们的思维更加缜密、学习生物可以了解各种生命现象和生命活动的规律。那么学习编程是为了什么呢?

01

编程是什么?

编程就是和电脑对话,用计算机“听得懂的语言”,告诉它想让它做的事。

电脑对话&和人对话,有什么不同?比如说我想喝咖啡,那我可以跟服务员说:“服务员,请帮我倒杯咖啡!”那这句话如果想让电脑听懂应该怎么说呢?我得先告诉它哪个是“杯子”、哪个是“咖啡”、什么是“倒”,然后再告诉它怎么去倒,比如先左转75度,往前走两米,左臂下放50度……

电脑没有人类大脑的学习能力和发散能力,想让电脑听懂我们的话,就必须按照它的运行规则,指令必须严谨、条理清晰,否则电脑的工作结果会完全与预期不同。

当我们从计算机的角度去思考问题时,就是在学习和锻炼了我们的编程思维(即编程所用到的逻辑思维)。学编程不只是掌握一项技能、培养一个兴趣,更重要的是掌握一整套高效解决问题的思维模式。

02

编程思维(编程的逻辑思维)

编程的逻辑思维“理解问题——找出路径”的思维过程,由分解、模式识别、抽象、算法四个步骤组成。

一)分解——拆解复杂问题的能力

分解,就是把一个复杂的大问题拆解成更可执行、更好理解的小步骤。

(二)模式识别——发现并且整合“重复规律”的能力

“模式识别”简单来说就是找出相似模式,高效解决细分问题。在我们在经验库里调用以往类似问题的解决方法,套用解决。识别的模式越多,解决问题的速度就越快。

(3)抽象——人深度学习的能力

抽象,简单来说就是找到问题的本质,过滤掉其他无关紧要的因素。

(4)算法——高效解决问题能力

算法,就是解决问题的办法,根据之前一系列对于问题的理解,设计一步一步的解决路径,解决整个问题。

在编程过程中,任何⼀行代码写得不对,都无法实现想要的效果如果出现问题,我们得通过执行效果,梳理逻辑,找出问题并一点点纠正。在编程实践中,我们除了锻炼编程的逻辑思维,还训练了检查纠错的能力

在稍微大一点软件项目中,我们除了完成自己的那一部分程序,还需要和其他项目成员一起完成整个模块或产品的整合调试。因此,在编程实践中,团队协作和沟通能力也是必不可少的。

少儿编程并非大学教育那样,一开始就学习如何写代码、编写应用程序,而是通过Scratch可视化图形编程启蒙(Scratch源自美国麻省理工学院媒体实验室),培养学生的逻辑思维和解决问题的能力;在此基础上,我们进一步学习更底层更复杂的代码(C++)编写。

下面是Scratch、C++两种计算机编程语言让计算机说出hello world的区别:

启蒙阶段:Scratch         高级阶段:C++