Написать пост

Какой проект написать для проверки и закрепления теоретических знаний?

Аватар Типичный программист

Обложка поста Какой проект написать для проверки и закрепления теоретических знаний?

В этом выпуске мы передаём экспертам вопрос о том, какой проект лучше запрограммировать для того, чтобы проверить свои теоретические знания после прочтения книг. Многие новички выбирают себе какой-нибудь язык по душе, изучают его, а затем хотят создать что-то настоящее и интересное. Далее советы.

Пишите то, к чему лежит душа, то, что будет нравиться вам самому. Если вы игроман — пишите игру, если с детства болели гипотезой Римана — ищите простые числа, если жить не можете без социальной сети — свой клиент к ней. Неважно, что именно, важно, чтобы это было ваше.

Рейтинг полезности ответа:
8.6

Проект? Целый проект уже вряд ли имеет смысл, их понаписано великое множество, писать с нуля новый почти наверняка означает выкинуть его. Кроме того, время мелких проектов уже, можно сказать, прошло. Написать что-то даже просто интересное (не то что бы полезное) в одиночку можно, но это будет не совсем проект, а скорее этюд. Я бы посоветовал ввязаться в существующий проект (с открытыми исходниками, разумеется) на подходящую тему и попытаться что-то в нём улучшить. Или починить ?

Рейтинг полезности ответа:
0.0

Выберите проект, который вам интересен.

Например, свертка белков и их взаимодействие содержит символические вычисления, псевдобулевскую оптимизацию и численные методы. Плюс, это так называемые «большие данные» — в метаболизме человека несколько сотен тысяч взаимодействующих протеинов, сами протеины имеют сложную структуру.

Чем не проект? А вычислительная биология полезна и интересна.

Рейтинг полезности ответа:
4.5

Попросить в какой-нибудь компании тестовое задание и сделать его. Либо сходить на HackDay.

Рейтинг полезности ответа:
0.0

Напишите любой достаточно простой проект, который придет вам в голову. Можно выбрать что-то из тех, которые уже многократно реализованы более опытными коллегами и которыми вы сами часто пользуетесь. Не нужно изобретать что-то гениальное: если проект ещё не реализован на конкурентном рынке, то, скорей всего, он никому не нужен; а если реализован, то, наверняка, лучше и в большем объёме.

Обычно начинающие веб-разработчики пишут свою CMS (Content Management System) или блог-движок. Для более продвинутых хороший вариант – написать свой интернет-магазин. Можно написать систему знакомств по примеру Badoo, общий чат вроде WhatsApp или социальную сеть, похожую на Facebook. Любой проект, к которому лежит душа — это самое важное. Не стоит расстраиваться, если им никто не будет пользоваться: главное, чтобы он работал. Не стоит также включать в проект спорные технологии типа MongoDB — не все оценят и поймут; лучше используйте классику (MySQL, PgSQL, Memcache, etc).
Как только с начальными уровнем будет покончено (хватит пары-другой месяцев), примкните к реальному проекту в open source community или в реальной ИТ-компании: например, стажером. Ни в коем случае нельзя «вариться в собственном соку» в отрыве от отрасли. Разработка ПО — это командная работа, одиночки здесь неэффективны, а навыки работы в команде зачастую по важности наравне с навыками программирования.

Рейтинг полезности ответа:
11.1

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

Рейтинг полезности ответа:
5.9

Вы должны уметь разрабатывать программы-парсеры для простых императивных (псевдо) языков. Для начала предлагаю вам обратить своё внимание на этот полезный ресурс. Обычно такого рода проекты выполняют студенты первых и вторых курсов. Эта задача не является тривиальной, поэтому станет для вас тем необходимым испытанием, благодаря которому вы сможете проверить свои знания и почерпнуть новые.

Рейтинг полезности ответа:
0.1

Программист должен писать код постоянно, ибо только этим достигается профессиональное развитие. Если у вас нет готовой задачи, которая требует решения, научитесь находить такие задачи самостоятельно. Большая часть таких задач будет лежать в области персональных предпочтений. Например, подумайте, чего вам не хватает в вашем телефоне, каких сайтов, полезных вам лично ещё нет в интернете и т.п.

Рейтинг полезности ответа:
8.5

На мой взгляд, лучше всего исправить какой-нибудь средний опенсорс-проект. Задач всегда очень много — загляните в Issue на Гитхабе или спросите по почте автора проекта. Опенсорс лучше личного проекта «в стол» по двум причинам. Во-первых, вы увидите хороший код. Во-вторых, вы познакомитесь в другими разработчиками, а связи очень важны даже в программировании.

Рейтинг полезности ответа:
4.7

Можно сделать проект, например, с Arduino. Попробовать запилить себе умный дом. Хотя бы с погодными датчиками и управлением освещением — это хорошее начало.

Рейтинг полезности ответа:
1.5

Самое главное — пусть проект будет интересным, не обязательно полезным и на близкую вам тему: погружение в чужую тему, скорее всего, отобьет интерес. Например, если вы увлекаетесь велосипедами, можно сделать проект, который будет конструировать велосипед из деталей, оценивая их стоимость через API разных сайтов. Если вам нравится футбол, то, возможно, будет интересно поучаствовать в проекте, который автоматически рассчитает календарь игр исходя из определенных входных условий.

А вообще если не можете определиться, поучаствуйте в уже существующем opensource-проекте — там есть примеры чужого кода, которые чему-то вас научат. Перед тем, как вы попадете на проект, ваш код проверят, что тоже будет полезным. Кроме того, вы сможете взять сначала маленькую задачу, а не большую — так через ее решение вы довольно быстро получите результат.

Рейтинг полезности ответа:
4.1
13К открытий13К показов