#楼主# 2021-12-17

跳转到指定楼层
作为一个用了12年python,写代码有20年的父亲,我推荐scratch。
我三岁半的儿子每天把他当游戏来玩,抓到iPad后有过一半以上时间在玩scratch。
兴趣是最好的老师是我一直所信奉的。至少从我自己来说,因为一直听课有些费劲,大部分知识都是靠自学,兴趣二字的重要性不言而喻。而scratch,就是个能让我儿子感兴趣的编程语言。我不需要去催促他,甚至不怎么教他,只要在他做出了新奇的动画后表示赞赏就够了。让他主动去学习,这不是花多少钱能获得的。
此外,就是言传身教了吧,如下图。
航模堆里玩耍:

儿童学编程,教什么编程语言好?-1.jpg

买了新的万用表比我还高兴:

儿童学编程,教什么编程语言好?-2.jpg

一有机会就学我的样子用螺丝刀捅飞机:

儿童学编程,教什么编程语言好?-3.jpg

玩的是专业级的飞行模拟器,尽管飞的还很不好:

儿童学编程,教什么编程语言好?-4.jpg

学我工作的样子:

儿童学编程,教什么编程语言好?-5.jpg

能承载起他的梦想是我最大的期望:

儿童学编程,教什么编程语言好?-6.jpg
分享淘帖
回复

使用道具

7

主题

24

帖子

525

积分

村民

Rank: 4

积分
525
夏日狂野顾 发表于 2021-12-17 09:55:55
作为一个用了12年python,写代码有20年的父亲,我推荐scratch。
我三岁半的儿子每天把他当游戏来玩,抓到iPad后有过一半以上时间在玩scratch。
兴趣是最好的老师是我一直所信奉的。至少从我自己来说,因为一直听课有些费劲,大部分知识都是靠自学,兴趣二字的重要性不言而喻。而scratch,就是个能让我儿子感兴趣的编程语言。我不需要去催促他,甚至不怎么教他,只要在他做出了新奇的动画后表示赞赏就够了。让他主动去学习,这不是花多少钱能获得的。
此外,就是言传身教了吧,如下图。
航模堆里玩耍:

儿童学编程,教什么编程语言好?-1.jpg

买了新的万用表比我还高兴:

儿童学编程,教什么编程语言好?-2.jpg

一有机会就学我的样子用螺丝刀捅飞机:

儿童学编程,教什么编程语言好?-3.jpg

玩的是专业级的飞行模拟器,尽管飞的还很不好:

儿童学编程,教什么编程语言好?-4.jpg

学我工作的样子:

儿童学编程,教什么编程语言好?-5.jpg

能承载起他的梦想是我最大的期望:

儿童学编程,教什么编程语言好?-6.jpg
回复

使用道具 举报

7

主题

19

帖子

480

积分

青年

Rank: 3Rank: 3

积分
480
洲边段响验 发表于 2021-12-17 09:56:37
关于问题儿童学编程,教什么编程语言好?来看看这些答案!
在被1728个全球各地家长
追问了249天后
终于整理出了这篇文章
标题虽有些辣眼睛

儿童学编程,教什么编程语言好?-1.jpg

每一道问题都经过我们的深度思考
每一个回答我们都认真对待。
不啰嗦,上干货!
第1问
孩子几岁适合学习编程?
乔斯认为:
孩子多大学习编程都是合适的,只是要根据孩子的逻辑认知发展规律,安排合适的内容和学习计划。
比如4-6岁的孩子,不必刻意学习,家长带孩子一起玩一些能够训练逻辑思维的游戏,看一些书籍,或者实物类的卡片闯关玩具等;
7岁以上的孩子,逻辑思维开始更快的发展,作为家长的我们要开始制定一些编程学习计划,早期以兴趣培养为主,让孩子喜欢上编程,中期侧重训练孩子的逻辑思维和项目构建能力,进一步还可以学习编程算法,进而过渡到真实语言类编程的学习。

儿童学编程,教什么编程语言好?-2.jpg
第2问
孩子应该学习什么编程语言?
乔斯认为:
编程语言有很多种,所有的语言都有过时的一天,所以我们选择编程语言时,既要考虑未来的实用性,更重要的是考虑什么语言孩子学起来有兴趣、入门快,孩子能够持续的学习。
任何一个学科的学习都需要持续的训练和积累,才会见到效果。我们结合对编程语言实用性和孩子学习特征,推荐从Scratch入门,然后学习Python语言(人工智能第一语言)、然后根据情况可以学习C或者C++语言。

儿童学编程,教什么编程语言好?-3.jpg
第3问
为什么要先学习scratch语言?
乔斯认为:
Scratch语言,不同于敲代码,而是一种图形化编程,是美国MIT媒体实验室开发的,专门针对青少儿的编程学习工具,非常直观并且易上手。
Scratch编程采用拼积木式的编程方式,非常适合孩子学习,全球有几千万小学生都是从Scratch入门,喜欢上编程的。
有些人会认为Scratch会不会太简单,其实这是不了解Scratch工具强大功能的,我们认为Scratch已经涵盖了编程学科几乎所有的逻辑训练和编程算法,并且能够构建起中型复杂项目,不仅低年龄段适合学习,甚至初中生和高年龄段没有编程基础的孩子,我们也建议从Scratch入门,打下编程学习的基础。

儿童学编程,教什么编程语言好?-4.jpg
第4问
孩子为什么要学习编程?
乔斯认为:
编程学科是随着互联网技术和人工智能时代来临而产生的全新学科,学习编程,不是为了成为程序员,而是掌握与计算机交流沟通的思维方式,让人类成为未来人工智能时代人机协作的主导者。这就和上个世纪学习英语一样,不会英语,不了解英语思维的人,在社会上会被边缘化,而在未来,没有编程思维的人,也会越来越被边缘化。
学习编程,至少可以在以下几个方面帮助孩子获得受益一生的思维和能力:

  • 训练逻辑思维,提升创造力;
  • 训练孩子耐心和专注力;
  • 锻炼孩子团队协作能力;
  • 培养独立思考与解决问题能力;
  • 掌握AI时代必备技能与素养;
  • 增加升学出国竞争力;

儿童学编程,教什么编程语言好?-5.jpg
第5问
多大学C++合适?
乔斯认为:
根据孩子的情况而定,正常到小学5、6年级可以开始学习C++语言。但是,我们强烈建议孩子不要直接从C++入手学习,因为C++的语法学习会比较枯燥和抽象,打击了孩子的学习兴趣就得不偿失。
在C++编程学习之前,最好有1-2年的Scratch图形化编程学习经历,然后逐步向C++或Python语言过渡。

儿童学编程,教什么编程语言好?-6.jpg
第6问
孩子不会用鼠标会不会影响上课?
乔斯认为:
学习使用电脑是现在孩子的必修课,正常情况下,6岁以后的孩子只要稍加练习,使用鼠标都是没有问题的。
对于低年龄段的孩子学习编程,我们建议家长在前面一两节课适当陪同,这不仅是一种亲子陪伴,更能够让孩子树立起自信,因为我们知道,家长投入时间关注孩子感兴趣的领域,孩子的学习状态会更好。但家长不能在孩子的学习过程中过度干涉他们的创意或表达方式。

儿童学编程,教什么编程语言好?-7.jpg
第7问
有没有非零基础课程?
乔斯推荐:
有的。编程是一个系统学科,低年龄段强调兴趣培养,建立自信,然后进入逻辑训练和习惯养成的阶段,最后进入算法训练和能力提升的阶段。每一个阶段我们都有对应的课程。
不过,如果您的孩子目前是6-12岁且没有接触过编程,我们强烈建议孩子先从零基础课程开始学习,激发起孩子对编程学习的浓烈兴趣,因为兴趣是最好的老师。
第8问
少儿编程与信息学特长生有什么关系?
乔斯认为:
参加NOIP(全国青少年信息学奥林匹克联赛)竞赛考试并获得名次,可能是目前性价比最好的一个奥赛项目。NOIP分初赛和复赛,初赛考察信息学基础知识,相对简单,而复赛都需要实际上机进行编程。
NOIP信息学特长生的成长之路,我们的建议是:
第一阶段以Scratch图形化编程语言开启编程学习,培养兴趣,训练编程思维,为日后的信息学学习打下坚实基础。
第二阶段,在5-6年级可以根据孩子自身情况,学习C++语言编程。这里要强调一下,如果没有前期的Scratch学习,C++的语法学习会比较枯燥和抽象,甚至会打击孩子的学习兴趣。
第三阶段,着重学习编程算法和数据结构,通过练习强化对于这些编程知识的实际应用。

儿童学编程,教什么编程语言好?-8.jpg
第9问
乐高的wedo和EV3和Scratch编程冲突吗?
乔斯认为:
不冲突!Wedo和EV3都需要应用编程知识来实现硬件或机器人的控制,所以学习编程对于学习wedo和EV3有很好的促进作用
Wedo,适合6-8岁孩子,操作比较简便,主要是图形编程,轻松理解机器人的控制原理;
EV3 ,适合8岁及以上孩子,编程多了很多运算,逻辑要求也更高,可以构建规模更大、更复杂的机器人项目。

儿童学编程,教什么编程语言好?-9.jpg
第10问
小学时学习编程
对于中学时参加信息奥赛有帮助吗?
对于小升初时科级特长生有帮助吗?
乔斯认为:
当然有帮助。我们建议:
小学一年级左右开始学习Scratch编程,在小学期间可以有选择的参加各Scratch编程比赛;
进入5-6年级后,逐步向C++过渡,同时尝试参加NOIP普及组比赛,这样可以在小升初时,凭借信息学特长进入理想的初中。
进入初中后,系统学习C++。争取在初中拿到普及组一等奖,并尝试参加提高组竞赛。这样在中考升学时可以凭借信息学特长进入理想的高中。
进入高中后,高一就可以尝试冲刺提高组一等奖,并且可以冲省队、冲国赛了。
良好的竞赛成绩是小升初和中考择校的直通卡。而作为高中组选手,一旦进入国家队,就可以直接保送清华北大。
特别提醒:走信息学奥赛这条道路,不是一条捷径,需要学生付出大量的努力和汗水,而且并非每一个孩子都适合走这条道路。

儿童学编程,教什么编程语言好?-10.jpg
第11问
Scratch编程和Scratchjr编程是一样的么?
乔斯认为:
PC版的Scratch编程和ipad上的Scratchjr都是美国麻省理工学院媒体实验室开发的针对青少儿学习编程的平台。
这两个平台针对孩子的年龄段有非常清晰的界限,Scratchjr更适合学龄前儿童,编程操作非常简单,逻辑也非常简单;
而Scratch则是一个非常强大的编程平台,适合小学中学生的编程学习,能够构建复杂项目,涉及精密逻辑,是目前全球最流行的青少儿编程学习平台

儿童学编程,教什么编程语言好?-11.jpg
第12问
Scratch和机器人编程区别所在?
哪个更适合于与学校同步?
乔斯认为:
少儿编程类产品,大体上分为两类:纯软件类或软硬件结合类。
软硬件结合的机器人编程教育(如乐高编程)是通过一些教育类的机器人来实现教学目的。
软件类编程教育(如scratch)却不同,主要根据不同年龄的儿童,分阶段、系统性地教授儿童编程语言,从最开始的逻辑思维和抽象思维的培养,再到教会孩子学会运用“编程思维”,最后利用算法设计去解决实际问题的教育方式。
高级的机器人要求非常扎实的编程基础,学机器人就像学物理,学编程就像学数学。学习物理需要应用数学知识,但是通过学习物理并不能构建起完整的数学知识体系,这必须通过长期系统的学习数学知识才可以获得。
随着国家政策层面对于人工智能和编程学科的持续推广,编程学科在学校体系中的重要性越来越高,不论从孩子未来的能力发展考虑,还是从升学出国方向考虑,未来5-8年是学习编程的黄金红利期。
参考信息:汪队聊编程:少儿编程的“惊天”十二问
☆☆☆少儿编程免费领取试听课大礼包☆☆☆
少儿编程 - 学编程,都是好老师专注于6-16岁在线青少儿编程教学和思维训练,3Don`ts教学法,涵盖了Scratch 、Python 、Noip C++三大原创课程体系,在青少儿实际教学经验基础上开发的编程课程,强调编程素养思维与实践运用能力的双提升,严格筛选懂编程更懂孩子的专业老师 ,采用线上1V6小班直播课授课形式,学员辐射海内外学员,中国孩子学习编程的优质选择,在国际市场上致力于打造成为受海外华人家庭欢迎的少儿编程品牌,被CCF评为中国青少儿编程培训师资认证组织委员会常务委员单位。
推荐这家少儿编程官网☛☛☛:少儿编程 - 学编程,都是好老师

儿童学编程,教什么编程语言好?-12.jpg
注:点击上方文字链接/扫一扫上方二维码,进入这家机构官网,可以领取体验课哦!
回复

使用道具 举报

9

主题

25

帖子

519

积分

村民

Rank: 4

积分
519
红烧着的鱼衅 发表于 2021-12-17 09:57:04
这里为大家介绍7种适合儿童学习的编程语言。

1、Scratch
Scratch是由麻省理工学院开发的免费儿童编程语言,辅以入门教程,给家长的课程指导和强大的用户社区。没有电脑的情况下,您还可以使用下载好的卡片来学习Scratch编程。

Scratch使用模块来让界面可视化,为孩子和家长创造更多直观的体验。你可以将编程组件(如动作,事件和运算符)堆叠在一起。每个模块的形状只允许它与兼容对象组合。例如,“重复循环”的形状就像是一个侧面的“U”,让你知道你需要在循环的开始和结束之间放置这个模块。

Scratch还可以用来制作动画和游戏,可以使用Scratch自带的图像和角色,或上传自己的。Scratch可以离线使用,当然,孩子们也可以选择在Scratch的社区在线分享他们的作品。

因为Scratch是免费的并且制作很精良,所以它是儿童友好编程的第一个建议,并且Scratch也在影响着其他儿童友好编程语言(如Blockly)。

建议年龄:6到18岁。

2、Blockly
Blockly是谷歌对Scratch的改进,使用了相同的互链模块概念,但它可以用几种不同的编程语言输出代码。目前包括JavasScript,Python,PHP,Lua和Dart。这使得Blockly不仅仅是一种儿童友好编程语言,而是一个可视化编辑器。

实际上,当你将模块链接在一起时,你可以在屏幕一侧看到代码,并且可以随时切换编程语言来查看相同程序用不同编程语言编译的语法差异。这个功能使得Blockly成为各个年龄段教学代码的理想选择,包括年龄较大的孩子甚至是成年人。

Blockly还可用于开发Android应用程序。

然而,Blockly并没有像Scratch那样完全开发出来,与Scratch相比没有那么多可用的教程。尽管如此,Blockly对于所有年龄段的程序员都是一个强大的编程环境。

建议年龄:10岁以上

3、Alice编程语言
Alice是一个免费的3D编程工具,旨在教授C ++等面向对象的编程语言。它使用熟悉的积木式方法,让孩子们通过编程相机运动,3D模型和场景来创建游戏或动画。

Alice中的程序或方法可以转换为Java IDE,例如NetBeans,因此编程可以从可视化模块接口转换为标准编程语言。

Alice由卡内基 - 梅隆大学开发,整个程序仍在开发和研究中。

注意:如果你在Mac上安装Alice,请在系统偏好设置:安全和隐私:允许从任意位置下载应用程序来启用安装。 (安装完成后,你可以更改安全设置。)

建议年龄:10岁以上

4、Swift
Swift是一种用于构建iOS应用程序的编程语言。 Swift Playgrounds是一款旨在教会孩子如何在Swift中编程的iPad游戏。这是从Apple免费下载的,不需要任何先前的编码知识。

该应用程序包含许多关于不同Swift命令的教程,虽然不需要编程知识,但孩子们需要知道如何阅读教程并学会解决问题。Swift并没有互链模块,拖放代码可以消除代码的拼写错误。

建议年龄:10岁以上

5、Twine
如果你的孩子对制作游戏和讲故事更感兴趣,对编程的技术细节感到非常枯燥的话,可以来尝试Twine。

Twine是一个免费的非线性故事讲述应用程序,供所有年龄段的用户使用,包括大量成人和教育工作者。使用Twine不需要学习任何代码,因为它并不教用户如何编码,而是教他们如何构建和呈现非线性游戏和故事。

你可以通过应用程序在线创建故事,也可以下载应用程序进行离线编辑。

建议年龄:12岁以上

6、乐高头脑风暴机器人
学习编程的另一种方法是看机器人如何运作。许多孩子会问编程在现实世界中是如何工作的?你可以使用各种各样的机器人套件和语言进行编程来给孩子演示编程是如何工作的。这里介绍的LEGO Mindstorms系统是世界最大的用户社区之一,并且是儿童友好的可视化编程应用程序。

乐高EV3编程软件可以运行在平板电脑和计算机上,它使用模块(LEGO块)的概念,就像Scratch和Blockly一样,但是LEGO版本倾向于水平地构建程序,更像是一种编程流程图。学生通过组合不同的动作,变量和事件来进行他们的乐高头脑风暴创作。这种编程语言对于年龄较小的孩子来说足够简单,同时对于大一点的孩子甚至成年人来说仍然可以具有挑战性。

除了LEGO Mindstorms编程环境之外,LEGO还使用了一种开源的Linux内核,可以使用Python或C ++等更传统的编程语言进行修改和编程。

建议年龄:10岁以上(年龄较小的孩子需要在监督下使用)

7、Kodu
Kodu是微软为Xbox 360设计的游戏编程应用程序。Windows版本是免费的,Xbox 360版本是4.99美元。孩子们可以使用该应用在三维世界中探索和设计游戏。

Kodu的图形界面很吸引人,而且Xbox版本的编程完全可以在游戏控制器上完成。但是没有Xbox One版本的Kodu,未来看起来也不会再开发。Xbox和Windows版本已经完全开发。

建议年龄:8到14岁

欢迎关注我的微信公众号:九章算法(ninechapter),帮助你了解IT技术前沿,通过面试、拿到offer、找到好工作!
回复

使用道具 举报

6

主题

21

帖子

495

积分

青年

Rank: 3Rank: 3

积分
495
豫东田振兴 发表于 2021-12-17 09:58:04
我仔细看了一下上面的回复,很多都是不负责的。上来就说学习C语言、C++、HTML、Python之类的语言。
其实吧,回答问题也要用心,不能敷衍了事。
问题说了是1年级,也就七八岁不是,这个时候其实好奇心最强,也没有畏难思想。并且,大多数孩子的英语词汇量是不够的。上来就学习这些纯代码的语言,无疑会磨灭孩子的兴趣。
从年龄上区分,比如4-6岁左右,我推荐ScratchJr,这个是幼儿版的Scratch。积木式编程,没有任何单词或者汉字,专为学龄前的小朋友设计。苹果的iPad可以在AppStore中搜索ScratchJr,自行安装。安卓的话找我要,这个需要翻墙下载的。
稍微大一些的小朋友,比如7-12岁左右,可以学习电脑版的Scratch,也是积木式编程。别看功能简单,跟代码式的语言相比,变量、链表、函数、循环、判断,一样也没有少。因为这个年龄的小朋友主要学习编程思维,不是用一大堆编译错误阻碍他们学习。
当然再大一些,比如10岁以上,可以学学乐高的EV3或者NXT机器人,毕竟让机器人动起来,孩子会非常兴奋的。这个时候,如何英语也不错的话,可以考虑学学Python,有了Scratch的编程基础,学习起来还是很快上手的。
可能大家会问到,你是谁呀,这么懂?其实吧,我就是一个嵌入式工程师,跟软硬件打交道比较多,在自己的微信公众号谢谢文章。顺便有一群妈妈粉丝,当然了,也分享儿童编程的视频给大家。
我小时候特别喜欢科学小实验,所以呢,就分享一些简单有趣的科学小实验给大家,坚持一年了。现在呢,长时间坐着脖子疼。偶尔逛逛知乎,休闲休闲。知乎上大牛比较多,想交交朋友。
最近我的小猫编程学习群里,有个8岁的小朋友。自从学习scratch编程,天天嘴里都挂着x/y坐标什么的,而且还教他妈妈学习编程,特别有意思。虽然我的课程后面有作业,但是不强求交作业,想学就学,凭着自己的兴趣来,顺其自然就行。
写累了,休息去,记得点赞哦!么么哒
回复

使用道具 举报

12

主题

14

帖子

443

积分

青年

Rank: 3Rank: 3

积分
443
松带宣高支 发表于 2021-12-17 09:59:03
过早学工业级编程语言是个大坑,因为工业级语言的使用场景跟孩子们入门启蒙完全不同。
什么是好的入门级儿童编程语言?我认为是:
1)孩子能轻松学会,入门简单。
2)容易完成作品,错误少,成就感强;
3)有能玩得开心的应用场景。
比如,机器人和乐高教育虽然不是编程,但是勉强符合前三点特征,所以有很多家长愿意花钱,因为孩子玩得开心。
我强烈推荐Scratch编程。

如果是幼儿园的孩子,建议从http://Code.org上的练习开始,了解编程的基本概念,在玩中学习逻辑、循环等。
Scratch在学的过程中,可以从模仿和改编开始。找到Scratch官网上的好的动画和游戏,改改看,再试试原创。
由于很多Scratch作品都需要加声音和动画,就需要对图片进行处理,那么孩子们也顺便学会PhotoShop的简单操作。
除此之外,还可以学了一些网站相关的技术,比如内容编辑、HTML,JS等,自己找个Wordpress部署一下,稍微编辑下就能做一个孩子自己的个人网站。很有成就感。
大一点了,可以根据项目需求来找一些工业级的编程语言,我推荐Python编程。
10个最佳实践建议
1)用http://code.org入门。5岁-8岁的孩子,可以先尝试下http://code.org上面的一些非常基础的关卡,联系完成二十个关卡,就基本上对最初级的编程的概念(顺序、循环、条件)非常了解了。
2)自学Scratch。如果在http://code.org上的任务都基本上玩过了,那就可以开始学习下Scratch。Scratch初期完全可以自学。家长也可以一起来自学。
3)家长经常去设立一些小目标,让孩子既能够做到,但是又稍许有点挑战,通过这样的小目标的设定,让他们不断的能够自我驱动学习。
4)家长高质量陪伴。有时候需要家长,在孩子旁边进行陪伴,给他提供一些非常具体的建议,才能改进自己的作品,他会觉得非常满意,而且成长也很快。虽然这些建议并不需要在代码上面,家教很懂,而是在可玩性上面,在视觉方面,在互动性方面给出些建议就好,这些即便不是学计算机的家长也同样能够得出。
5)教学相长。孩子如果掌握了一些Scratch或python编程技能,可以教大人或其他小朋友来学编程,这样更能刺激他掌握更多学习的基础知识。比如妈妈可以很好学地让孩子教。
6)让孩子多跟其他编程的孩子交流。孩子们学了以后也需要找其他孩子一起交流,甚至竞争比较,利用孩子们的好胜心,可以促进自主学习。
7)多参观体验科技应用。越早接触到一些实际的科技化应用。越能让孩子们领会到科技的魅力,而不断去探究其原理,积极尝试。
8)参加科技创新大赛。各地区都有这类比赛,通过参加这些比赛,跟其他孩子同台比较,也能及时看到自己的能力和进步,如果能获奖,则在升学教育体制中也获得了很好的筹码,在上海的话,会在名校自招名额方面有体现,同等成绩下,被录取优势更大。
9)多去参加专门的科技夏令营。国外有不少专业的科技夏令营,特别是美国很多,有条件的家长可以让孩子去参加。如果不能参加,至少要会科学上网,看一些在youtube[http://youtube.com]上的各类视频,了解国外孩子们的教育模式和科技水平。
10)跟孩子一起探讨,设立一个长远目标。比如,做最棒的游戏工程师,做一个天才的人工智能等。把眼前的学习跟这个目标关联,并进行计划分解。虽然实现还很渺茫,但是这个梦想会激励他一直坚持。

可以参考我这篇文章:从《20几岁凭什么改变世界:扎克伯格传》看儿童计算机教育

我在知乎上有个Live:知乎 Live - 教孩子编程,从玩游戏到编游戏,专门讲一些具体的实践,欢迎来参加。
回复

使用道具 举报

34

主题

28

帖子

566

积分

村民

Rank: 4

积分
566
没爱路路路b 发表于 2021-12-17 09:59:29
一年级不小了,我2年级的时候就可以写简单的批处理了,小孩子聪明着呢。
可以学学LOGO,或者这个,图形化的编程。
Scratch - Imagine, Program, Share
或者干脆让他学
易语言得了,我的真正的编程入门是从易语言开始的。大概小学4年级。
当然如果孩子没兴趣就算了。我当初是自己学的,爹妈没逼着。
爹妈要是逼着估计我就不学了……
那位说学单片机的,你把1年级生当作初中生以上了。  
直接学这些东西需要了解的细节太多,很容易让小孩子畏惧。
比如,写汇编,这么多指令,没有英语功底,只能死记。
C语言,首先要语法搞定,学了半天没有产出,只有各种莫名其妙的错误,靠大人翻译编译器的说明,这是绝对不行的!这样一点乐趣都没有!
另外请尽量不要干涉,领进门以后就让他自己玩。
不要设奖励什么的,不要总在旁边指导,来一句“不会问我”就行了。
不然很容易就会变成“为了得奖励给你玩”的,这样外部激励一消失,就不会再有动力了。
回复

使用道具 举报

56

主题

50

帖子

648

积分

村民

Rank: 4

积分
648
流动532 发表于 2021-12-17 09:59:52
不请自答。最近在教小孩学习一般意义上的编程,正好有些体会,说些感受。
我家小孩在六岁时接触过类似scratch的编程语言,后来觉得太简单,了无趣味,就没有继续学习。小学三年级快结束时,我感觉时机差不多了,小孩也有学习的意愿,于是放暑假后就开始正式的编程教学了。
我用的编程语言是经典的函数式编程语言Haskell,按常规的学习方式来学习。为什么用Haskell,主要是我觉得函数式编程是比较适合小孩的思维的,我也想验证下我的想法是否合理。另外Haskell是函数式编程语言中语法噪音最少的一门语言,非常接近数学的代码形式,可以减少小孩学习的障碍。最后,函数式编程语言中我只对Haskell是比较熟悉,我能够较好的把握教学的难度,尽量不要过早接触比较抽象和高深的概念,尽量用比较浅显的方式来教学。
大致的过程是先教整数、字符、字符串、布尔值这四个数据类型,教些简单的加减乘除的函数,字符串连接的函数,分支处理表达式。然后开始教列表类型,由字符串而来的简单的列表操作。在这些基本概念都清楚后,开始教递归,用递归实现sum、product、any、all这些函数,用递归实现filter函数,用foldr将sum、product、any、all这些函数统一起来,用递归实现map函数,将map、filter也都统一用foldr函数实现。在实践上学会用递归求解汉诺塔问题,然后希望可以独立实现一个九九乘法表的输出。
在经过二个月左右的教学尝试后,觉得Haskell还是可以用在小孩的编程教学上的,前提是逻辑能力和英语能力已经有一定的基础,可以接受编程的思维方式。另外尽量用接近数学的方式来讲函数式编程的思维方式,讲具体直观的例子,用好ghci、ipad、纸和笔。
函数式编程并没有那么可怕的,对于零基础的人来说,函数式编程的思维方式更容易接受,有命令式编程基础的人反而有着各种理解上的障碍。
回复

使用道具 举报

7

主题

28

帖子

520

积分

村民

Rank: 4

积分
520
我是庸才 发表于 2021-12-17 10:00:18
儿童学编程,还是得看目的是什么。目的不同,适合的语言自然也就不同了。我来分析一下三种比较常见的情况。
一. 让孩子玩一玩,顺便了解点编程知识

如果孩子比较小(比如小学低年级),而且只是想让孩子玩一玩,那么乐趣就是最重要的。如果能让孩子主动玩编程,那是最好的,所以界面友好,编程门槛低的 Scratch 就很适合。
这种语言的界面是长这样的。

儿童学编程,教什么编程语言好?-1.jpg
非常卡哇伊,就像看卡通片一样。孩子也不用自己输入代码(很多小孩子其实还不太会打字),只要拖动上面的积木,把它按照顺序堆积在一起就行了。每个积木都表示一个命令,搭完积木之后就能够执行了,就像玩游戏一样。
而且 scratch 很适合用来做小游戏和动画,孩子会很感兴趣。就拿用 Scratch 做小游戏来说吧,其实有很多玩法。比如等孩子做出了自己的游戏,大人还可以跟孩子一起玩那个游戏。比一比谁玩的分数高,然后在这个过程中也可以不断地改进游戏。不但提高了孩子的动手能力和创造力,还能加强亲子关系:)。
顺便我想介绍一下 Scratch 的作者雷斯尼克的书《终身幼儿园》中的一些理念。这本书里作者提出了我们应该像在幼儿园中一样学习。那幼儿园有什么特别的吗?有,直接摘录两段吧。
世界上第一所幼儿园是弗里德里希·福禄培尔两百年前在德国开办的,它是为5岁幼童发明的一种新的教育方式,但我认为幼儿园的教育方式适合所有年龄段的人。
两百年前,教育方式是老师在课堂上讲,学生在下面做笔记。福禄培尔认为这个方式并不奏效,所以他创造了幼儿园,在这个空间里孩子可以通过交流来进行创造,他认为对于5岁的孩子来说,最好的学习方法就是实验和探索。
在幼儿园的孩子,可能会用积木来做一个塔,用蜡笔或者其他的工具来画画,在这个过程中孩子们学到了结构的平衡,颜色的搭配。最重要的是他们学会了创新的过程,学会了如何从一个想法变成现实,并且在探索中不断改进。
不幸的是,我们发现如今的幼儿园其实也在改变,今天很多幼儿园里的孩子们被迫要去做很多的填空题,以及去学习语法等等。因此幼儿园就跟别的学校没什么不同了,今天我想说我们需要的恰恰是相反的,我们需要学校,甚至是我们的一生都像幼儿园一样,这就是为什么我的书叫《终身幼儿园》。
所以让孩子自己在实验和探索中学习就是这本书的核心理念。在这个理念下作者又提出了一种培养创造性的学习法——4P 学习法。4P 就是指项目(Project)、热情(Passion)、同伴(Peers)和游戏(Play)。

儿童学编程,教什么编程语言好?-2.jpg

4P 学习法

作者提出的这个 4P 学习法还是依托于线上的 Scratch 社区的。鼓励孩子在社区中新建一个项目,这个项目的主题得是孩子感兴趣的(感兴趣才有热情)。然后在项目开发的过程中,很多天南地北、互不相识的孩子们可以一起在线上合作开发(和 Github 有点像),整个过程是具有游戏精神的。
但是国内这种少儿编程的社区还不是很成熟,可能无法像书中这样找到很多同伴进行分享和协作。而且 Scratch 编程班大部分还就是讲课,练习,做题的模式(跟 Scratch 作者的设想背道而驰。。。)。
但是我们可以活学活用,让孩子在线下做 4P 学习法,让孩子们在玩中学。
没有人会觉得一颗弹珠,或者一个乒乓球有什么好玩的,但是如果有几个小朋友可以一起玩、比赛,那么打弹珠、打乒乓就是一个非常非常好玩的游戏了。所以对于孩子来说,只要不是一个人,有了竞技性,很多普通的事情都可以变得很有意思。
Scratch 也一样。Scratch 是一个很好的工具,能让孩子们自己做游戏自己玩。最重要的是要有很多小孩子一起做,一起比赛,一起玩。如果孩子们感受到了乐趣,为了更好地在孩子们面前炫耀,自己也会往深了学的。而且在不知不觉中,动手能力和创造力都会得到提高。
比如孩子可以做出这样的游戏:

儿童学编程,教什么编程语言好?-3.jpg

躲子弹小游戏

改变一下思路,其实孩子能玩的东西有很多。
二. 提高孩子的思维能力和逻辑能力

对于稍微大点的孩子(小学高年级到初中),我们会想用编程锻炼锻炼孩子的思维能力。如果能同步提高其它学科的成绩就更好了。那么我建议不要学 Scratch 了,这门语言虽然门槛非常低,但是还是一门玩具语言。封装得过于精致反而不利于深入的学习。建议学习它的前身—— Logo 语言。Logo 语言在培训机构比较少见,其实在十几年前,很多小学是会教这门语言的。不过那时候教的目的还是为了做题和考试。
Logo 语言的界面是这样的。

儿童学编程,教什么编程语言好?-4.jpg

很简洁,没有 scratch 那么花哨

在这个语言中,孩子可以通过命令控制乌龟(就是中间的小三角形^_^')的行动。比如有:
fd 100   # 让乌龟前进100个像素
bk 100   # 让乌龟后退100个像素
rt 80    # 让乌龟原地右转 80 度
lt 80    # 让乌龟原地左转 80 度
repeat 10 [fd 10 rt 10]    # 循环命令,执行 fd 10 rt 10 十次还有其它的一些命令,但即使只有上面的几个,已经能做很多事了。
最初,为了让孩子能在编程中学习数学,Papert 才设计发明了这门语言的。在作者写《Mindstorms》这本书里面,作者提出了一个很有力的概念——微型世界。微型世界就是一个由少数几条规则构建的世界,比如由点,线构成的欧几里得世界。由速度、加速度、力等构建的经典力学世界。而只要稍加引导,就能让孩子在某个微型世界中自由地探索,从而学习到很多知识。
举个例子,比如我们可以让孩子在欧几里得微型世界中探索:
比如如果运行 fd 50 rt 20 fd 100。 看看小龟是怎么运动的。
现在可以让孩子开始构建多边形的世界了。
先画一个最简单的多边形——正三角形
看看怎么画呢?

儿童学编程,教什么编程语言好?-5.jpg

第一次尝试,失败

儿童学编程,教什么编程语言好?-6.jpg

第二次尝试,失败

儿童学编程,教什么编程语言好?-7.jpg

第三次尝试,成功\( ^▽^ )/

终于完成之后,还可以画正四边形(正方形)、正五边形、正六边形。
想一想,能想到一个统一的规律概括怎么画正多边形了吗?能用这个规律画正十边形吗?
最后,用这个规律,是不是可以画一个圆出来?

儿童学编程,教什么编程语言好?-8.jpg

一个很正的圆

你看,这样一个小小的课题,孩子就能学到很多关于多边形的知识,而且非常深刻。
那么这种方式跟传统的纸笔,尺规作图进行学习有什么不同呢?
最大的不同是计算机是可以交互的,而且反馈非常及时。我们不需要告诉还是做得对还是不对,孩子只要运行一下就能看到结果。而且计算机会不厌其烦地纠正孩子的思维上的漏洞,直到得到设想的结果。同时,就像做游戏一样,孩子也会不厌其烦地纠正自己编写的代码的 bug。
三. 为了更好地升学等原因,希望提高编程能力

如果纯粹是为了提高编程能力,最好的方法是学习算法。程序=数据结构+算法,可不要小看这个公式,提出这个公式的人可是凭借它获得了图灵奖(计算机界的诺贝尔奖)的。而学算法的时候,数据结构也是不可避免要学的,所以编程里面最难,也是最核心的部分都会学到。
对孩子来说,学算法最好的方式就是跟着一本算法书学,然后同步刷 noip 的题目。当然首先要学语言,建议直接学 C++,因为过几年 noip 比赛不能用 pascal,只能用 C++ 了。
算法书的话刘汝佳的《算法竞赛入门经典》很好。如果能把后面题目都独立做出来了,编程水平即使放到大学也是第一梯队的。
刷题的话可以在 http://noipoj.cn/ 中刷。这里面有很多很多不同难度、知识点的题目。每做一题都需要编写一个程序。然后把程序提交到网站里面,系统就会用你的代码跑内置的数据,看结果是否正确,只有所有的数据结果都正确,这题才算做对了。同时,题目还会对程序的运行时间、内存有限制。
摘选一个还挺复杂的题目^^:

儿童学编程,教什么编程语言好?-9.jpg

挺难的

如果要走这条路,要做好心理准备,肯定是漫长而艰苦的,但是对于编码能力和养成独立思考的习惯都是很有好处的。如果能取得好名次(省级以上),还会得到重点中学的关注,甚至有资格参加重点大学的自主招生或者直接保送*\(^_^)/*。
ps:最近每周都会读一本儿童教育书籍,核心内容会写在文章里,欢迎关注。
回复

使用道具 举报

33

主题

29

帖子

572

积分

村民

Rank: 4

积分
572
大圆镜2015 发表于 2021-12-17 10:00:38
我一个完全不懂编程的家长也来答题了!别打我。。。。且本答案超多图,小心流量。
我浏览了大部分答案,看到很多答案都提到了scratch,我就查了查这是什么东西。然后我觉得好像和我小盆友爱玩的一个东西......也许......大概......有点类似?......
很久前我无意中下了这个游戏来玩,是我自己玩的,并不是给小盆友开发的~

儿童学编程,教什么编程语言好?-1.jpg

它的界面大概是这个样子

儿童学编程,教什么编程语言好?-2.jpg

就是一关一关的玩,有50关,中途我还赞助了这个开发团队2刀。我一直觉得就是个益智小游戏,直到我把50关全过了,它居然出现一个大惊喜。。。。。。(我玩游戏少,没见识)
这个游戏提供基础块自己做新游戏!

就是这些

儿童学编程,教什么编程语言好?-3.jpg

每一个基础块展开还有不同的方向和角度。
有点craft类游戏的意思。根据本答案下程序员爸爸们提供的思路,入门时并不是学具体语言,而是学习逻辑的思维。那三岁多的小盆友做的这些东西算不算在编程的入口逛悠呢……
刚开始他只能做这种

儿童学编程,教什么编程语言好?-4.jpg

后来能做的复杂点,像这种

儿童学编程,教什么编程语言好?-5.jpg

现在能做这样的

儿童学编程,教什么编程语言好?-6.jpg
和这样的

儿童学编程,教什么编程语言好?-7.jpg

对了,这个不光是搭建,做好后有个运行的功能,可以让做出来的东西都动起来,每个能动的东西角色都不一样。其实全是乱七八糟瞎做,但是3岁的孩子,已经慢慢会发现一些东西。好多成品都删掉了,有点遗憾。
今天看到这个问题和答案,大概是这种东西吧。
另外很多答主说的scratch jr, 有这个,给9到11的孩子

儿童学编程,教什么编程语言好?-8.jpg

但是评论说tutorials要收钱的。
最后我在网易云课堂上发现了这个据说很良心的scratch免费课,叫课堂中的scratch。对程序员家长可能不值一提,但是对小白家长,算是个不错的软件介绍吧

儿童学编程,教什么编程语言好?-9.jpg

门外汉,要是我答歪了,大家不要骂我。
回复

使用道具 举报

123下一页
您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

关于作者

oiawxp6187693

青年

  • 主题

    5

  • 帖子

    19

  • 关注者

    1

Archiver|手机版|小黑屋| 宝宝村 | 赣ICP备19014419号-1 |网站地图
Powered by baobaocun.com!  © 2019-2020版权所有宝宝村