DataArt推出免费的Kiddo平台-针对Python学习者的在线问题书





任何人都可以 自己的任务添加到数据库中,将Kiddo嵌入您的网站并不比YouTube播放器困难。项目启发者DataArt解决方案架构师Denis Tsyplakov谈到了儿童教育平台的想法及其在隔离期间的实施情况。



什么是Kiddo?



Kiddo是一个平台,在此平台上,孩子们可以通过解决快速反馈问题来学习编写Python代码。用户通过API编写的简单程序控制着即时渲染代码的场景。现在有两个这样的场景:第一个是迷宫,迷宫通过这个迷宫收集饼干并从怪物逃脱,一个小浣熊奔跑,第二个是功能更强的控制台,一个解决编程问题的经典环境。





用户的任务是将浣熊拉到标有旗帜的终点,收集cookie并避免被怪兽



Kiddo假装成教科书而捉住,这里仍然需要对编程有初步的了解。但是,对于初学者而言,已经有足够的教程供初学者在Internet上从头开始学习Python:乍一看,您可以致电Python Books频道或网站pythonworld.ru。我们的平台可以作为实际任务的补充,而不是对它们的补充。但是,在我看来,几天之后,很可能是任何高中生,都会想出如何更快地解决问题的方法。此外,我们有足够的技巧。



现在,两个场景中的每一个都有20-30个任务。基本上,它们非常简单,特别是在带有浣熊的版本中:首先,您只需要移动它-发出命令将两个单元向右移动,然后向下三个单元,





依此类推。任务逐渐变得更加复杂,出现了移动的怪物,可以在帮助下进行战斗炸弹和枪支,在生成关卡时,轨道本身开始更改配置



控制台不是很有趣,它只是一个计算机终端模拟器。但是,有些非平凡的任务通常需要编写代码。尽管不需要泰坦尼克号的努力,但学生可以应对。但最重要的是,至少可以将一本完整的手册(包括大学一年级的任务)放在这个阶段。您可以自己添加它们-用于您的特定项目。





对于带有控制台的版本,Kiddo网站上现在有24项任务。



要将Kiddo嵌入网站上,您只需复制嵌入代码即可,就像在YouTube播放器中一样。



我们的DataArt认为,该平台可以在会议上使用,例如在开放日使用(会议开始且大门终于打开时)。一方面,面向程序员的游戏设置了最低的进入壁垒,另一方面,这仍然不是一个完全平庸的举动,与某些形式的传统广告不同,它并不使我个人烦恼。我知道为会议做广告是必要的恶作剧:-)但是,有一种方法可以使广告变得有趣而有趣。当然,我们也希望与儿童编程学校合作-现在我们正在与其中一所进行谈判,我们将看到我们可以一起做什么。



Kiddo有何不同?



如果我们查看任何培训站点,我们将看到三个组成部分:



  1. , — , . , , .
  2. — , - , , . , - .
  3. LMS — Learning Management System — , , , , , , .


在培训现场,这三个部分通常合并为一个整体。这是可以理解的,因为它们每个都是具有特定业务目标的产品,要实现该目标需要最大程度的用户参与。出于同样的原因,此类项目在LMS中的游戏化元素通常看起来非常困难:星际飞行任务,库存,练级角色技能。显然,许多教育项目都在试图使它们更接近在线游戏,只是为了使它们看起来更具吸引力。但是在我看来,这样的产品难以定制或很难定制,并且绝对不可能在零件中使用-要么全部使用,要么寻找其他产品。在这方面,用户别无选择。



还有另一个问题-非常幼稚的程序之间存在鸿沟,例如,您只需要在屏幕上移动多维数据集,而您所在的IDE就像成年人一样工作。尽管中间位置由在同一Steam上提供的编程游戏(例如TIS-100)部分填充。它们通常类似于30年前我本人在家用计算机上学习的内容。它们的主要内容是快速的反馈周期:您使用某种或多或少成熟的编程语言编写普通程序并获得即时可视化:某人或某人正在旋转,奔跑,跳跃等。但是,此类游戏只能用作不可或缺的独立产品-将任务整合到您自己的教育周期中是不可能的。



有一次,我看着我最小的女儿在俄罗斯教育门户网站上解决编程问题。然后,她单击了大约90个:公平地说,我必须说任务本身非常简单,但是凭借可视化和反馈速度,那里的一切都还不错。在这个过程中,我有一个主意:创建一个可以重用或嵌入第三方项目的通用组件-使用它做任何您想做的事,创建更复杂的任务。可以将其作为开源加以改进,并在此基础上构建不同的学习周期。最主要的是,用户(例如,一个小学生)应该编写一个简单的代码,该代码将立即执行,并且看起来很有趣的事情也会在屏幕上发生。



我们是如何制作Kiddo的?



一年多前,我想到了一个平台或一个可以直接嵌入到浏览器中的组件的想法。我希望对它感兴趣的任何人都可以扩展它。这样一来,您就可以从简单的问题开始着手解决复杂的深层问题。最初,一切发展缓慢,然后在人才实验室的内部计划的帮助下,我们检验了假设并为自己创建了小项目,事情进展得更快。



但是,当然,自我隔离可以解决问题。而且,随着时间的推移,同级工程师对儿童项目的兴趣明显增加。也许,许多人是根据自己的经历或亲人的经历深信将一个孩子留在家里有多么困难。



总而言之,我们只满足了350个生产小时。没错,在某个地方,我们得到了暂时不在客户项目之外的同事的帮助。我们进行了迭代,并发布了几乎十二个内部Alpha版本。好吧,由于我们的行为是离散的,并且在某个特定时刻有自由的人的力量,所以我们承担了巨额的技术债务。因此,我们已经重构了将近一个月。



某些功能仍仅在草稿中,但是可以缩放项目。这些任务主要是由开发人员自己发明的,但是您几乎可以无休止地继续填充数据库。可视化没有问题:我们停止了广义的街机玩具的概念,例如,从1980年代末开始,这种概念已经接近许多。我自己曾经在Assembler中制作了其中的三个。



下一步是什么?



现在,我们正在针对不同国家/地区对平台进行本地化,其源代码已发布在GitHub上但是您可以随时补充任务数据库,并将Kiddo带到您的站点。问题是用JavaScript编写的,其复杂性不受作者想象力的限制。我们为图形任务提供了一组现成的图片,但如果需要,您可以自己绘制。







最后,例如,如果有人想在Kiddo中添加自己的东西,以使其在特定网站上看起来更加有机,您可以通过kiddo@dataart.com向我们写信我想我们会解决的。或者,您可以将代码派生到GitHub并自己完成。



All Articles