编程学习
1.37K subscribers
69 photos
17 videos
7 files
169 links
我不是什么编程高手,不是什么优秀教师,但是我就爱与孩子们一起玩。这里记录了我与几十个孩子边玩边学习编程的心得。
Download Telegram
编程学习
#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,上课时大家还是很欢乐的。 :)
很难想像,今天在给一个初中一年级的小朋友讲高内聚低耦合的原则。理解起来不容易,但是他很喜欢汽车,一说发动机、底盘立马明白了。再结合他自己写的几千行代码,立马明白了之前一些程序的问题,欢天喜地的去改程序去了。 ❤️❤️❤️❤️
https://www.typingclub.com/ 这是一个很不错的从头开始学习打字练习的网站,delphij推荐,我看了一下,真不错,为了不让我每次再去找他问,分享在这里,也算是留个痕迹,相信很多朋友会用的到。
Python是如何运行的.pdf
245.1 KB
Python是如何运行的(二)

今天这个连我自己都经常绕进去,然后答案各种错,结果又一次发现,真理总掌握在少数人手中。四个人,总是最少的是对的!哈哈哈
本并不打算在疫情前再教这四个小怪兽之外别的孩子了,主要是对网课这个形式感到痛苦,这个形式对孩子来讲太挑战了!上周意外碰到三个学生,尝试半天后,决定开始试试。主要的原因是这三个孩子年龄都还比较大,基本上都是六年级了,对计算机的操作不是那么恐惧,另外能感受到孩子的兴趣。所以决定试试,特别做了一个开始上课前必须准备的事务,希望能对大家有帮助:

https://hdcola.medium.com/scratch%E7%AC%AC%E4%B8%80%E8%AF%BE%E7%9A%84%E8%AF%BE%E5%89%8D%E4%BD%9C%E5%BC%8A%E6%9D%A1-532664d29e33
新的小朋友们已经准备差不多了,明天就要开始第一次课程了。小盆友们都是第一次学习编程、第一次使用ClassCraft。使用了一年多的ClassCraft,越来越喜欢这个工具了,与我一起学习编程一年的小朋友们现在还经常能沉迷在ClassCraft里,今天上午还有一个小朋友因为AP不够,无法发布自己的Bot而感叹不应该昨天浪费AP。于是今天又花了近两小时仔细思考了班级配置。以上是我设置的scratch时期的正向和负面行为。

技能:
给每个角色的一级技能增加了一项:请老师帮我解决一个问题。(使用5AP)

处罚:
.减少一次加分的机会
.痛苦的损失500XP

哈哈,想起了某个坑老师的学生说我是最坑学生的老师,美滋滋~
2020小班第一节课与第二节课记录

小班有三个小盆友,都是11岁。比起更小的小朋友,学习scratch的理解能力和举一返三的能力大大超过我的预料。感觉上,一个月scratch的部分就可以结束了。

第一节课

首先学习了 一只小猫
https://scratch.mit.edu/projects/463916542/
就如之前的孩子们,这三个小盆友都快速的掌握,并且完成了自己的作品。

然后继续以前的我的名字
https://scratch.mit.edu/projects/463925506/
我示例了前两个字母。然后下课,留了一个作业让孩子们自己发挥做一个喜欢的作品,把自己名字后面的字母做出不同的效果来。

第二节课
孩子们的作业都不错。有一个孩子,自己发现了可以用不同的方法来触发自己想做的事,尝试在作业里加入了键盘事件,非常棒。但是没有写任何说明,所以连自己都不知道怎么才能触发,因为她用了a、1、9、任意键,也了解了为什么scratch作品里需要写使用说明。

马上要圣诞节了,所以我特别改变了以前的内容,增加了 圣诞贺卡
https://scratch.mit.edu/projects/464528302/

主要是教会了孩子们如果上传自己喜欢的声音(音乐)、背景(图片)、对象(图片)。还教会了孩子们如何自己修图(孩子们真的是太喜欢修图了…)

第二节课后,孩子们对于能制作带有声音、动画以及让观看者到处追着点的目标的形式达到了兴奋的程序,基本上当天和第二天都在有空的时候去仔细琢磨一个自己喜欢的作品。也有孩子向自己的朋友和同学展示作品,看到孩子们开心,这就说明会有更好的心态去学习。

感觉三个孩子都很不错,认真、喜欢琢磨,同时也都感受到了乐趣,这时是有激情的,希望孩子们可以坚持下去,展现出是否擅长于理解、发现和总结。 :)
2020小班第三节课与第四节课记录

发现11岁的孩子对于消息、触发消息的理解非常容易。这点非常让我意外,但是对于循环的理解还是比较困难,这个看来晚一些还是需要再多练习。至于判断,真的是毫无压力了。

第三节课

这节课马上就到圣诞节了,孩子们对于做一个贺卡表现出了很大的热情。所以我决定在贺卡上继续下功夫,这样就可以在圣诞节让她们送出一个酷酷的贺卡了。所以就有了 奔跑的贺卡:
https://scratch.mit.edu/projects/466937924/

这节课让孩子们学习了选择(if 触碰到边缘)、方向和掉头、显示和隐藏、把对象移动到另一个对象的位置。中间也教会了孩子们如何录音。课后作业是在下面加上一个小人来回走去打开掉下来的礼物,同时礼物盒里会出来三个并排的礼物。这是一个作业成品,孩子当做贺卡发给了很多朋友:
https://scratch.mit.edu/projects/466937963/

第四节课

这节课时已经过完圣诞节了。所以延续以前的步骤。以前做的是打刺鱼。这次我决定让他们自己选择想打的东西。这是教学的示例 打蘑菇头:
https://scratch.mit.edu/projects/467754264/

这节课有了更多的事件、消息、前半程是让孩子们自己来做,让我看看对位置、消息、事件、动画的理解与运用。大部分掌握不错。后面多教学了变量、计时器和结束、重新开始的部分。

留下的作业是:
1.天上飞一只鸟,每xxx时间下一个蛋
2.点蛋,得到一分
3.蛋掉到最下面就碎了,消失
4.记下了多少蛋,记接住了多少蛋
5.计时,一分钟游戏结束
Python是怎样运行的(三).pdf
521.7 KB
Python是怎样运行的最后一节课

这节课把package和from import都讲了进去。自从这一节课后,我发现小盆友们看程序的能力得到了提升。学会用机器的思想运行代码,其实是解决bug的重要途径。
编程学习 pinned «https://www.typingclub.com/ 这是一个很不错的从头开始学习打字练习的网站,delphij推荐,我看了一下,真不错,为了不让我每次再去找他问,分享在这里,也算是留个痕迹,相信很多朋友会用的到。»