优秀的编程学习平台【整理自网络】

在线编程挑战的分为3种类型,一、OJ,各大高校OJ,如zoj/poj,专为ACM竞赛服务;二、为面试服务,如careerup/Leetcode/codeforce;三、面试与招聘结合,如您上面提到的interviewstreet/topcoder,然目前国内还没有比价成熟的平台,不过有个Hiall一问一答承办了去年腾讯马拉松比赛


一、TopCoder

推荐Topcoder

www.topcoder.com/tc
Topcoder里面比较适合作为编程学习的大概两大块
  • Algorithm: 算法比赛
算法这部分, 这要锻炼的是编程基本功, 是个练内功的活. 
  1. 可以从Arena里面的旧比赛题目开始做起. 先从Division 2里面的第一题做起, 逐步增加难度. 如果只是想练习编程, 不想深究算法的话, 用Division 2的题目就够了. Division 1的题目可能需要一段时间算法积累. 
  2. Topcoder提供了验证程序的测试用例, 可以快速检验自己程序写对了没有. 同时也可以参考别人的代码. 
  3. 针对每次比赛的题目, 都有专门的问题讲解, 不懂的题目可以按照讲解的思路重新尝试.apps.topcoder.com/wiki
  4. 除此之外, 还有更基础性质的编程教程, topcoder.com/tc 
  5. 如果觉得自己逐渐进状态了, 还可以参加SRM的比赛, 有些还有奖金.
  • Development: 开发比赛
这部分其实是实际的软件开发项目, 用比赛的形式来进行招标, 最好的程序会获得奖金. 目前好像还是Java和.Net两种. 这个可以来锻炼自己工程方面的东西. 
如果对实际的工业界软件项目感兴趣的话, 可以通过这个来练练手. 在流程上, 学习一下软件开发的业界流程, 从设计到开发到测试等等. 同时这也是一条可以养活自己或者赚赚零花钱的路子, 如果是兴趣所在的话, 甚至可以作为将来的职业. 

"看书"是不适合用来学习编程的, 无论是学基础编程语法还是数据结构算法, 直接动手, 并且能得到快速的结果反馈, 这种方法可能更适合学习编程. 对比ACM的online judge, topcoder提供的资源更充分, 标程, 讲解都直接给出来了, 更适合作为编程学习的平台.

【转自】http://www.zhihu.com/question/19799959/answer/13007442?utm_source=weibo&utm_medium=weibo_share&utm_content=share_answer&utm_campaign=share_button

手把手教你玩SRM.rar(非常详细,一学就会) http://ishare.iask.sina.com.cn/f/19440442.html


二、待续

你可能感兴趣的:(编程,算法,程序设计)