热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

厌倦了编程书?来试试这3种提高编程技能的有趣方法吧

厌倦了编程书?来试试这3种提高编程技能的有趣方法吧BoydWang2014年4月2日0条评论标签:游戏,

厌倦了编程书?来试试这3种提高编程技能的有趣方法吧
本文由 极客范 - Boyd Wang 翻译自 Dann Albright。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。

fun1
如果你曾经从书上学习编写代码,你就知道那有多乏味。为什么不试试一些激动人心的方法来使学习更有乐趣呢?

下面介绍的这些网站每个都有自己独特的风格,但是它们都加入了游戏元素。这些稀奇古怪而有趣的游戏能够使你找回学习的乐趣。

Code Combat

如果你正在学习Javascript并且没有多少-或根本没有-编码经验,来试试这个免费的游戏。控制一个巫师和他的随从。关卡设置从简单的概念如预先编好的动作到带条件判断的行动到更高级的咒语例如计算。
fun2
学习过程是在一个可爱的魔幻RPG中进行,有骑士,食人魔和法师。移动你的随从,瞄准你的敌人,发动攻击,并且粉碎黑暗的爪牙吧!

Code Combat于2013年上线,所以现在关卡还很有限。但是Code Combat的开发团队将会像着了魔一样开发更多的教程和游戏,所以让我们共同期待。他们已经把所有东西开源了所以能人巧匠们(使用者)可以开发他们自己的关卡。
fun3
Code Combat福利:如果你能够通过Gridmancer关卡,他们将会帮助你在旧金山找一份编程工作!

Code Wars

虽然你在Code Wars上不会带上法师的帽子,但是你可以通过完成kata,或者编程挑战来收集点数获得升级。你可以使用Ruby,Javascript或Coffeescript来完成kata。一个kata可以由不同的语言完成,这样你就可以很好的理解不同的语言如何完成同样的任务。计划会加入更多的语言,例如Python,Java,PHP,和Objective-C,所有这些语言支持已经在开发中。
fun4
这个以武术/武士为主题的系统充满了乐趣和吸引力–每次当你完成了一个kata,你将会得到荣誉点数。收集足够的荣誉点数使你提升到下个级别,解锁更多的编程挑战。你也可以通过编写自己的kata,评论别人的kata,或者推荐你的朋友来到Code Wars获取荣誉点数。

这些挑战都非常有趣和实用,并且Code Wars是唯一一个教你测试你自己代码的站点。但是这里的说明信息很少,所以请做好大量google解决问题的准备。虽然这是一个缓慢的过程,但是它确实是一个学习真正写代码是什么样子的好方法。
fun5

它不像Code Combat那么傻瓜式,但是支持更多的语言,并且对于初学者来说更加成熟。Code Wars也拥有一个很强力的社区,它能够帮助初学者入门并且坚持下去。并且升级和获得声望奖励对自己也是一种鼓励!

Code School

和前面两个站点不同,Code School不是免费的。服务费用是290刀每年(29刀每月),这感觉就像是打劫。但是Code School的团体创建了一个非常吸引人并且实用的网站,如果你热衷于学习编程,那这笔投资是值得的。通过订阅,你可以参加任何你喜欢的课程并且在任何时候切换它们。他们也提供了一个2天的”Hall Pass“,它使你能够在48小时内免费试用网站上的一切内容。
fun6

这里有Ruby,Javascript,HTML/CSS和iOS开发课程,所以你的可选范围很宽泛。你也可以尝试一些选修内容例如Chrome开发工具,谷歌云端硬盘API,和Git。

在上面讨论的3个网站里,Code School最没有游戏的感觉。每一个课程由一个简短视频和一个挑战组成;完成一个挑战会获得点数,询问提示会扣除这个问题所值的点数。

fun7

Code School点数目前还干不了什么。在以前,完成一个课程,你会得到5刀可以用于Code School商店的代金券,但现在这个程序已经被废除了。但愿我们在将来能看到类似的机制!但现在,你可以收集点数和徽章并向你的朋友们展示。这确实代表了一些东西。

你应该选择哪一个

这里已经介绍了3种有趣的学习编程的方法 – 你应该先尝试哪一个呢?我推荐你先选一门编程语言并且根据你的经验水平和你想开发的东西来选择网站。举例来说,如果你想开发一个在线应用,你应该选择Javascript。如果你没有或只有一点编程经验,注册Code Combat吧。如果你了解基本概念,来试试Code Wars。如果你想开发iPhone应用或者Ruby On Rails应用, Code School是你的不错选择。

如果你不知道你想要做什么或者不知道从哪开始, 我推荐Code Combat。它是三个网站中最友好并且最简单的,并且为你很好的介绍了编程语言的基本概念。如果你觉得你真的很喜欢它,那你就可以从那开始。

Code School,虽然很实用,但是在开始之前需要掌握一些知识。如果你不清楚一个方法和一个数组的区别,你可能会想从更简单一些的地方开始。

更进一步

一旦你经过了这些网站的耳濡目染,你就已经为更具挑战的任务做好准备了,比如创建你的第一个应用。这时,限制你的只有你的想象力!

为你的web应用找个安全的网页主机空间,或者写一个程序帮助你的日常工作。为你自己买一台树莓派或者Arduino来试验你的新技能。别忘了看看我们的树莓派指导和Arduino指导。

你原来使用过任何游戏或者有趣的站点来学习编程吗?对于学习编程你最喜欢的方式又是什么呢?

 

原文链接:  Dann Albright 翻译:  极客范 -  Boyd Wang

译文链接:  http://www.geekfan.net/7960/

转载请保留原文出处、译者和译文链接。]

58
Boyd Wang
爱游戏,爱开源,爱英语,也爱文字。个人主页: www.boydwang.com,新浪微博: @Boyd_W


推荐阅读
  • 使用Numpy实现无外部库依赖的双线性插值图像缩放
    本文介绍如何仅使用Numpy库,通过双线性插值方法实现图像的高效缩放,避免了对OpenCV等图像处理库的依赖。文中详细解释了算法原理,并提供了完整的代码示例。 ... [详细]
  • 深入理解父组件与子组件的引用和访问
    本文详细介绍了如何在Vue.js中通过$children和$refs属性实现父组件对子组件的访问,并提供了具体的代码示例及最佳实践。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • Søren Kierkegaard famously stated that life can only be understood in retrospect but must be lived moving forward. This perspective delves into the intricate relationship between our lived experiences and our reflections on them. ... [详细]
  • PyCharm中配置Pylint静态代码分析工具
    本文详细介绍如何在PyCharm中配置和使用Pylint,帮助开发者进行静态代码检查,确保代码符合PEP8规范,提高代码质量。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 优化ASM字节码操作:简化类转换与移除冗余指令
    本文探讨如何利用ASM框架进行字节码操作,以优化现有类的转换过程,简化复杂的转换逻辑,并移除不必要的加0操作。通过这些技术手段,可以显著提升代码性能和可维护性。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 资源推荐 | TensorFlow官方中文教程助力英语非母语者学习
    来源:机器之心。本文详细介绍了TensorFlow官方提供的中文版教程和指南,帮助开发者更好地理解和应用这一强大的开源机器学习平台。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • python的交互模式怎么输出名文汉字[python常见问题]
    在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>,此时我们可以使用print() ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • C++实现经典排序算法
    本文详细介绍了七种经典的排序算法及其性能分析。每种算法的平均、最坏和最好情况的时间复杂度、辅助空间需求以及稳定性都被列出,帮助读者全面了解这些排序方法的特点。 ... [详细]
author-avatar
红箭777_387
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有