firia 的主要目的是教孩子们使用真实世界的 python 语言进行编程,而不是图形化的拖放方法。
很久以前,max(我们尊敬的编辑)在 firia labs 上发表了一篇专栏文章,这家公司由 david ewing 创立,他在 1981 年用一台 sinclair zx81 开始了他的计算机生活——巧合的是,我几乎在同一时间也有同样的小电脑(他只是把他的经历更进一步)。我从我的 zx81 中学到了很多东西,但与 david 有相似的经历,max 说,“许多书对于初学者来说水平太高,很快就感到沮丧。” 大卫告诉自己,“我要学习所有这些,然后有一天,我要写一本书,让像我这样的孩子比我现在要做的更容易学习这些东西!”
好吧,大约在过去一年左右,david 和他的妻子 geri 实现了这个梦想并创办了firia labs,只不过它是一个网站,而不是一本书,而且 firia 使用的不是 zx81s,而是 bbc micro:bit(是的,没错,没有大写)。firia 很友好地给我寄了一个 explorer kit,它已经在我的办公室里搁置了几个月(对不起,firia!),但我终于找到时间开始掌握它了。
firia 存在的主要理由是教孩子(任何年龄的……唷!)使用现实世界的 python 语言编程,而不是图形拖放方法。我认为,python 是近来相当流行和广泛使用的语言,尤其是由于 raspberry pi 的兴起。我在 basic 方面做了很多工作,并涉足机器代码和汇编,但我什至不懂 c,而我的格言之一是,“拥有快乐的童年永远不会太晚。” 所以我可能是一个很好的人,可以为 firia 的产品提供试驾。
firia 寄给我的explorer kit包含两个 bbc micro:bit 板、两个 usb 引线、两个电池盒(带电池)、两个热敏电阻、光敏电阻和压电发声器,以及四个短鳄鱼夹引线。该公司还生产了一个更大的 jump start kit,其数量是上述数量的五倍——即足够 10 名学生使用的硬件,这是有道理的,因为学校需要这些数量。
我对 bbc micro:bit 的最初反应是,“它太小了!” 我期待的是 arduino 大小的东西,这大约是那个大小的一半,超过 1.5 × 2 英寸的阴影。我看到的照片缺乏很多关于真实尺寸的视觉线索。它具有通常的 usb micro 插座、一个用于独立运行的电源插座、几个按钮、一个 5 × 5 led 矩阵和一个边缘连接器,其中有五个连接(3 v、接地和三个端口)更宽且运动孔一个 4 毫米的香蕉插头可以插入其中(好主意)。我看过 led 侧的各种颜色的绘画,但事实证明这只是随机的。firia 的 micro:bit 加载了自己的软件,但它提供了非常清晰的说明,说明如何在必要时将其加载到您自己的 micro:bit 上。micro:bit 有一个 16-mhz arm cortex-m0 微控制器、256-kb 闪存、和 16 kb sram,以及 usb 和蓝牙通信以及一系列外围设备,其中一些在下面的板上进行了说明。它被吹捧为比 80 年代推出的原始 bbc 计算机小 75 倍和快 18 倍(只有 18 倍?),但它有一个全尺寸键盘,在前面提到的 sinclair zx80 之后我发现这个功能很受欢迎等人薄膜键盘。当然,在这里,我们使用的是您 pc 的键盘和屏幕。
firia 在其网站上运行其 ide,codespace,因此无需下载和设置常驻 ide。我将 micro:bit 插入 pc 的 usb 端口,它立即被识别并显示为我的电脑中的 usb 驱动器。单击 firia 主页上的 codespace 链接会显示一些关于将 micro:bit 链接到 codespace 的简单说明。我跟着这些,来到了我的第一个障碍。firia 说我看起来好像有一个 windows 8.1 之前的版本(真的——我还在 windows 7 上),然后通过一个链接,我了解到“不幸的是,windows 7 或更早版本将无法运行。” 幸运的是,我有一台装有 windows 10 的笔记本电脑,所以我再次尝试使用它。firia 希望您使用 google 登录,而我已经很长时间没有使用我的 google 帐户并且忘记了密码。更新后,我插入了 micro:位并被识别,但它告诉我它需要更新。这需要下载一个文件(到下载文件夹),然后将它拖放到 micro:bit 驱动器。这既快速又简单,我可以继续做事。
感受爱
codespace 提供一分为二的屏幕,左侧是 ide 编辑器窗口,右侧是教程内容。
firia 做的第一件事就是让你进入一个两行程序。我用不少于三个错误来解决这个问题(好吧,我使用的是我不熟悉的笔记本电脑键盘)!这些错误用简单的术语解释,很容易纠正。程序加载图像 image.heart,它在 5 × 5 led 显示屏上显示了一颗心。正如 max 喜欢指出的那样,“给我看一个闪烁的 led,我会告诉你一个流口水的男人!” 我认为,对于注意力有限的孩子(比如我!)来说,这是一个不错的选择——让你的董事会真正做点事情的努力最少。它跟随不同的图像。您可以快速浏览教程屏幕,但我总是想在走路之前先跑步。教程屏幕上有各种蓝色文本项目,旁边有一个扳手,这些项目会打开一个包含更深入信息的弹出框,例如可用图像列表,如何构建和显示您自己的 5 × 5 led 图像,以及如何显示图像序列。我尝试了这两种方法,但在尝试使用心脏和小心脏图像显示“跳动的心脏”时感到非常沮丧。显示了执行此操作的语法,但它仅列出了语法中的“图像”,并没有向您展示如何构建列表。幸运的是,帮助选项卡中有一个可用的命令参考,使用它,在几次错误的启动之后,我得到了我的心跳显示。我的一个批评是,在帮助框中,您无法复制任何内容,因此在您的程序中添加这样的一行:我尝试了这两种方法,但在尝试使用心脏和小心脏图像显示“跳动的心脏”时感到非常沮丧。显示了执行此操作的语法,但它仅列出了语法中的“图像”,并没有向您展示如何构建列表。幸运的是,帮助选项卡中有一个可用的命令参考,使用它,在几次错误的启动之后,我得到了我的心跳显示。我的一个批评是,在帮助框中,您无法复制任何内容,因此在您的程序中添加这样的一行:我尝试了这两种方法,但在尝试使用心脏和小心脏图像显示“跳动的心脏”时感到非常沮丧。显示了执行此操作的语法,但它仅列出了语法中的“图像”,并没有向您展示如何构建列表。幸运的是,帮助选项卡中有一个可用的命令参考,使用它,在几次错误的启动之后,我得到了我的心跳显示。我的一个批评是,在帮助框中,您无法复制任何内容,因此在您的程序中添加这样的一行:
display.show([image.heart_small,image.heart], delay=400, wait=true, loop=true, clear=false)
您必须全部输入,而不是从帮助屏幕中复制至少一部分,这有点烦人。右侧面板中的课程文本和代码也是如此——它非常好,如果您想了解更多关于特定内容的链接,可以点击很多链接,但您不能复制和粘贴任何内容。显示帮助框还列出了 display.scroll 命令的语法,通过它我得到了第一次运行的滚动文本显示(“hello world”,还有什么?!)。掌握一个新的 ide(或任何程序,就此而言)总是一个陡峭的学习曲线,无论它多么直观,教程材料多么好。100 个不同的人会提出 100 个不同的问题,而你不可能随时获得所有答案。但是 codespace 做得很好,很快就可以找到您需要的信息。它还可以很好地指出您的错误。最初,一些错误消息似乎有点神秘,但同样,您很快就会对它们试图告诉您的内容有所了解,并且它们更有意义,可以帮助您找到摆脱困境的出路。
后来,我在课上进步了,一个早期的话题是,如果你输入一个程序显示a,然后显示b,然后显示c,你就看不到a和b,只有c,因为计算机可以工作比你的眼睛快得多。因此,您可以使用单步按钮使其逐步运行以显示它正在显示中间步骤。除了我无法让我的单步按钮工作。我已经为此提供了支持票,并将报告解决的情况和速度。(我后来在课程中看到一个关于“步骤”按钮只能在完整的许可版本中访问的小注释 - 更多内容如下。)但是,当然,它会教你 sleep() 函数来延迟所以你可以看到每一步:
display.show(“3”)
sleep(1000)
display.show(“2”)
sleep(1000)
display.show(“1”)
像往常一样(将其与上面较长的 display.show 命令进行比较),在大多数语言中总是有不止一种方法可以做某事。但我很快就对 python 语法和格式有了“感觉”,这当然是本意。
通过条件分支、如何显示各种值(数字、字符串等)以及进行基本数学运算和显示结果,课程以相当令人满意的速度进行。一个小烦恼是,在一些课程结束时,您会被问到一个问题(“有 3 秒倒计时(3、2、1)吗?”),并且会出现一个是或否按钮以获取反馈。我的麻烦是我会继续尝试程序中的其他东西,通常是课程中没有直接出现的东西,并且正在教授的功能将不再存在。所以如果我点击“是”,我会被告知要修复错误,它会指出我没有使用正确的功能。我对此有两种看法。一方面,codespace在编码环境和课程之间有如此良好的互动是值得称道的。但是,如果我点击“是,” 这意味着我已经得到它,无需修复。(我一直是个不守规矩的学生。)幸运的是,在课程面板中,有前进和后退按钮,因此您可以在烦人的时候绕过这些问题。
在这个阶段,我遇到了一个问题:我的课程的免费部分结束了。因为我可以访问这些课程,所以我假设我安装了许可证,但事实并非如此。如上所述,我在周六晚上向 firia 发送了关于单步问题的支持请求,我很惊讶地在周日早上收到 geri ewing 的回复,告诉我这也是因为我没有许可证(如果我打扰了,我可以自己阅读!)。geri 没有将两个和两个放在一起并识别出我的电子邮件地址,所以这是不请自来的标准服务,我完全印象深刻。后来我收到了 david 的回复,其中包含许可证密钥。这有一些问题,因为许可证密钥是在 firia 向我发送套件时生成的(许可证包含在价格中)并且是较旧的类型,但那是我在套件上坐了这么久的错!如果 firia 的服务对每个人都这么好,我相信它有很多满意的客户。无论如何,这似乎是一个暂时停下来的好地方。
我喜欢:
教训。它们很容易理解,我学到了很多东西,而且如果你愿意的话,总有足够的资源可以深入研究。firia 的教师资源也很棒,有手册、课程计划等。我可以理解为什么 firia 作为教学资源有一个很好的名字。 代码空间布局。在一个屏幕上同时使用课程和代码窗口,您永远不必交换窗口,如果您出错了,错误消息会很好。 支撑。极好的! 我不喜欢(但实际上这些都是次要的抱怨):
缺乏对 windows <8 的支持。但这有充分的理由,我在这里有点像卢德分子。 当我让它工作并继续尝试其他命令或语法时,被告知要修复一些东西。好吧,如果你得到否定的答案,就这样做,但要相信学生,当他说“是”时,他就明白了。 无法在课程和帮助屏幕中复制和粘贴——要么是为了节省编码时间,要么是为了制作我自己喜欢做的个性化文档。 一旦我深入研究课程,我将进一步报告。micro.bit 提供蓝牙通信,因此应该可以将其中一个用作远程温度传感器,并让它与另一个进行通信以制作内部/外部温度计或类似的东西。
Innovasic新型RapID平台连接解决方案正式上线
使用FLIR IR相机和Arty Z7-20创建IR视觉应用程序
安卓手机为何比不过iPhone?
工业机器人技术各地的专利情况如何
协同网络大脑“河图”发布
Firia Labs 通过真实世界的学习体验教授编程
哈工大机器人集团助力企业口罩生产 但供应方技术支持远水解不了近渴
编写智能合约时应遵循哪些安全模式
美国5G频谱拍卖成交价创下新纪录
PCIE超高速实时运动控制卡在六面外观视觉检测上的应用
交通对于智慧城市的建设有多重要
单片DPSK和FSK MODEM TS7
三星电视安装第三方软件的方法
预训练语言模型的字典描述
英特尔发布顶级CPU:美国政府明确对中国禁售
最新的多芯片模块(MCM)封装类型
指导方针进行适当的线路一个RS-485接口 TIA/EIA-
中国量子通信进一步大突破,领先与世界前沿人类首次洲际量子通信
数字资产币币撮合交易系统开发,区块链币币撮合交易平台开发公司
东芝与西数投巨资扩产3D Nand Flash产能 雷军意外现身开幕式