新程序员的玩具项目

时间:2010-07-14 15:35:20

标签: language-agnostic

当我第一次开始自学编程时,在完成一个教程后,我觉得我仍然无法用语言做任何事情。所以,我环顾四周寻找可以解决的问题。由于我刚刚学到了一些基础知识,因此查找,阅读和添加到开源项目所涉及的工作量似乎无法克服。相反,我开始做几个玩具项目,结果非常有益。

从初学者那里看到很多类似于“我现在应该做什么?”的问题。许多类似于“开始为开源项目工作”的答案让我觉得必须为新程序员提供更好的建议。虽然开发一个开源项目肯定会给你带来很好的体验,但是有一个明显的进入障碍。

相反,我认为如果新程序员被要求制定与他们所拥有的兴趣有关的玩具计划,那将会很棒。由于有很多方向可以让你编程,我认为列出一些简单(但有趣/有益)的项目会很有意思,这些项目按照新程序员想要的方向进行分组。如:

游戏设计:

写一篇文章冒险(如Zork)

自然语言处理:

创建一个程序,编写无意义的,但语法上有效的论文。

4 个答案:

答案 0 :(得分:4)

我最近问了一个类似的问题(Diverse resource of problems to show merits of different languages),并获得了提供问题集和验证的网站的链接。退房:

http://www.codechef.com/

https://www.spoj.pl/problems/classical/

http://wiki.python.org/moin/ProblemSets

http://projecteuler.net/

虽然这些问题并不适合项目,但它们仍然很有趣。我很想知道人们在这里想出什么。

答案 1 :(得分:2)

我实际上认为TopCoder方法可能会更好......程序员仍然可以选择感兴趣的主题,但他们实际上正在为一个真正的项目获奖并获得反馈。坦率地说,TopCoder有点膨胀,据我所知,他们不允许人们进行自由竞争。如果有一个TopCoder / StackOverflow类型的站点会很棒:人们可以提交代码,对他们的实现投票,并且玩得开心!

我甚至会提出我的想法,我开始研究我自己的TopCoder / StackOverflow混合怪物版本MyDevArmy(虽然我到目前为止还没有做任何事情,除了购买域名)。

答案 2 :(得分:0)

编写一个渲染Wolfram自动机的程序(特别是Rule 110)。

请参阅YelloSoft代码示例。

答案 3 :(得分:0)

首先编写一个二十一点模拟。选择第一次运行所需的策略。

接下来,开始为不同的策略添加额外的跑步,比如当你的手牌值为15而不是17时对阵17比赛时的击打/站立,以及手牌是软还是硬(ace的值被计为1或11) )。经销商的策略will be constant,因为他们真的在赌场。

最后,您的程序将运行,例如,每个策略组合的1000个实例。它将打印出每个展位值和硬/软组合的手胜率(击败经销商的次数百分比)摘要。

这很容易成为我最喜欢的项目之一,它可以用你选择的语言来巩固一些技巧。另外,如果你有主动开始学习一些(相当简单的)离散数学,这些数学涉及将这些情况作为副项目的可能性,你可以获得更好的体验。谁知道,也许你可以抛弃这些电脑并拿走卡片计数?