Игрушечные проекты для новых программистов - PullRequest
4 голосов
/ 14 июля 2010

Когда я впервые начал учить себя программированию, после окончания урока я чувствовал, что до сих пор ничего не могу сделать на языке. Итак, я оглянулся вокруг, чтобы найти что-то для работы. Поскольку я только что изучил некоторые основы, объем работы, связанной с поиском, чтением и добавлением в проект с открытым исходным кодом, казался непреодолимым. Вместо этого я начал над парой игрушечных проектов, которые оказались невероятно полезными.

Увидев много вопросов от новичков, похожих на "что мне теперь делать?" и многие ответы, подобные «начать работать над проектом с открытым исходным кодом», заставили меня подумать, что для нового программиста должен быть лучший совет. Хотя работа над проектом с открытым исходным кодом, безусловно, дает большой опыт, существует ощутимый барьер для входа.

Вместо этого, я думаю, было бы замечательно, если бы новые программисты были склонны к работе над игрушечной программой, связанной с некоторым их интересом. Поскольку программирование может дать вам много направлений, я думаю, что было бы интересно перечислить несколько простых (но увлекательных / полезных) проектов, сгруппированных по направлениям, которые ищет новый программист. Такие как:

Дизайн игры:

Написать текстовое приключение (например, Zork)

Обработка естественного языка:

Создать программу, которая пишет бессмысленные, но грамматически правильные эссе.

Ответы [ 4 ]

4 голосов
/ 14 июля 2010

Я недавно задал похожий вопрос ( Разнообразный ресурс проблем, чтобы показать достоинства разных языков ) и получил ссылки на сайты, которые предоставляют наборы проблем, а также проверки.Проверить:

http://www.codechef.com/

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

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

http://projecteuler.net/

Хотя эти проблемы не решаютсяБольшинство проектов, они все еще интересны.Мне интересно посмотреть, что люди придумывают здесь.

2 голосов
/ 14 июля 2010

Я действительно думаю, что подход TopCoder может быть лучше ... программисты могут по-прежнему выбирать темы, представляющие интерес, но на самом деле они работают за приз в РЕАЛЬНОМ проекте и получают обратную связь . Честно говоря, TopCoder - это немного наворот, и, насколько я могу судить, они не позволяют людям проводить бесплатные соревнования. Было бы здорово, если бы существовал сайт типа TopCoder / StackOverflow: люди могут отправлять код, голосовать за их реализацию и просто хорошо проводить время!

Я даже передам свою идею, я начинаю работать над своей собственной версией гибридного чудовища TopCoder / StackOverflow под названием MyDevArmy (хотя я пока ничего не делал, кроме покупки домена).

0 голосов
/ 14 июля 2010

Начните с написания симуляции блэкджека.Выберите любую стратегию, которую вы хотите для первого запуска.

Затем начните добавлять дополнительные серии для различных стратегий, таких как удар / стойка, когда значение вашей руки равно 15 против 16 против 17 против 18, и будет ли рукамягкий или жесткий (значение туза считается 1 или 11).Стратегия дилера будет постоянной , поскольку они действительно есть в казино.

В конце ваша программа будет запускать, скажем, 1000 экземпляров каждой комбинации стратегий.Он будет распечатывать краткую информацию о количестве выигранных рук (в процентах от того, сколько раз вы выигрывали у дилера) для каждого значения подставы и комбинации жестких / мягких.

Это легко один из моих любимых проектов, которые я сделал иэто действительно может закрепить некоторые методы на выбранном вами языке.Кроме того, если у вас есть инициатива начать изучение некоторой (довольно простой) дискретной математики, которая связана с выявлением вероятностей этих ситуаций в качестве побочного проекта, вы можете получить еще лучший опыт.Кто знает, может быть, вы могли бы бросить этот компьютер и заняться подсчетом карт?

0 голосов
/ 14 июля 2010

Напишите программу, которая отображает автоматы Wolfram (особенно Правило 110 ).

См., Например, YelloSoft , код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...