Topcoder的介绍

Download Report

Transcript Topcoder的介绍

Topcoder的介绍
刘冰珣
topcoder的简介
• topcoder是一家管理程序设计竞赛的公司,
每周定期举办相应的线上程序算法竞赛比
如SRM(single round matches),以及设计
和开发比赛等。这个过程中产生的有用的
软件由topcoder进行销售。参与创作的开发
者会根据软件的销售情况获得报酬。一些
在竞赛中产生的软件实际上并不能直接投
入使用,则由赞助公司来给予相应的报
酬。
Topcoder竞赛种类
• 1.算法(长达两个小时):给参加竞赛的人几个算
法问题(通常是3个),在75分钟内正确解出尽可
能多的问题。
• 2.设计(长达一周):给参加者一些用户需求,让
他们将其转化为可用的软件设计说明书。他们的成
果将被真实的标准来检测其正确性和实用性。
• 3.开发(长达一周):给参加者软件设计说明书,
让他们写相应的软件组件部分。评判标准是组件部
分的功能和参加者的编码风格。
• 4.马拉松比赛( 长达一周):给参加者一个特别难
度的算法,评分标准是电脑评判成果是否适用于相
应问题。
竞赛流程
选
题
编
码
攻
击
测
试
评
分
算法竞赛
• 算法竞赛从2001开始举办。每个SRM都包括四个阶段:
• 1.coding
• 75-85min 参加者用C++,Java,C#,or Visual Basic。每个问题由
简单问题,中等问题,困难问题组成。困难程度由题目分数表
示,通常为250、500、1000。
• 2.challenge
• 参加者可以提交一个构建数据使得其他竞争者的输出产生错
误,这就是challenge.挑战者挑战成功可以得到50分,失败则要
扣除25分,被挑战的参赛者结果没有出错不得分不扣分。每个
成功的挑战都会被加入系统测试阶段的一系列测试中。
• 3.system-testing
• 每个通过challenge的问题将被测试,如果参加者的解决方案无
法通过测试,则这个问题的得分为0.
• 除此之外,rating也是考察参赛者表现的参数之一。
设计和开发竞赛
• 设计和开发竞赛让参加者可以竞争完成具
有使用性的组件和应用,或者是承包第三
方。竞赛时间长达一周,可选Java或者.NET
组件,每周上传新的组件。开发组件是在
之前组件设计比赛中的一般性组件。
马拉松比赛
• 比普通的算法比赛里更复杂规模更大的问
题,这个竞赛的比赛形式更加零活,时间
也比较长。
Topcoder的运作
topcoder
将工程项目
分成小任务
审核,测试
整合,运行
申请任务
选出最优
程序最佳状
态
提交设计
设计被
challenge
测试过关
用
户
客户
成功原因
定位明确
商业价值大
速度快,效率高,采用竞争机制
市场交易费用低
成功原因
• 定位明确
• 目标之一是为大公司提供寻找有技术的程序
员,为程序员提供一个展现自身水平的平台。
其目标对象的大学在校生、业余工作者,他们
还期望根据参与Topcoder获得荣誉、工作经
验、能力提升,甚至于进入知名IT公司的机
会。而有比较多的大公司赞助topcoder,希望能
够吸引相当一部分有技术有天赋的开发者崭露
头角。
• 所以Topcoder受到目标即大公司和程序员的热
捧。
成功原因
• 具有值得挖掘的商业价值
• 由于定位准确,即使只有前两名可以获得
奖金,仍有许多用户参与承接工作。因
此,TopCoder在商品采购价格方面实际上低
于其现金价值。 竞赛中开发出来的组件在
被挖掘其商业价值后,由topcoder销售。
成功原因
• 速度快,效率高,采取“竞争性合作”的
模式
• Topcoder将比较大的工程项目分为了很小的
几个部分,提高了速度和效率。它的运作
更像是外包中心,可以让公司分包合同定
制设计和开发任务给竞争者。
• 同一任务由多人完成,通过相互攻击,竞
争,最后得到最好程序
成功原因
• 降低市场交易费用
• Topcoder将服务与商品标准化,每个开发换
届都设计了标准化文档,可以降低沟通成
本。
• 不仅商品标准化,商品质量评估指标也可
以标准化,可以定价并择优采购。甚至可
以采用全球采购降低成本。