使用 CodeCombat 进行编程冒险并为开源做贡献

还没有读者喜欢这篇文章。
Code Combat gaming

Opensource.com

2008 年,当我创立我的第一家初创公司时,我还是个编程新手。在奥柏林学院获得的经济学学位并没有让我为编写可用于生产环境的代码做好准备。尽管我尽了最大努力拼凑出粗糙的 HTML 和 CSS Django 模板,但我对我们代码库的贡献能力充其量也只是有限。所以我开始通过在线教程和课程慢慢自学编程。在经历了多次令人沮丧的开始和停止之后,我意识到我为什么难以坚持下去:代码课程和视频对我来说感觉像学校,而且我对重返课堂没有任何兴趣。

接下来我们构建的是 CodeCombat,这是一款教孩子和学生编程的游戏。玩家使用咒语 (JavaScript) 来控制他们的部队与食人魔敌人作战。并且,在今年 1 月 8 日,我们开源了整个项目:服务器、美术以及所有内容。您实际上可以在几分钟内克隆我们的存储库,并在您的本地机器上拥有一个可用的游戏版本。

CodeCombat 是一家营利性、YCombinator 支持的初创公司,该公司认为代码教育的未来始于指导,终于为开源项目做贡献。在设计产品时,我们就知道我们想要开源所有代码。我们设想玩家通过网站上的教程学习编程,一旦他们达到一定的熟练程度,就可以深入代码库,与世界一流的开发者网络一起使用真正的生产代码,以帮助他们学习和从事对他们有意义的项目。

自从我们发布开源公告以来,我们的存储库已吸引了超过 2000 颗星、400 个 fork、200 个关注者和 25 位贡献者。CodeCombat 仍然位居 GitHub 上排名前十的趋势存储库。

来自公告

闭源可能是几乎每家初创公司和每家游戏工作室的选择,但我们认为这是一个需要重新思考的惯例。CodeCombat 已经是一个社区项目,数百名玩家自愿创建关卡、编写文档、帮助初学者、进行游戏测试,甚至将游戏翻译成迄今为止的十七种语言。现在程序员也可以加入派对了。

我们的使命是教你编程。在我们拥有超过九千个关卡,带您从初学者一直到 Bellard 级别的水平之前,为什么不投入到一个对新手友好的开源项目中来继续学习呢?我们不仅仅是将代码倾倒在那里就万事大吉——我们努力使其易于贡献。您不需要了解 git,您不需要安装任何东西,甚至不需要知道如何编码来帮助解决我们 GitHub 上的一些问题。

我们目前的目标是培养开发人员的兴趣,并继续围绕该项目建立一个积极参与的贡献者社区。游戏为学生和年轻程序员提供了一种丰富且互动的方式来参与计算机科学,我们希望 CodeCombat 最终成为数百万学生开始他们的编程冒险的重要原因。

阅读更多关于 我们如何教授代码 给 最近Code.org 编程一小时 活动中 180,000 名儿童程序员对抗 44 个食人魔的故事。


 

查看完整列表 的“开源领域的青年周”文章。


User profile image.
我是一名 28 岁的企业家,目前正在开发我的第二家初创公司,这是一家教人们编程的游戏。它叫做 CodeCombat,我们是一家 YCombinator W14 公司,使命是教世界编程。我喜欢高山滑雪、谈论汽车和计算机、动手工作、写博客和音乐视频。

3 条评论

George,见解深刻。游戏是教育人们的非常有效的方式。编码是最具智力的活动之一,可以帮助人们改善他们的生活(以及他们周围人的生活)。有一件事我一直很好奇:当谈到教学方法时,您是否认为用于教授代码的方式和方法对于不同年龄段的人来说是/应该是不同的?

嗨 Aseem,这是一个非常好的问题,是的,我确实认为代码需要针对不同的年龄段进行不同的教学,但与可能预期的相比,差异性要小得多。我们为高中生和大学生设计了 CodeCombat,但年仅 5 岁的孩子也在玩它。我们在测试人员中看到的最大障碍是打字熟练程度,即使是年轻人也难以掌握编程语法。例如,您可能是一个相对较好的打字员,但仍然很难准确地敲击分号和括号键。我强烈反对年轻的编码员需要视觉抽象层(例如 Scratch),但关卡内容、主题、故事和艺术作品似乎确实是不同年龄段的重要区分因素。

嗨 George,
非常感谢您创建 CodeCombat。

我是一名成人学习者,并且已经尝试学习 python、java 和 swift 的所有基本语法。但是,我发现很难深入学习这些语言并加以利用。我尝试阅读 Apple 的 swift 文档,基本知识还可以,但协议、扩展、泛型、高级运算符等的深入使用却非常难以掌握。我认为问题在于提供的示例太少且不够吸引人。我将希望寄托在 Code Combat 上,以帮助我成为一名优秀的程序员,我担心 code combat 只处理基本语法,而不提供任何更深入的指导。

我喜欢通过游戏学习编程的想法,因为它让我参与到特定的任务和要求中。但是,我担心游戏关卡太简单,深度不够,无法帮助我成为中级或高级程序员。

另一方面,我不想放弃希望。我觉得我的担心可能是没有必要的,因为 Code combat 具有开源性质。我假设能够充分参与游戏并阅读源代码,我应该能够晋升为中级程序员。这有可能吗?那么问题是,对于刚掌握基本语法的人来说,源代码是否太深奥而难以理解?

在阅读您的帖子后,我注意到以下句子似乎给了我一些保证

“我们设想玩家通过网站上的教程学习编程,一旦他们达到一定的熟练程度,就可以深入代码库,与世界一流的开发者网络一起使用真正的生产代码,以帮助他们学习和从事对他们有意义的项目。”

这是否意味着如果我在 code combat 中努力学习,我就可以成为一名熟练的程序员?

期待您的回复

祝好,
Hubert

© . All rights reserved.