кроме этих очень простых приложений "Привет, мир", мне интересно, какие другие программы я должен попытаться разработать для обучения. Я вхожу в университет в следующем году и задаюсь вопросом, какие программы будут разрабатываться в этой среде.
это не совсем зависит от языка, но если вы хотите знать, что я использую в настоящее время в основном
- Windows: C # / WPF - я изучал Java, VB и т. д. в поли, но я думаю, что C # это путь, может быть, даже F #
- Веб: PHP / MySQL, Zend Framework / Doctrine, + HTML / CSS / JS (jQuery), конечно. ищу попробовать Google App Engine с Python тоже.
сейчас я думаю о
- списки дел
- приложения, которые интегрируются с API, например. Твиттер / Tumblr, который я использую
текстовый редактор - в настоящее время я пытаюсь разработать текстовый редактор, который использует уценку и генерирует HTML-файлы для просмотра (ссылка на запись в блоге). не очень практично после того, как я начал его развивать. потому что при редактировании нет форматирования и в формате HTML, я не могу редактировать напрямую
программное обеспечение для блогов (для веб)
источник
В настоящее время я пишу синтаксический анализатор / сопоставитель регулярных выражений, и он научил меня огромному количеству разбора и конечных автоматов, а также самих регулярных выражений. Я считаю, что синтаксический анализатор регулярных выражений полезен потому, что язык регулярных выражений невелик и довольно ограничен в своих возможностях.
Еще одна вещь, которую я сделал, - это написать переводчика для Ook! Это простая задача, но, опять же, учит вас тонну.
источник
CodePlex.com перечисляет много проектов с открытым исходным кодом, которые были сделаны с использованием C #. Вы можете взглянуть на сайт, чтобы получить некоторые идеи.
источник
Вы также можете посмотреть на TopCoder . Этот сайт имеет отличные алгоритмы для изучения, и они время от времени проводят соревнования. Важным преимуществом этого сайта является то, что вы можете увидеть другие исходные коды для конкретной проблемы и узнать больше.
И даже на сайтах SE вы должны смотреть на CodeGolf .
источник
(Это в основном ответ mata, а не список проектов.)
Подумайте о том, почему вы пишете программу: будет ли она полезна сама по себе или это просто изучение аспекта инструмента / API / языка?
В последнем случае преимущество заключается в том, что итоговая программа должна быть как можно более короткой, а затем просто сохраняться для справки.
В первом случае почему бы не распространить обучение на хорошую практику во всех отношениях: предположим, что вам нужно будет поддерживать и расширять ее. Поэтому используйте управление исходным кодом, отслеживание проблем, рефакторинг, модульное тестирование и т. Д., Поскольку все эти вещи, по крайней мере, так же важны для разработчика, как и знание другого API.
Как насчет интегратора каналов:
(Идея состоит в том, чтобы сосредоточиться на интеграции различных реализаций одной и той же парадигмы: запланированное получение HTTP из RSS-канала против Twitter API и ... всего, что находится под потоком записей с отметкой времени, источником и контентом.
источник
Я многому научился, работая над такими хобби-проектами:
Не говоря уже о том, что подобные проекты невероятно интересны для работы :-).
источник
Запрограммируйте небольшую игру: это весело, и вы многому учитесь.
Некоторые идеи:
И когда это будет сделано, почему бы не реализовать веб-сайт рекордов ...
источник
Разработайте приложение поваренной книги .
источник
СПИРОГРАФ. Укажите размеры внешнего кольца, внутреннего диска и точки пера по его диаметру. Нарисуйте путь пера, когда внутренний диск катится вдоль внутреннего кольца.
Изменить Maker. Стоимость ввода и сумма, предоставленная кассиру. Рассчитать оптимальный для кассира, чтобы внести изменения. Есть медленный и быстрый способ решить эту проблему. Найди быстрый путь.
OO-Life Simulation. Посмотрите на Алгоритм Жизни. Сделайте случайное начальное состояние и выведите последующие шаги, используя дизайн ОО, чтобы отделить логику от представления. Дайте вывод текста и графический вывод.
Миссионер / Людоед Солвер, найдите эту знаменитую головоломку. Напишите программу для ее решения с использованием поисковых деревьев. Сравните BFS с DFS.
источник