开发者社区> 小旋风柴进> 正文

玩儿游戏也能学编程?12个学习编程的游戏化平台

简介:
+关注继续查看

0?wx_fmt=jpeg

近来人们日益认识到编程的重要性,并发现它逐渐成为简历上另一种不可或缺的技能。本文将会介绍一些有助于通过游戏化学习编程的教学平台。


基于以上原因,有越来越多关注未来趋势的人注意到了编程,也因此我们能看到,目前出现了许许多多旨在通过直观有益的方式教授编程的教学平台。为了达成目的,他们采用了游戏化的教学方式。


◆ ◆ 

Codecademy


订阅: 免费 

语言: HTML/CSS, Python, PHP, Ruby, APIs, Javascript, jQuery 
针对级别: 初学者

这个平台是互联网上最热门、或许也是获得赞誉最多的游戏化学习平台。重要的是,它是完全免费的。

这个平台囊括了包括Javascript、jQuery、HTML/CSS、Python、PHP、Ruby和APIs等诸多语言的教学,总计有100种课程,每种都包含5到20节课。尽管譬如web与游戏设计之类的复杂内容也有涉及,但这个平台主要针对的是完全不了解什么是“if语句”的初学者。Codecademy有一套徽章和成就系统,学习者完成的课程越多,就能获得越多的徽章和点数。


0?wx_fmt=png


◆ ◆ 

Codeschool


订阅: 付费 
课程: Ruby, JavaScript, HTML/CSS, Python, iOS, Git, Databases, Elective 
针对级别: 中级水准到经验丰富的开发者

Codeschool的座右铭:“最好的学习方式就是实践”。它与Codecademy的不同之处在于:Codeschool将视频内容、在浏览器中编程以及游戏化结合在一起,完美地搭配起来。与Codecademy类似,Codeschool也会向学习者发放徽章、点数与成就。重要的是:这个平台是与Open Badges合作的,而后者会收集许多来自不同平台的徽章,并将其展示给更多人。


0?wx_fmt=png


◆ ◆ 

Treehouse


订阅: 付费(有免费试用) 
课程: Android, C#, CSS, Databases, Design, Development, Digital Literacy, Game Development, HTML, iOS, JavaScript, PHP, Flask, Swift, Python, Ruby, WordPress, Java, Web Design, PHP, WordPress, 包括研讨会及课程。
针对级别: 初学者到高级水平的开发者


除了徽章、成就与视频之外,Treehouse还提供了测试。此外,学习者还能参加编程挑战——必须快速将之前在视频中所学到的内容运用出来。观看视频与完成测试都能获取点数与徽章,Treehouse的终极任务是帮助潜在的雇主查看应聘者的职业技能。


0?wx_fmt=jpeg


◆ ◆ 

GodiGsme


订阅: 免费 
课程: C, C++, Java, C#, PHP, Python, Ruby, Javascript, Objective-C, Go, Haskell, Scala, Perl, Dart, Bash, Pascal, Groovy, Clojure, VB.NET, Lua, F#, OCami, Swift, Rust 
针对级别: 初学者到高级水平的开发者


大多数游戏化平台都使用了徽章、成就与点数系统,但CodinGame则不然,它在学习过程中使用了真正的游戏。与Codecademy等平台不同,CodinGame对学习者的奖励是内在性质的。其课程包含20多种编程语言,一切都是实时的,学习者在浏览器上编程的同时,就能看到屏幕一角的游戏界面。


0?wx_fmt=jpeg


◆ ◆ 

CodeCombat


订阅: 免费/特殊级别付费(9.99美元) 
课程: Python, JavaScript 
针对级别: 初学者到中级水平的开发者


与CodinGame类似,Codewars也是通过实际游戏让学习者学习编程的。游戏的部分是按照幻想RPG动漫游戏的风格来设计的,屏幕分为两部分,分别是代码编辑器与迷宫游戏——有一系列命令操纵用户的化身小人,如果代码输入错误,就会扣掉一定的生命点数,错误太多的话,小人就会死掉。每个级别包含不同的任务,比如搜集宝石、打败怪兽以及找出通往下一关的路。


0?wx_fmt=png


◆ ◆ 

Checkio


订阅: 免费 
课程: Python 
针对级别: 高级开发者


这个平台的课程只限于Python编程语言,学习者可以通过完成挑战来学习编程,不过还有另一个目标:在整个社区中分享疑难编程问题,以寻求解决方案。Checkio希望开发者与其他社区成员分享问题,以便群策群力,共同解决问题。Checkio让用户真正解决编程问题,而Codecademy就如Avramenko所称:只能让大家读读代码。


0?wx_fmt=png


◆ ◆ 

FightCode


订阅: 免费 
课程: JavaScript 
针对级别: 初学者


这个平台的主要目标是通过机器人创建让用户学习JavaScript,学习者需要创建一个机器人,来击败敌手的机器人,创建每个新机器人都能让用户提高自己的JavaScript技能。这个平台有游戏排行榜,用户可以追踪到自己的进步与成就。到目前为止,已经有2.7万个机器人参与了游戏。


0?wx_fmt=jpeg


◆ ◆ 

Robocode


订阅: 免费 
课程: Java 
针对级别: 初学者到高级开发者


Robocode平台同样需要学习者创建东西,打败敌手,不过这次换成了坦克,使用的语言是Java和.NET,战斗实时显示在屏幕上,创建一台坦克很快也很容易,但想要将它改造成一台杀戮机器,则需要数千行代码。如果这台坦克写得很糟糕,就更容易被击伤。


0?wx_fmt=png


◆ ◆ 

Code Hunt


订阅: 免费 
课程: Java与C# 
针对级别: 初学者到高级开发者


这个看起来很有意思的游戏化平台是由微软研究院开发的,为大家学习Java和C#提供了平台。一开始用户可能会误以为游戏的目标是“寻找、存储并获取尽可能多的代码片段”,但稍后就会明白,关键在于以优雅的方式改写代码片段,以便返回预期的结果。此外,这也是一个创建私人与公共游戏的机会,每个游戏都是基于一组(且仅一组)参数。


0?wx_fmt=png


◆ ◆ 

Dungeons and Developers(地下城与开发者)


订阅: 免费 
课程: HTML, CSS, AJAX, jQuery, APIs等等 
针对级别: 中级到高级的开发者


对RPG游戏的爱好者来说,看到这个标题就会想起一款经典的RPG游戏《龙与地下城》(D&D;),猜得没错!与这款游戏类似,这个游戏化平台的创建者使用技能树来展示用户的进步情况。在技能树上的每个技能点都有自己独特的图标,这些技能包括HTML、CSS、AJAX等等。


0?wx_fmt=jpeg


◆ ◆ 

Ruby Warrior(Ruby战士)


订阅: 免费 
课程: Ruby on Rails 
针对级别: 中级开发者


在这里可以学到Ruby编程知识,就如名称暗示的那样,游戏中的战士小人必须战斗并开启下一关,其中得分越多越好,并且每个关卡都会增加新功能。通过游戏,学习者可以提高自己关于循环、条件及其它方面的知识了解,不妨一试。


0?wx_fmt=png


◆ ◆ 

Hack n Slash


订阅: 通过Steam 
课程: 黑客技术 
针对级别: 初学者


这个平台的游戏灵感来自于塞尔达系列——通过在游戏中对属性进行重调,让用户学到编程的概念。用户需要重写游戏代码,并根据需要进行调整。在游戏中,可以调整的内容包括生物的行为、与世界互动的方式。基本上来说,这款游戏无需遵循规则。


0?wx_fmt=jpeg


不仅在编程领域,在生活的其他领域,游戏化概念也是很新的概念。幸运的是,包括IT领域在内,有越来越多的人开始重视游戏化的价值。由于这种方式的确在提高积极性与创造力方面表现优秀,因此有越来越多新的游戏化平台如雨后春笋般涌现。

原文发布时间为:2016-05-25

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
17732 0
多线程编程学习四(Lock 的使用)
一、前言     本文要介绍使用Java5中 Lock 对象,同样也能实现同步的效果,而且在使用上更加方便、灵活,主要包括 ReentrantLock 类的使用和ReentrantReadWriteLock 类的使用。
847 0
Spark学习之编程进阶——累加器与广播(5)
Spark学习之编程进阶——累加器与广播(5) 1. Spark中两种类型的共享变量:累加器(accumulator)与广播变量(broadcast variable)。累加器对信息进行聚合,而广播变量用来高效分发较大的对象。 2. 共享变量是一种可以在Spark任务中使用的特殊类型的变量。 3. 累加器的用法: 通过在驱动器中调用SparkContex
1494 0
2735
文章
6591
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载