上海浦东少儿编程培训班
少儿编程该不该学?
我们需要明确,给孩子上编程课的目的是什么
我想,对于中小学年龄段的孩子,编程课的主要目的应该是启蒙——让孩子接触编程知识,在编程学习中强化逻辑思考能力、系统思维能力以及组织协调能力,进而激发孩子的创造力,而不是现在就为了职业考虑,去掌握一门技能。
如果明确了这个目的, 那我们看看应该如何选择编程课
对于中小学年龄段的孩子,首先不要去考虑编程语言,先明确课程设计是否做到两个前提:
学习编程的过程能否做到所见即所得——输入指令,立刻能够看到效果;
能否从项目式学习入手,并建立反馈机制,给孩子成就感。
如果在教学设计中满足这两个前提,我们基本就可以判断,这个课程是可以考虑的。
那接下来,我们就需要选择学习的体系
适合少儿学习编程的语言有哪些?在这方面,我个人的建议很简单:如果你的孩子年龄偏小,还不能记下26个英文字母、没有使用过键盘,那么毫无疑问,scratch是。国内也有很多类似的编程工具,我自己就见过四五个开发团队在做类似的产品,但基本上还是以借鉴(或者说抄袭)scratch为主,加上一点所谓的微创新。抄袭往往只能抄到皮毛,而那些所谓的微创新更是危险的。所以,认定了方向,好就选择一个有系统、有积淀的工具。
一篇文章讲明白如何给孩子选择少儿编程课程
scratch的优点有很多:
首先,出身好——麻省理工学院媒体实验室开发,这保障了它的完整性和持续迭代能力;
其次,学习门槛低——不认识英文字母、不会使用键盘,也完全不构成障碍;
第三,所见即所得——整个“编程”的过程,是以鼠标拖拽的形式操作的,像在玩积木,容易引起孩子的兴趣;
第四,适合PBL式教学——通过scratch可以实现一些小游戏、程序的开发;
第五,便于分享——完成的作品可以发布在网站上,可以分享给朋友,增加成就感;
第六,使用门槛低——scratch本身是一款免费软件,下载和使用,都无需付费。
另外还一些优点,比如多语言支持、功能强大等等,据说有一些大神可以用scratch做光学程序。
一篇文章讲明白如何给孩子选择少儿编程课程
缺点是目前市面上的Scratch编程课多如牛毛,良莠不齐。
因为软件的下载和使用是免费的,所以开设课程的门槛很低,这就导致了不同培训机构之间的课程质量相差巨大,需要家长认真考核,耐心挑选。在我有限的眼界内,成都的“西瓜创客营”,是scratch教学做得比较好的一家机构。另外,“博雅小学堂”也在开设相关的scratch课程。
当然,如果希望得到更直观的反馈,乐高机器人也是一个非常好的选择。
如果你的孩子年龄稍大一些,可以使用简单的文字、语句,可以使用键盘,认识26个英文字母,那么依然可以选择scratch作为编程的启蒙课程。不过,这时我更建议选择一门真正的“语言”,进行真正意义上的“编程”学习。毕竟,scratch学到底,如果想继续学习编程,也还是要接触真正的编程语言的。
但是从1954年个完全脱离机器硬件的语言“Fortran”诞生到今天,已经有数百种语言被设计、研发出来,常用的也有几十种,那么如何在这么多计算机语言中,选择适合孩子入门学习的呢?
我们纵观计算机语言的发展史,从机器语言到汇编语言到编程语言,可以发现一个规律,那就是编程语言的发展趋势,是使编程语言越来越贴近自然语言的过程——更容易开发、更容易维护、更简单,但同时又要能弥补自然语言在表达逻辑和关系中不规范、不标准的缺陷。
换句话说,语言的发展目的,是把我们的思想从编程语言的细节里解放出来,更关注实际要解决的问题。
所以,孩子学习编程语言的选择,也应该符合这一规律。
一篇文章讲明白如何给孩子选择少儿编程课程
从这个角度出发,对于中小学年龄段的孩子,我推荐以Python作为入门的编程语言。当然,前提是满足我上面提到的两个先决条件——所见即所得、项目式学习。
Python是目前容易理解的编程语言,非常贴近自然语言,很少强调传统的编程语法,容易入门、上手快、效率高,所以程序员经常会自嘲说:“人生苦短,我用Python”。而且Python的代码便于阅读,它的强制缩进原则,使得代码更工整、更美观,很多老程序员对这一点反而不适应。
另外,Python可以用来做几乎所有的事情:从web开发、科学计算到机器学习、人工智能,你能想到的,几乎都可以用它来实现。
而且,Python有大量的第三方功能库,在这方面没有任何一门语言可以与它相比,开发人员无需再把时间浪费在造轮子上。
同时,Python也是免费的——任何人、组织、机构都可以免费使用。你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。
三年前,“谁会成为AI和大数据时代的开发语言”还是一个争论不休的问题,那时候,Scala、Matlab、Java、Python还各有机会,而今天,Python已经被公认是代表未来的语言,AI时代头牌语言的位置已经确立,未来的悬念仅仅是谁能坐稳第二把交椅。从2012年开始,Python在“编程语言榜”里的位置就是一路爬升,在今年IEEE Spectrum发布的第四届编程语言交互榜里,Python一跃成为。
一篇文章讲明白如何给孩子选择少儿编程课程
我们目前大学里的计算机课程,往往都是从C语言开始学习,以我过去自学Python的经验来看,我个人感觉,Python是给人设计的,C/C++更像是为机器设计的,而Java则介于两者之间。而且JS、CSS、Html体系不适合入门,整体比较杂乱,对刚刚入门的孩子来说太复杂,不如Python、直接。
业内流传一种说法:C++之父说,他发明C++只是因为发现程序员门槛太低, 导致工资也低,所以发明一个晦涩难学的语言,为的是让程序员能够由此多拿些工资。
一篇文章讲明白如何给孩子选择少儿编程课程
Python是人工智能领域中使用广泛的编程语言,它可以无缝地与数据结构和其他常用的AI算法一起使用,而且,Python有大量的在线资源,所以学习曲线也不会特别陡峭,这也就是为什么,Python成为了美国中小学编程入门课程的教学语言。
但我们目前的少儿编程课程,还是scratch的天下,因为Python的教学需要一定的技术能力和课程设计能力,这造成了一个不低的门槛,如果没有一个的课程设计,Python的学习容易变成“始终在黑框框里演练”的很枯燥的一门课程。但以我们和欧美技术普及的滞后周期来看,我相信,不久的将来,Python会成为孩子学习编程的必学语言。找到所见即所得的解决方案、提供的Python课程会逐渐成为趋势。
让孩子学会一门代表未来的优雅的语言,在编程学习中培养兴趣、强化逻辑思维能力、系统思维能力、组织协调能力,让孩子们成为能够面对未来的人,我想,这才是一门的编程课程应该提供的。
我们需要明确,给孩子上编程课的目的是什么
我想,对于中小学年龄段的孩子,编程课的主要目的应该是启蒙——让孩子接触编程知识,在编程学习中强化逻辑思考能力、系统思维能力以及组织协调能力,进而激发孩子的创造力,而不是现在就为了职业考虑,去掌握一门技能。
如果明确了这个目的, 那我们看看应该如何选择编程课
对于中小学年龄段的孩子,首先不要去考虑编程语言,先明确课程设计是否做到两个前提:
学习编程的过程能否做到所见即所得——输入指令,立刻能够看到效果;
能否从项目式学习入手,并建立反馈机制,给孩子成就感。
如果在教学设计中满足这两个前提,我们基本就可以判断,这个课程是可以考虑的。
那接下来,我们就需要选择学习的体系
适合少儿学习编程的语言有哪些?在这方面,我个人的建议很简单:如果你的孩子年龄偏小,还不能记下26个英文字母、没有使用过键盘,那么毫无疑问,scratch是。国内也有很多类似的编程工具,我自己就见过四五个开发团队在做类似的产品,但基本上还是以借鉴(或者说抄袭)scratch为主,加上一点所谓的微创新。抄袭往往只能抄到皮毛,而那些所谓的微创新更是危险的。所以,认定了方向,好就选择一个有系统、有积淀的工具。
一篇文章讲明白如何给孩子选择少儿编程课程
scratch的优点有很多:
首先,出身好——麻省理工学院媒体实验室开发,这保障了它的完整性和持续迭代能力;
其次,学习门槛低——不认识英文字母、不会使用键盘,也完全不构成障碍;
第三,所见即所得——整个“编程”的过程,是以鼠标拖拽的形式操作的,像在玩积木,容易引起孩子的兴趣;
第四,适合PBL式教学——通过scratch可以实现一些小游戏、程序的开发;
第五,便于分享——完成的作品可以发布在网站上,可以分享给朋友,增加成就感;
第六,使用门槛低——scratch本身是一款免费软件,下载和使用,都无需付费。
另外还一些优点,比如多语言支持、功能强大等等,据说有一些大神可以用scratch做光学程序。
一篇文章讲明白如何给孩子选择少儿编程课程
缺点是目前市面上的Scratch编程课多如牛毛,良莠不齐。
因为软件的下载和使用是免费的,所以开设课程的门槛很低,这就导致了不同培训机构之间的课程质量相差巨大,需要家长认真考核,耐心挑选。在我有限的眼界内,成都的“西瓜创客营”,是scratch教学做得比较好的一家机构。另外,“博雅小学堂”也在开设相关的scratch课程。
当然,如果希望得到更直观的反馈,乐高机器人也是一个非常好的选择。
如果你的孩子年龄稍大一些,可以使用简单的文字、语句,可以使用键盘,认识26个英文字母,那么依然可以选择scratch作为编程的启蒙课程。不过,这时我更建议选择一门真正的“语言”,进行真正意义上的“编程”学习。毕竟,scratch学到底,如果想继续学习编程,也还是要接触真正的编程语言的。
但是从1954年个完全脱离机器硬件的语言“Fortran”诞生到今天,已经有数百种语言被设计、研发出来,常用的也有几十种,那么如何在这么多计算机语言中,选择适合孩子入门学习的呢?
我们纵观计算机语言的发展史,从机器语言到汇编语言到编程语言,可以发现一个规律,那就是编程语言的发展趋势,是使编程语言越来越贴近自然语言的过程——更容易开发、更容易维护、更简单,但同时又要能弥补自然语言在表达逻辑和关系中不规范、不标准的缺陷。
换句话说,语言的发展目的,是把我们的思想从编程语言的细节里解放出来,更关注实际要解决的问题。
所以,孩子学习编程语言的选择,也应该符合这一规律。
一篇文章讲明白如何给孩子选择少儿编程课程
从这个角度出发,对于中小学年龄段的孩子,我推荐以Python作为入门的编程语言。当然,前提是满足我上面提到的两个先决条件——所见即所得、项目式学习。
Python是目前容易理解的编程语言,非常贴近自然语言,很少强调传统的编程语法,容易入门、上手快、效率高,所以程序员经常会自嘲说:“人生苦短,我用Python”。而且Python的代码便于阅读,它的强制缩进原则,使得代码更工整、更美观,很多老程序员对这一点反而不适应。
另外,Python可以用来做几乎所有的事情:从web开发、科学计算到机器学习、人工智能,你能想到的,几乎都可以用它来实现。
而且,Python有大量的第三方功能库,在这方面没有任何一门语言可以与它相比,开发人员无需再把时间浪费在造轮子上。
同时,Python也是免费的——任何人、组织、机构都可以免费使用。你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。
三年前,“谁会成为AI和大数据时代的开发语言”还是一个争论不休的问题,那时候,Scala、Matlab、Java、Python还各有机会,而今天,Python已经被公认是代表未来的语言,AI时代头牌语言的位置已经确立,未来的悬念仅仅是谁能坐稳第二把交椅。从2012年开始,Python在“编程语言榜”里的位置就是一路爬升,在今年IEEE Spectrum发布的第四届编程语言交互榜里,Python一跃成为。
一篇文章讲明白如何给孩子选择少儿编程课程
我们目前大学里的计算机课程,往往都是从C语言开始学习,以我过去自学Python的经验来看,我个人感觉,Python是给人设计的,C/C++更像是为机器设计的,而Java则介于两者之间。而且JS、CSS、Html体系不适合入门,整体比较杂乱,对刚刚入门的孩子来说太复杂,不如Python、直接。
业内流传一种说法:C++之父说,他发明C++只是因为发现程序员门槛太低, 导致工资也低,所以发明一个晦涩难学的语言,为的是让程序员能够由此多拿些工资。
一篇文章讲明白如何给孩子选择少儿编程课程
Python是人工智能领域中使用广泛的编程语言,它可以无缝地与数据结构和其他常用的AI算法一起使用,而且,Python有大量的在线资源,所以学习曲线也不会特别陡峭,这也就是为什么,Python成为了美国中小学编程入门课程的教学语言。
但我们目前的少儿编程课程,还是scratch的天下,因为Python的教学需要一定的技术能力和课程设计能力,这造成了一个不低的门槛,如果没有一个的课程设计,Python的学习容易变成“始终在黑框框里演练”的很枯燥的一门课程。但以我们和欧美技术普及的滞后周期来看,我相信,不久的将来,Python会成为孩子学习编程的必学语言。找到所见即所得的解决方案、提供的Python课程会逐渐成为趋势。
让孩子学会一门代表未来的优雅的语言,在编程学习中培养兴趣、强化逻辑思维能力、系统思维能力、组织协调能力,让孩子们成为能够面对未来的人,我想,这才是一门的编程课程应该提供的。