编程学习
1.37K subscribers
69 photos
17 videos
7 files
169 links
我不是什么编程高手,不是什么优秀教师,但是我就爱与孩子们一起玩。这里记录了我与几十个孩子边玩边学习编程的心得。
Download Telegram
Channel created
https://www.udemy.com/course/teach-your-kids-to-code/ 有推油MGC 推荐了这个Python的学习系列。我也在这里发出来。我只是看了下目录和一些视频。个人认为这个教程应该适合于16岁以上的、自己想学编程的孩子,对于成人初学者也适用。我最赞赏的是他的教学范围,并没有迅速扩大,而是重视了基础的逻辑和思维方法。但是问题仍然是没有解决文字编程过于抽象,难以解决引发兴趣的问题。另外,我们不得不承认,这个视频最开始的安装是一个枯燥乏味的学习,极大的提升了学习者获取成就感的难度。
🔥1
https://scratch.mit.edu/parents/ Scratch是我用了很多方式之后测试下来的最适合孩子们学习编程的入门工具。在官方推荐里,有这样的说明:
Scratch主要是为8至16岁年龄的孩子设计的,但各个年龄段的人群都在使用Scratch进行创作和分享。年幼一点的孩子可以试试ScratchJr,这是为5至7岁都孩子设计的简化版的Scratch。
我实在是难以承受8岁以下小朋友虐我的精神压力,所以都是从Scratch教起的。
Scratch的优势:开箱即用、声画资源丰富、所见即所得的过程、丰富的社区。基本上,我都有把握让孩子在十分钟内开心的获得自己的第一次成就感。
Scratch的问题:在iPad上的表现不够好,如果有计算机会发现更舒服。消息机制的想法很好,对于年龄较小的孩子来讲太难了,但是能充分理解的孩子,已经有冲动和能力去学习文字编程了。
总结:如果孩子8岁,适合每周一次到三次,学习和使用Scratch玩起来。
我自己前后带了十多个学生学习Scratch(年龄6到45岁),发现这个东西作为逻辑入门的教学工具非常棒。无论孩子还是大人,都可以轻松掌握这个东西。我接下来会把我自己带学生时的关键教程发在这里,如果你有好的部分也欢迎到群里分享。每个课程后面序列号的第一位代表级别,第二位代表课程号,一个级别学完就可以去社区看别人怎么做的试着自己做,或者进行改编了。
#Scratch 入门 1.1 一只猫
https://scratch.mit.edu/projects/329196633

这个课程用让对象说话、变化位置、发生、动画移动来让我们了解Scratch的功能。通常一个卡通形象,能跟你say hello,还能发出声音并且完成动画,孩子只需要四五个步骤就完成,会让大多数孩子引起兴趣,并想尝试更多!这个在文字编程里,很难获得这样的生动感和成就感。
有关Scratch你认为
Anonymous Poll
65%
是个好东西,适合8岁以上的孩子,我也喜欢玩
4%
没有App,太傻了,现在怎么会有这么落后的东西
26%
是个好社区,很容易就能学会使用
4%
这是什么货,半天也没看到说明怎么用
13%
scratch.mit.edu 被墙了,无法连上,他们竟然不解决
4%
教师账号真不错,让我很容易帮助孩子
0%
教师功能太弱,不知道与普通账号有什么区别
0%
浏览器兼容性太差,我这里特别卡特别慢
13%
竟然完美支持iPad上的使用,太棒了
17%
其他,欢迎来群里讨论
#Scratch 入门 1.2 我的名字
https://scratch.mit.edu/projects/329212906

这个教会我们多个对象,让自己名字的每个字母都有不同的反应。孩子也会发现除了猫,还有大量的卡通形象可以使用,又是自己的名字。这里我们加入重复执行,以及对象的效果,相信一定是个兴奋的效果!通常孩子们都会把url分享给父母或者朋友,这会是一个很开心的事情。有心的还会做更多花样,记得给他们送去赞赏,不要吝惜!
#Scratch 入门 1.3 制作行走
https://scratch.mit.edu/projects/329224970
这里我们会使用一个对象的多个造型加重复执行,形成一个大灰熊在地面上的行走。衍生可以再试试走的更快(更短的时间走完相同的距离、相同的时间走出更远的距离)、走的更慢的调整。很多孩子,通过这个理解速度、时间、加速度的运用非常棒!
1
孩子学习编程为什么

我经常问一些身边的朋友,问他们为什么让孩子学习编程,同理也问过为什么考大学选了某个专业。家长最多给我的回复是“这是他自己选的”、“这个是热门”、“将来有用”。最少听到的是“这是他喜欢的”、“他有这方面的天分”、“他擅长做这样的事”,真的非常可惜。

也问过很多孩子,你10年级选择什么选修课,上大学想学什么专业。孩子们给我的答案经常是“就是有种感觉我喜欢”、“爸爸妈妈要让我学”、“大家都报了这个”。当我问到为啥喜欢和用什么证明你喜欢时,都没什么特别的理由。

所以有朋友问我,孩子为什么要学编程?我的建议是有兴趣为重、如果再有点天分,就应该学习编程了。那么到底怎么才知道是不是有兴趣呢?

.写起程序时间很快就过去了
.老师上课总会听的很认真仔细
.一说要去写程序就开心兴奋

需要通过长期的观察和自我了解,才能知道自己的兴趣,知道是不是喜欢。如果你的孩子真的找到了自己喜欢的兴趣,哪么恭喜你和孩子。如果孩子找到了好几个自己喜欢的兴趣,哪么更应该敲锣打鼓去烧高香了。如果孩子还没有找到自己喜欢的兴趣,只要不沉迷于抖音、快手、国产充值网游,那么一切都好。继续和孩子一起去找就好了。

切记,学习是非常辛苦的,如果想真的学有所成,而不只是拿分机器,兴趣才会让你渡过最为辛苦的时光,让你有机会事半功倍。以上所说,适合于学习编程,同样适合于很多的行业、职业。经济飞速增涨、人才供不应求的时间是否能延续我们不得而知,但是相信个性化、富有创造力、充满主观能动性的人才是未来生活的积极向上者。这就是为什么我这么挑学生,总是让一些学生再去试试别的东西,因为将来等你长大了,编程会是每个人都必然要学习的内容,如果这个东西不是你今天喜欢的兴趣,就去寻找真正适合自己的兴趣爱好吧,在十年级之前你都应该花最多的时间去寻找,而不是去上补习班、去拿班里最好的成绩。

前几日和邻居聊天,他总结了一句,要解放孩子,先解放自己……作为过来人,我非常幸运的在孩子最需要的时候陪伴在了孩子身边,运用了解放的教育理念,改变了很多,让孩子找到了兴趣、爱好和拥有了自信。
编程学习
#Scratch 入门 1.3 制作行走 https://scratch.mit.edu/projects/329224970 这里我们会使用一个对象的多个造型加重复执行,形成一个大灰熊在地面上的行走。衍生可以再试试走的更快(更短的时间走完相同的距离、相同的时间走出更远的距离)、走的更慢的调整。很多孩子,通过这个理解速度、时间、加速度的运用非常棒!
原则上,第一阶段学习完成后,就可以制作各种动画效果。如果孩子只有8岁,那么就可以没事去scratch社区的动画分类( https://scratch.mit.edu/explore/projects/animations/ )里面找孩子喜欢的作品收藏起来。每周可以挑选一两个喜欢的模仿或者是改编。甚至孩子的作业、生日聚会等活动的展示都鼓励他用Scratch完成,这样会形成玩、学、练、用的良好循环。因为这个东西如此的简单,我认为不必带孩子去任何教育机构,自己和孩子一起完成即可。
#Python 第一课 给你的MacOS安装Python和VSCode
https://github.com/HDCodePractice/MakePythonProject/blob/master/%E7%AC%AC%E4%B8%80%E8%AF%BE%20%E5%AE%89%E8%A3%85Python%E5%92%8CVSCode.md

这周给四个小朋友上了Python的第一课。由于之前ChenNan给大家简单的讲过命令行入门,他们都非常容易的运行了所有的命令。对于使用code work打开VSCode,每个小朋友都很惊叹。对于在终端上字符的跳动每个小朋友都非常兴奋。孩子们的年龄分别是5年级、7年级和12年级,都很容易。由于之前学习了Swift Playgrounds的内容,我只简单说明了一下都很容易的理解的所有的代码内容。 课后作业是让他们把之前 https://github.com/HDCodePractice/SwiftPracticeResult 中 002 填支票本 的Swift代码改编为Python。同时在课上给他们所有人都开启了新的ClassCraft班级和帐号,这一次给每个角色都增加了一个技能:The Mage gets a 10 minute debug video meeting with the teacher. 让老师帮忙debug 10分钟。结果导致第二天,小朋友们都开始使用这个技能把自己的AP用光了让我帮忙Debug。现在看,孩子们还是比较依赖老师教,但是有一个小朋友Google比较厉害后,大家都开始自己寻找之前学的if/for/while/func在Python里怎么写了。另外,还是不哪么习惯使用print()来去debug,不过要花AP的事,相信会让他们慢慢学会的。
#Python 第二课 使用GitHub和建立第一个机器人
https://github.com/HDCodePractice/MakePythonProject/blob/master/%E7%AC%AC%E4%BA%8C%E8%AF%BE%20%E4%BD%BF%E7%94%A8GitHub%E5%92%8C%E5%BB%BA%E7%AB%8B%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%9C%BA%E5%99%A8%E4%BA%BA.md

第二课比我想像的大家有收获的多。我献声为孩子们录制的YouTube得到了认可,只是他们让我下次再录时把最后一行录上。通过看我录制的视频,基本上所有的人都能正确的完成目标。后来我发现有孩子为了得到最快完成的奖励看不细,所以我决定以后在classcraft里把最快完成这个奖励去除。在书写Telegram Bot部分也还好,这里有两个小朋友的机器因为爸爸爱折腾所以机器里被安装了好几个Python外一切都还不错。大家对于能完成一个自己的机器人感到非常兴奋。

上第二课因为一个小朋友的计算机重启遇到了重级让时间超时不少,最后花了两个多小时才完事。所以最后对于.gitignore和token的处理的事情还会在第三节课上讲讲的。小朋友们对于VSCode的使用还有些困惑,发生过的问题是这些:
.如何在VSCode里选择Python运行环境。解:点下左下角的Pythonx.x.x选择/usr/local/bin/python3
.在VSCode里点run运行总出>>>。解:是因为你自己在VSCode的终端里运行了Python,需要按ctrl+D退出Python
.在VSCode里为什么总在import telegram这里提示有问题。解:要么是没pip安装python-telegram-bot,要么就是VSCode里的Python要选择别的试试

最终我考虑很久,没有引入venv,还是想先少点乱七八糟的东东,让孩子们先简单一点
在清风老湿的诱导下,讲了讲classcraft,发现大家对它还是挺感兴趣的,随手写一个作弊条让大家感受一下它的乐趣:

https://medium.com/@hdcola/classcraft%E6%80%8E%E4%B9%88%E7%8E%A9%E4%BD%9C%E5%BC%8A%E6%9D%A1-b30368e0f124

其实文章里所有的行为都是可以自定义的,而且所有的行为、处罚、技术都是和小朋友们一起商量的,边玩边改,连我都非常喜欢和他们一起玩这个游戏。
开始一段时间Python的学习了,孩子们对于做一个Telegram Bot这事儿还是很认同的,还是应验了我的三个原则:简单就能看到结果、学习相对单一的知识、可以把成果展示给他人。最有意思的是,他们宁愿在一个群里调试Bot,对调试的结果即时表达了自己的感情就可以看出。那么国内的小孩有什么类似的推荐吗?
Forwarded from BotNews
Introducing Bot API 5.0

• Run your own Bot API server.
Transfer Bot ownership to another account.
• New options for Webhooks.
• New method copyMessage to send a copy of any message.
• Support for Live Locations, including the latest changes.
• Support for Multiple Pinned Messages
• Support for File Albums
• Support for Anonymous Admins.
• Support for ⚽️ and 🎰 animated emoji.
• And much more, read the full changelog here:

https://core.telegram.org/bots/api-changelog#November-4-2020
小朋友们热情高涨的要为自己的机器人加入金币功能,上课时都嗨的不行不行的。
上周学习的内容,课上为小朋友们讲了两个内容,发现不容易消化,后来课下每个小朋友又单独讲了一下,才学会使用。但是对于存盘功能,大家都非常的开心,终于自己的打怪没有白费,每次重启bot都不再犹豫了。更重要的,小朋友们对于存档作弊有了新的认识~哈哈
把3的世界,改为他人就完美了,给为人父母的家长们
👍1
Python是如何运行的.pdf
267.9 KB
Python是如何运行的(一)

孩子们学习编程一段时间了,对于程序的运行有时还是以模仿为主。所以以复习和联系为主,同时学习import,开始了这个系列的课程。配上classcraft,上课时大家还是很欢乐的。 :)