编程,到底在学什么?

2019-05-08 18:24:19 浏览数 (1)

利利:不悦人只悦己,记录和分享自己的工作、生活、知识积累与感悟,不喜勿入哦~!

从2015年开始,就有几个词语开始风靡全球,STEAM、STEM、Scratch、Python、少儿编程。国家教育部的一个个红头文件、各个省将编程融入信息技术课程,各个培训机构推出线上,线下的编程课程,貌似行业如火如荼。

话,要从成人编程说起

2012年,自己开始从事HTML5的成人编程培训,那个时候,编程、程序员,对于大众来说,算是一个很陌生的词汇。

很多人眼中,程序员就是这个样子 ↓

眼中的程序员

也有很多人认为,程序员的主要工作是“修理电脑、安装系统”…………

程序员安系统?

在成人IT教育领域的这几年当中,我接触到了非常多学习HTML5的人,有些人是自学的前端(HTML5)爱好者,有些人是因行业火热或有趋势来机构培训(他们当中的大部分人其实并不是太清楚这个东西是什么),有些人是因为大学学习的是计算机相关专业而进入这个领域。

众多来学习编程的人,大多数对编程的认知,都是:一种所谓的IT高薪岗位。

的确,程序员这种职业,在北上广深等一线城市,无论入行薪资还是发展薪资,都很高。

但是,编程真的就只是一门IT技术吗?

自己众多学生当中,在IT领域有良好发展的人,通常并非仅仅在技术上出众,更多的是培养了良好的逻辑思维、产品思维以及自学能力。

所谓的少儿编程热潮

国家政策自上而下的推动

少儿编程的热潮,其实起源于一些自上而下的文件,国家的推动,让众多人看到了一线商机,也让一些开明的父母意识到时代的变迁。于是乎,一股热潮,好像要来了。

从2014初见端倪,发展到2019年,编程行业有喜有忧,更多的家长开始关注,到底编程在学习什么?少儿编程,到底应该赋予给孩子什么东西,才是最为重要的?

我眼中的编程

编程表面上的一些东西

编程,能够教给学生的是“代码”。

换言之,代码本身就是编程知识层面的内容。就如同历史中的大事记,物理当中的公式,化学当中的化学反应表达式,数学当中的应用难题一样。

如果单纯的学习编程,我并不认为有任何意义和价值。

毕竟,未来,孩子未必会去从事IT开发,未必会去从事编程相关的领域,纵然未来是所谓的人工智能时代,也未必代表孩子要从这么早开始就要懂得编程是什么,也不代表未来孩子要从事与编程相关的职业。

我想,这也是众多家长所想的吧~

编程,和而今的众多科目类似,最为重要的其实并不是知识本身,而是在这个知识背后的东西。

到底应该从教育中获取什么

纵观我们从小学到大学学习过的各种各样的课程,其实最为重要的并非是知识,而是知识背后的东西。

在学习初中代数和几何时,我们解决的是生活当中的一些问题,锻炼的是一些数理逻辑思维、空间想象力,这种思维和能力对于绘画、雕塑、装潢、建模等行业,可谓是必不可少的核心技能。

雕塑 - 几何逻辑

学习语文多年的我们,纵然日常不能七步成诗、落笔成文,但是最起码应当懂得语言的逻辑,懂得书面表达与口头表达的不同,懂得在表达自己观点的时候,应当怎样保持清晰的条理和逻辑。

语文 赋予了我们什么

在学习初中高中的计算机时,我们都接触过word、excel等等,要锻炼的其实是一种“通过自动化优化自身工作内容”的思维,并且能够在生活当中找到相应的场景,通过这种方法,优化自己的工作。

计算机 - 信息技术课程

时过境迁,当我们渐渐长大,进入社会,此时回过头再看此前学习过的知识,却发现很多人在工作之后,对于word、excel依旧掌握生疏,并不懂得利用软件工具,不断优化自己的重复工作;很多人语商不足,在汇报工作和思考问题方面没有很强的逻辑性。

究其原因,应试性的教育以及浮于表面的知识传授,忽略掉了知识背后的东西,让思维、能力、视野、态度情感价值观这些原本最为重要的东西,被“知识点”本身所替代。

数学变成了解决“题目”,语文变成了背诵古诗文,物理化学变成了背公式,历史则是变身成了历史年表。

历史年表

在我看来,教育能够赋予我们很多,但是我们却未必得到了应该得到的东西。

本末倒置,丢了西瓜捡了芝麻

谈谈编程背后的东西

刚刚已经提到,编程背后隐藏的,是远比知识点重要的的东西,那么,这些东西是什么呢?

整体来看,编程能够做到这样几点:

1. 让孩子对世界产生兴趣

2. 有利于其他学科的趣味性

3. 利用程序,解决生活当中的问题

4. 培养逻辑思维能力

5. 维持孩子的好奇心,并且锻炼孩子的创新思维

6. 让孩子懂得发现问题、分析问题并解决问题的方式方法

7. 培养孩子的产品思维

8. 合理的引导情感、态度与价值观;学习生活当中的道理

更多的是思维的成长

编程种下的是一颗一颗种子,在众多人的呵护下,再以时间作为养分和肥料,这些种子才能够逐渐发芽长大。

兴趣

兴趣,是最好的老师

兴趣的产生,源于成就感的堆积,对于一个未知的事物,一个孩子可能会因为这个事物的某一方面对其产生喜好或反感情绪。

这种情绪的产生,往往源自一种感性的认知,是一种主观的判断。

在众多科目当中,英语数学等相对抽象、日常接触不多;生物、化学、物理相对具象,日常随处可见。内容相对具象的学科,更容易吸引孩子的注意力,而当孩子拥有一定的注意力之后,合理的教学过程以及成就感设置,能够让孩子产生兴趣。

编程与兴趣培养的关系

编程本身,是将一些抽象事物具象化的过程。数学中经典的“平面直角坐标系”在数学中极其无聊(只有点的计算与位置的计算),但是在Scratch图形化的界面当中,角色的位置与其息息相关。

平面直角坐标系 - 图源:利利的book

物理当中典型的公式(比如:下落速度=重力加速度*时间),在生活当中无法用肉眼观察到,孩子很难依靠想象,了解到这种状态是什么样子。而Scratch编程当中,可以借助此公式实现一个角色的运动,并且能够很好的模拟公式效果,让孩子更好的理解一个事物。

除此之外,对自然的认知,对天文、地理、探秘等各种事物的认知,都可以借助编程课程的内容来具象化,具象化的内容,会让孩子逐渐发现自己所处的这个世界是多么的丰富多彩,产生探索世界的欲望。

逻辑思维&解决问题的能力

逻辑思维

编程,程序是一种很好的培养逻辑思维能力的媒介。

逻辑,从狭义上来说,指“思维的规律”,从广义上来说,指的就是“规律”。通俗的来说,就是当一件事情发生时,大脑处理这件事情的方式方法。

诸如“归纳”、“演绎”、“矛盾”、“对称”等,均隶属于逻辑的范畴。

逻辑思维,是对事物的分析、综合、抽象与概括的基本思考方式。更多的是对思维内容的“联结、组织”能力,把不同的内容归纳、整理、组织到一起,形成相对比较完整的思想。

编程与逻辑思维有何关系?

编程所要解决的,是一个个案例,每个案例都是一个场景与问题。

从“跟随老师学习”,到“独立思考”,从简单的模仿到自我构思与实现。

针对遇到的各种问题和需求,进行分析、整理,之后找到相应的解决方案,在大脑当中搭建“需求 - 解决思路”的桥梁。

逻辑思维?

解决问题的能力

一个个程序,是在实现一个个功能,也是在解决一个个问题。

在我们生活与日常工作当中,要面临各种各样的问题,如果希望能够很好的处理这些问题,必须要非常完整清晰的分析它们,并综合应用自己所掌握的基本知识,解决问题。

对于孩子来说,所遇到的问题和已经长大的我们,遇到的问题必然有所不同,但是,思考问题的方式方法,却是通用的。

借助程序当中的一系列问题,逐步提升“分析问题”的能力,并找到“同类型”问题的“通用”解决思路。

思维如何落地

怎样的课程能够培养“逻辑思维” 与 “解决问题的能力”?

合理的难度梯度以及合理的问题、任务设置,才能够实现“逻辑思维”与“解决问题的能力”的增长。

如果课程本身没有关系,也没有合理的任务设置,那么,每节课就是单独而存在的,孩子所得到的也是零散的信息碎片,很难使思维与能力得到培养。

换言之,课程当中的骨架以及阶梯性至关重要。

创新思维

无论是图形化的编程,还是创客教育当中的“木工”、“乐高”、“机器人”,对于孩子来说,都是将自己想法“具象化”的工具。

社会中未来所需的高端性人才,必备的一种思维,便是创新思维。

从孩子还小的时候,呵护并鼓励他们的好奇心,鼓励他们用掌握的知识去创造新的内容,将内心中一些“天马行空”的想法实体化、具象化。

编程与创新思维有何关系?

编程所学习的是基础知识,这些知识碰撞在一起能够产生什么样的火花,孩子可以自由创造和发挥,把自己想要实现的东西、头脑当中的想法,用程序编写出来。

思维如何落地

如果课程内容是“填鸭式”的,那么很难培养孩子的“创新思维”。

每节课的课程重点不是“内容是什么”,而应该是“某个知识能够解决什么问题”。让孩子在学习之后,能够达到“举一反三”。

除此之外,每节课程需要给孩子足够的创作空间,从一点点的自主创作开始,到完成“个人作品”,循序渐进,让孩子的创造力逐步提升。

产品思维

产品思维,在生活当中随处可见。要完成一个事物,要按照怎样的思路进行操作,如何才能够做出别人满意自己得意的成品?

想清楚用户是谁,做好换位思考,分析清楚用户的需求,到底是要在什么场景下完成什么事?之后再针对不同场景下不同的用户需求,定制相应的解决方案。

编程与产品思维有何关系?

在学习掌握基础的知识之后,编程要解决的问题也从单纯的“案例”开始走向“产品”。

从了解一个产品、分析一个产品,再到构思一个产品,实现一个产品。

在分析与制作产品的过程当中,换位思考、注重细节、分析需求等各方面的思考方式和能力都会得到培养。

生活当中的道理

在编程当中,有非常多的生活道理。

或者说,在各个学科当中,都暗藏着很多生活道理。

在课程当中,合理的引导学生思考,有助于学生把学习到的知识应用于生活。

Scratch中的列表

Scratch当中的列表,就如同我们生活当中的清单,要通过备忘录或者清单(记作业本)提醒我们自己……

同样的运动功能

对于重复性的工作或事情的处理方法:要用一些方法优化自己的生活。

同样的功能,多种实现方法

条条大路通罗马,解决问题的方式方法有多种,要尽力思考最好的一种~~~

课程外的影响因素

除了课程本身,有哪些因素会影响“编程核心目标”的达成

师资

良好的师资,才能够传达出编程的核心目标。

单纯的知识讲解,对于一个老师来说,并没有那么困难。

但是如果希望达到思维能力的传达和培养,对老师的要求会很高。

教育这个领域没有终点,只有讲师能力不断提升,才能给孩子传达更多的东西。

家长

老师在课堂当中,埋下的是一颗种子,通过课堂的时间浇灌着这些种子,让它们逐步成长为幼苗,但是课堂上的时间是有限的。

每天和孩子接触时间最长的,是家长,在生活当中,合适的地方合理引导孩子,才能够让这些种子茁壮成长。

总结

累了~~~心累,身累~~~

默默的靠在床边,听着蒋大为的“敢问路在何方”~~~

个人对教育的相关观点,杂谈吧~~~所以,有观点不同的话也蛮正常的~~~觉得还好的话,可以推荐给父母们!希望孩子们能够学到真正的东西,无论是编程,还是其他学科。

利利杂谈

悦己~ 分享我的感悟与生活

不为明天而烦恼

不为昨天而叹息

只为今天更美好!

0 人点赞