图形化编程有必要学吗
首先国家的强基计划就有要求以后得孩子要综合各方面进行升学,学习少儿编程有利于提升升学率,特别是一下高校都有特长生招生。作为从事少儿编程方面的老师,我个人看法是机器人与编程结合较好,因为图形化编程一般都是以游戏为主,吸引孩子,孩子上课认真听了,可能做好了之后,玩一下就不会再次使用了,很容易忘掉。机器人首先可以让孩子了解到很多科普知识,物理结构,各种机构等等,其次锻炼了动手能力,创意搭建环节有利于加强创造力想象力,其次想要机器人动起来,还需要图形化编程,根据任务一步一步完成任务。
Scratch是由MIT(麻省理工学院)开发的一套图形化编程工具,它被看作是用于青少年编程教学的一个标志性案例。
所以Scratch是个啥呢?它大体上包括一个角色编辑器,一个背景编辑器,还有一个脚本编辑器。其中脚本编辑器就是我们“编程”的地方,里面把各种命令一块块积木一样排列起来,就形成了一个程序。
现在有很多儿童编程班都是用Scratch来上课,Scratch在美国以及其他国家也非常流行,我也用Scratch给别的孩子讲过编程课,感觉也挺好玩的。Scratch主要有这样一些优点:
完全图形化界面,内置了很多角色和背景,孩子学完基本的命令之后就可以快速开发出一个好玩的小游戏,特别有成就感。
几乎可以全部用鼠标或者触屏操作,基本不需要键盘,对于不会打字的孩子很友好。
有中文版,中文版里面那些命令也是中文的,对于不太懂英文的孩子很友好。
具有充分的扩展性,可以控制一些外部设备(比如单片机、乐高机器人),也被移植到很多嵌入式设备上。
再看看Swift Playgrounds
Swift Playgrounds是苹果公司官方开发的一款学习编程的App(仅限iPad,不支持iPhone),目的是培养青少年开发者,当然还有一个目的是推广他们新推出的Swift编程语言。和Scratch不同,Swift是一种正经的编程语言,和C++、Java、Python等主流编程语言属于同一级别的,苹果推出Swift的目的是为了替代一直以来用于iOS和Mac软件开发的Objective C语言,如果你要学习在iOS平台上开发App,那么Swift就是首选的编程语言。
看得出来,Swift Playgrounds是真正在写代码,和真正的程序员写代码的方式是一模一样的,不过跟Scratch相比,Swift Playgrounds显然更多地用到了键盘打字,而且不可能用中文来写程序。
很明显,写代码对孩子来说门槛更高,为啥我还要直接上hard难度呢?
首先,单纯从这两种形式上比较,我不认为Scratch的图形化编程相比直接coding来说有多intuitive,相反,花花绿绿的各种块块让我觉得好乱,抓不到重点。关键是,那些命令只是套了一个图形的框,里面的描述不还是文字么,感觉有点像脱裤子放屁。其实Scratch之所以门槛低,我觉得主要不是在所谓的图形化上,而是在于可以用中文和可以少打字上。既然现在的小朋友都很早就学英文了,我觉得这不算什么问题吧;至于打字,其实Swift Playgrounds有很多快速辅助提示,真正需要用键盘打的东西也并不多。
其次,真正的coding就是学习一门语言(programming language),它也有词汇、语义和语法。语言是编程的一个重要部分,在描述一些复杂逻辑时,编程语言能够比图形具有更强的描述力,特别是对数据结构的描述,以及对于类和对象的描述。我的网络工程师朋友跟我说,他觉得编程就是一种思维方式,用什么形式去编程没有那么重要,我不太赞同。思维方式固然是编程的重要部分,但语言是表达思维的载体,这句话不仅限于编程,我们日常使用的语言,也是表达思维的载体,你说学会好好说话重要不重要?我觉得很重要。
直接用编程语言编程,孩子必须得注意词汇和语法的正确性。下面这张图上,最后一句是有语法错误的(这个函数没定义),编译器给出了一个红点提示。此外,孩子还得注意大括号的左右匹配(特别费神,哈哈),以及在适当的地方加空格和换行。这些东西在图形化编程工具里面是不会遇到的,但我觉得这也是literacy的一个重要能力(不仅限于编程)。
孩子一定要学图形化吗?
01.更适合新手小朋友的
图形化编程
图形化编程是麻省理工学院开发的图形化编程工具。
这个软件的特点就是使用者可以不认识英文单词,也可以编程。适合零基础,低年龄段的小朋友。
图形化编程特别生动有趣,这个主要是将复杂的程序封装在积木里,操作就像是在电脑上搭积木,只需按照一定的逻辑用鼠标拖动模块把它们拼在一起就可以。
它的效果也很直观形象,点击运行小绿旗,就可以看到动画似的运行效果。
这个阶段主要是为了培养小朋友的思维和能力,激发他们的兴趣。
一般我们建议6-9岁的孩子可以通过图形化的方式入门少儿编程。
而且图形化编程的最大魅力就是操作十分简单,知识足够丰富。
这里还要补充一下,有些爸爸妈妈会想让3、4岁的孩子学少儿编程,这就有一点点太早啦,
小朋友年龄段比较小,对于知识的理解和吸收都大打折扣,建议咱们爸爸妈妈抓住6-12岁的思维发展黄金期就可以啦图片。
02.进阶Python
强化编程硬实力
Python的设计哲学是“优雅、明确、简单”,同时还有点小难度,因为需要使用者有一定的英文基础。
如果咱们孩子正处于小学三-四年级及以上,平时数学成绩还不错,理科思维好,同时又兼具一定的英语词汇量,有一定的编程基础,那么,推荐孩子去尝试学Python编程。
通过结合代码编程 Python,深度学习编程理论,初识人工智能。
我们跟着几个学员的Python作品实际理解一下吧
①Python+智能应用🤖️
Siri和小爱同学为什么可以和我们聊天?是如何查询天气、路线等生活信息的?
A1阶段小西瓜就会学到,如何通过Python,根据自己的需求制作智能聊天机器人。
9岁学员 A1阶段作品《聊天机器人》
②Python+数学艺术🎨
让很多人头疼的数学,通过Python也可以变得很有艺术感!
A2阶段,学员会学习将黄金分割的数学比例,综合运用函数、循环等编程知识与配色、比例、几何图形融合,制作出自己的数学艺术作品!
10岁学员 A2作品:《黄金螺旋》
③Python+人脸识别👨
与支付宝人脸识别功能相似的智能程序。
比如,如果把蒙娜丽莎和肖恩老师的脸,放在一起...,会发生什么呢?😜
12岁学员 A4作品:《人脸识别器》
如今,AI 时代已经来临,在未来的社会里,编程无疑是认识这个世界、改变这个世界的基础必备技能,也是孩子们应该掌握的。
从调用程序 API 开始👉算法和数据结构的学习👉综合应用所学知识,实操如网络嗅探和机器学习等前沿技术。
而且Python的天花板很高,有很多应用的分支。以web开发为例,全球最大的搜索引擎Google、最大的视频网站YouTube,以及国内集电影、读书、音乐于一体的豆瓣网都是用Python语言开发的;
因此,当孩子掌握了Python语言,可以说是拿到了打开数字时代大门的钥匙!
03.
进阶Python
强化编程硬实力
如果是冲着升学的目标去的,C++一定是最后的必选项。因为目前的信奥赛,官方唯一指定的语言就是C++。
图片
孩子学C++,主要的都是算法的研究,通过大量的刷题,目标很直接,就是想要参赛获奖。应用性没有Python强,但是C++的显著特点是它的运行效率比较高,也很稳定。