小编将从以下4个方面前面解析,什么是少儿编程?少儿编程到底学什么?(转载自网络)
1.少儿编程的发展(简单带过)
2.少儿编程到底学习什么(超级详细)
3.少儿编程怎样的学习阶梯(详细)
4.学少儿编程有哪些好处(详细)
No.1
少儿编程的发展
近年来,少儿编程教育倍受社会关注,全球已经有超过24个国家在基础教育中设立了编程教育大纲。在美国, STEAM教育已成为其素质教育的核心,编程、3D打印、机器人等新技术教育已走进了美国的中小学校。美国前总统奥巴马也曾参与“编程一小时”活动,并呼吁美国小朋友“别总在手机上玩,要去编程”。
日本在中小学普及编程教育科目;
英国教育大纲规定计算机编程是5-16岁儿童必修课程;
新加坡全面推动少儿编程教育,中小学考试中加入编程考试科目;
美国政府投资40亿美元开展少儿编程教育,呼吁全国青少年学习编程;
……
与此同时,国内对少儿编程的推动虽然稍晚,但几年来也不断发力,这也说明了国内对少儿编程的重视性越来越高。
2016年9月,《教育信息化“十三五”规划》将信息化教学能力纳入学校办学水平考核;
2017年7月,国务院印发《新一代人工智能发展规划》,宣布在中小学设置人工智能相关课程,逐步推广编程教育;
2018年4月,教育部印发《高等学校人工智能创新行动计划》,提出构建人工智能多层次教育体系,在中小学阶段引入人工智能普及教育;
2019年4月,教育部在《教育信息化和网络安全工作要点》中提出,启动中小学生信息素养测评,并推动在中小学阶段设置人工智能相关课程。并鼓励社会力量参与寓教于乐的编程教学软件、游戏的开发和推广。
……
由此看来,少儿编程有望成为继数学和英语后的第三大刚需。
No.2
少儿编程到底学什么呢?
很多家长朋友让孩子学习编程,是为了培养逻辑思维能力。毫无疑问,编程是一门非常适合用来锻炼逻辑思维的学科,因为编写程序的过程就是不断思考和运用逻辑的过程。
下面将从3个方面全面阐述少儿编程到底学什么?
1.学什么?
(1)学习软件使用方法
我们可以通过各种软件来帮助我们更快的工作和解决问题。例如Word、Excel以及图像处理、视频剪辑软件等,它们都有不少相通之处。
(2)学习编程知识
掌握条件判断,顺序执行,循环,变量,链表,函数等等一些列的编程知识和技巧。利用简单的编程逻辑,代码的编写能力,从而帮助设计一些小工具解决一些重复流程化的工作。还能参加参加各类编程大赛,辅助升学。
(3)数学应用
将很多数学的实际知识运用到一个个实实在在的项目上,将数字和计算赋予更高的生命力,而不是停留在试卷上答题。
2.锻炼什么?
(1)自律性
每一门编程语言都有自己的规则,程序的运行也将会完全按照规则进行执行。而编程通过严谨的逻辑判断和程序规则可以帮助孩子不断的提升自律性。比如:如果小孩想玩一款自己脑海里的游戏,需要先进行分析-制作-测试,然后才能进行游戏。这个过程可以很好延迟满足感。所以说编程学习可以锻炼孩子的自律性。
(2)自主学习能力
自主学习能力主要表现在两方面:一是主动学习,二是高效的学习。这也是从自律性说起的,一个自律的人可以很好的做到主动学习,但配合比较好的学习方法,才能达到高效。
在我们生活中,很多这样的教育路径:孩子在幼儿园、小学、初中、高中一直都有家长的督促,老师的管理,并且学习压力和负担也是逐渐上升。而在大学没有了老师严格的管理,大学生活成了放松的天堂,这样的学业规划并不合理。这就需要我们的孩子提前具备自律性和自主学习能力。才能在这样的路径下成为佼佼者。
(4)表达力
编程训练非常注重团队协作,锻炼沟通协调能力。将自己的项目进行讲解和展示不断的提升表达能力。自己创造的好游戏或者好项目更容易激发分享欲,通过这个的激发,让孩子不断的感觉到分享带来的乐趣,在不知不觉中不断提升表达力。
(3)创造力
孩子的想象力是无穷的,编程可以将孩子的想法结合音乐、图画、代码一同表达出来。创新意识就会在孩子不断将内心想法实现和表达的过程中得到很好的锻炼,不断的创新,不断的思考。
3.培养什么?
(1)分解思维
分解思维就是将复杂、庞大的问题分解成几个小问题分别解决的思维路径。然后通过完成小项目,解决小问题从而完成大项目,解决复杂问题,使整体变得更加易懂和简单。如同制作汉堡,应该将汉堡划分:最上层的圆面包、生菜、奶酪、火腿、烤肉、最下层的圆面包等。
(2)框架思维
分解完问题之后,第二个步骤是识别,即单独检视、思考每一个小问题,搜索解决方案。
在这里,我们必须将第一个步骤里分解的问题汇聚起来,搭建成一个框架,再往里头装东西。将所有任务依照时间顺序排列,再去深挖每一个任务里的行动细则,更容易避免疏漏和手忙脚乱,提高解决效率。例如日常生活中运用的时间安排。这个反映的就是框架思维。
(3)抽象思维
抽象化是关注关键信息,将重要的内容提炼出来,忽略不必要的细节。掌握了抽象化的能力,我们就可以将一个解决方案应用于其他事物中,制定出解决方案的总体思路。
比如:我们认识贝类,或许我们并不是所有贝类都叫得出名字。但是我们知道它们可以统一叫做贝类。如果知道如何烹饪花甲,其他贝类也可以用一样的烹饪方法。
(4)计算思维
如同逻辑思维、设计思维一样,计算思维也是一种思维方式。那么到底什么是计算思维呢?
假如今天家里要来客人,我们会在做饭之前根据客人的口味考虑到今天的菜式。然后问题来了,我们需要买哪些材料?材料要怎么处理?这些都是需要解决的。而计算思维,正是解决方案的设计核心。
(5)培养耐心和细心
找Bug就是一个极需要耐心和细心的活。既然少儿编程教育的理念是这样的,那么整个学习过程就应该围绕这个来开展,才不会让少儿编程教育变成知识灌输式的科目。
No.3
编程学习是怎样的阶梯呢?
但是说到编程,可能大家脑海里面第一的反应就是这样的界面。密密麻麻的全是英文代码,想想都非常的可怕,小孩子怎么可能能学会这样的编程?
而南昌大学教育大数据研究中心朱小刚教授在接受电视采访时说到:青少年学编程应该分三个阶段,第一阶段发现兴趣,主要针对小学4-6年级的孩子,编程学习可以零基础入门;第二阶段进行系统性的知识积累,对象以初中生为主,如果小学阶段未接触,这会儿可以迎头赶上,如果小学阶段有基础最好;第三阶段为创新创造阶段。高中阶段以参赛获奖为目的,直击赛事冲刺,如果错过了第一第二阶段,直逼第三阶段,还在短时间内的学习压力会比较大。
No.4
学少儿编程有哪些好处呢?
学习编程对孩子的帮助很大,可以归纳为以下10点:
(1)强化孩子的逻辑思维能力。
如同计算这个加法题9+8+7+4+5+9=?,如果你不能看一眼就得到答案,那么你应该将它拆解成9+8,+7,+4,+5,+9,5个加法题一个个的解决。
编程中孩子要思考如何把代码合理地安排在整个程序中,让程序流畅地处理输入、演算、输出,这个过程对孩子分析事物的逻辑性有极大的帮助。
(2)培养孩子的专注力和细心度。
修改Bug是每一个编写程序人的必经之事。有时候只是少打了一个字母或在某一行末尾少了一个分号,就会造成程序大乱,更别说逻辑分析问题上忽略的某种状况和陷阱。所以,在编写程序的过程中,需要足够的专注和细心,避免当个“差不多”先生。
(3)提高孩子的耐心。
不少父母会遇到这种情况,孩子怎么坐都坐不住。但编程可以很好的锻炼孩子延迟满足的能力。比如以编写游戏为例,从编写游戏,到测试,再到玩游戏,是需要经历一个比较长的过程。这可以很好的提高耐心。同时学会编写游戏的小朋友,会在游戏过程中融入更多的思考,游戏视角会有明显变化。
(4)增加孩子的抽象思考能力。
其实学习编程就像学习外语一样。如果说学外语是为了跟外国人沟通,学习程序就是为了跟计算机沟通。更有趣的是,你碰到外国人不会说外语还可以用手比划,跟电脑可不行。这意味着孩子在学习的过程中需要一种化具体为抽象的能力,让程序能够按照孩子想象的方式运行,这是集思广益的过程。
(5)训练孩子的空间思考能力。
在编程中控制路径的过程是训练空间思考能力的一个很棒的方式。仿佛孩子自己身临其境,在闯关角色中置身于编程世界,非常有利于明白方向感和立体的空间架构。
(6)提升孩子整理信息、融会贯通的能力。
程序是一堆电脑指令的组合,好比上小学时我们查字典学汉字、学成语,之后学习如何利用习得的汉字、成语组成句子,进而撰写文章一样。程序中的基本指令就像是汉字,写成可重复利用的方法或对象就像是成语。最终要完成项目,就必须融会贯通、学以致用,确保程序在执行中不会出现不可预期的错误。
(7)提升孩子国际性的沟通能力和竞争力。
编程语言已然成为一种重要的沟通工具,不但可以跟电脑沟通,还可以跟所有运用电脑的人沟通。孩子在幼时接触的环境往往跟以后的发展有极大的关联性,这将会是他们面对国际和未来竞争的核心能力。
(8)让孩子学会团队合作和共同学习。
在适当的教学课程设计下,学写程序就像玩游戏闯关一样,同学彼此讨论破关攻略。结对编程,你不会,我教你;我卡关,你帮忙;我设计,你闯关。同时,在互动中增进情谊,学习如何利用团队的力量解决问题。
(9)增进孩子解决问题的能力。
面对一道道编程项目的挑战,孩子会不断思考如何利用学到的知识、程序达到解决的目的。一旦养成这样的习惯,在碰到生活中或其他课业问题时,自然也会试着自己解决。父母只要给予适当的工具和提示,让孩子自己动手、动脑去完成。
(10)Learn to code,code to learn。
学习编程,训练编程的思考方式(Computational Thinking),如同学习阅读一样,是一种基本的能力。如果孩子掌握了这种新的学习方式,父母再也不用逼着孩子学习数学,因为当他要完成按钮、人物、得分、方向的同时必然需要用到许多数学的技巧,同时巩固了数学知识。另外,还可以提高孩子的英文能力,编程让接触英文成为自然而然的事情。其他的科目(如音乐、艺术、文学等)一样可以运用在编程的过程中,也就是我们所说的code to learn。