Получите бесплатно 4 курса для лёгкого старта работы в IT
Получить курсы бесплатно
ГлавнаяБлогКакую программу написать: лучшие варианты для новичков
Какую программу написать
7 053
Время чтения: 15 минут

Какую программу написать: лучшие варианты для новичков

7 053
Время чтения: 15 минут
Сохранить статью:
Сохранить статью:

Почему? Изучение программирования – увлекательное занятие, но прогресс получения новых знаний может остановиться, если пренебрегать практикой и штудировать только теорию.

Что делать? Чтобы научиться программировать, нужно щупать код руками. При этом важно, какую программу написать, чтобы отработать практические навыки. Выбирайте ту сферу, которая наиболее близка вам, интересна, пересекается с практическими задачами.

В статье рассказывается:

  1. Почему нужно пробовать писать первые программы
  2. 5 первых проектов для новичков в программировании
  3. 5 программ для начинающих программистов на C++
  4. 3 полезные программы для начинающих на Python
  5. Пройди тест и узнай, какая сфера тебе подходит:
    айти, дизайн или маркетинг.
    Бесплатно от Geekbrains

Почему нужно пробовать писать первые программы

Написание первой программы — сложная задача, на выполнение которой нужно потратить много времени и сил. Однако стоит понимать, что благодаря этому вы получите полезные знания и навыки. Зачем нужно пробовать создавать программное обеспечение (ПО) с нуля:

  • Успешный проект будет являться подтверждением вашей компетентности. Эту информацию можно отразить в резюме.
  • В процессе разработки программы вы сможете внедрить инновации. Эта практическая деятельность очень приближена к той работе, которую выполняют профессиональные программисты.
  • Если вы научитесь писать ПО с нуля, то сможете участвовать в различных хакатонах и соревнованиях. Например, GSoC (Google Summer of Code), SIH (Smart India Hackathon), MLH (Major League Hacking) и т. д.В процессе создания собственных проектов вы получите необходимый опыт для победы на таких мероприятиях.
Узнай, какие ИТ - профессии
входят в ТОП-30 с доходом
от 210 000 ₽/мес
Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.
Подборка содержит только самые востребованные и высокооплачиваемые специальности и направления в IT-сфере. 86% наших учеников с помощью данных материалов определились с карьерной целью на ближайшее будущее!

Скачивайте и используйте уже сегодня:

Павел Симонов - исполнительный директор Geekbrains
Павел Симонов
Исполнительный директор Geekbrains
pdf иконка

Топ-30 самых востребованных и высокооплачиваемых профессий 2023

Поможет разобраться в актуальной ситуации на рынке труда

doc иконка

Подборка 50+ бесплатных нейросетей для упрощения работы и увеличения заработка

Только проверенные нейросети с доступом из России и свободным использованием

pdf иконка

ТОП-100 площадок для поиска работы от GeekBrains

Список проверенных ресурсов реальных вакансий с доходом от 210 000 ₽

pdf 3,7mb
doc 1,7mb
Уже скачали 27992 pdf иконка
  • Добавив успешный проект в своё резюме, вы сможете начать работать на фрилансе.

5 первых проектов для новичков в программировании

Поняв, зачем нужно создавать проекты, нужно ответить на главный вопрос: «Какую программу написать, если я новичок в программировании?» Рассмотрим несколько интересных вариантов:

  • To-Do List

Данный проект подразумевает разработку удобного интерфейса. Программа поможет пользователям планировать день и выставлять приоритетность для различных задач. Благодаря To-Do List люди могут повысить свою эффективность. Это особенно важно для тех, кто не умеет правильно распределять время. В программе имеется несколько основных операций CRUD (Create, Reset, Update, Delete и т. д.).

Для работы с To-Do List вам необходимо владеть HTML, CSS, JavaScript. Кроме того, нужно хотя бы немного разбираться в BootStrap. Без использования основных принципов этих языков программирования вам будет сложно решать возникающие проблемы.

  • A Survey Form

Обратная связь — важнейший инструмент. Отзыв от клиентов, целевой аудитории (ЦА) или их мнение о конкретном домене может дать компании ценную информацию. Если вы являетесь новичком в программировании, то данный проект будет одним из самых простых способов отточить свои навыки и разобраться с интересным техническим стеком. A Survey Form помогает компаниям получать обратную связь от своей ЦА. Чтобы реализовать этот проект, вам нужно знать HTML, CSS. Нелишним будет изучить Javascript.

A Survey Form
A Survey Form
  • Word Counter

Данная программа позволяет ограничить число слов в текстовых работах. Это необходимо для оптимизации статей. Кроме того, с помощью Word Counter пользователь может узнать количество слов, строк, абзацев или символов прямо в процессе набора текста. Для реализации проекта вам нужно уметь работать с HTML, CSS и современными фреймворками JavaScript (это позволит создать удобный пользовательский интерфейс).

  • Генератор случайных чисел

Данная программа присваивает произвольное значение пользовательским запросам. Человек задаёт определённый диапазон (например, от 1 до 100), в рамках которого будет сгенерировано случайное число.

Это один из самых простых проектов для новичков. Чтобы его реализовать, вам нужно изучить Python. Этот язык применяется для серверной части программы. HTML и CSS потребуются для внешнего интерфейса. Чтобы пользовательский интерфейс стал более привлекательным, можно использовать Javascript.

  • Sudoku Solver

Судоку — это крайне популярная игра. Пользователь видит на экране матрицу 9×9, которая содержит в себе девять матриц 3×3. Задача заключается следующем: необходимо заполнить свободные клетки цифрами от 1 до 9 таким образом, чтобы в каждой строке, в каждом столбце и в каждом малом квадрате 3х3 каждая цифра встречалась лишь один раз.

При решении задач судоку применяются алгоритмы возврата. Чтобы получить один из возможных ответов, необходимо выполнить одно важное условие: никакие две строки или два столбца не могут содержать повторяющиеся элементы. Для реализации этого проекта потребуются знания HTML, CSS, JavaScript. Вам также нужно научиться работать с алгоритмами поиска с возвратом DSA.

5 программ для начинающих программистов на C++

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

В первую очередь установите IDE и Visual Studio (бесплатная версия есть на сайте Microsoft). Не лишним будет загрузить Code::Blocks. Данную среду разработки можно скачать с официального веб-сайта компании.

Система входа и регистрации

Очень лёгкий проект для любого новичка. С его помощью вы освоите файловые системы на C++. Программа должна будет регистрировать пользователя посредством запроса имени пользователя и пароля. Затем система сформирует пользовательский файл, где будет собрана его учётная информация. Если человек введёт неверные данные, то высветится ошибка.

В процессе разработки системы вы научитесь применять Visual Studio.

Система аренды автомобилей

В процессе реализации этого проекта вы освоите события клавиатуры, функции даты и времени и реализации системы входа на C++.

Программа включает в себя отдельные меню для администратора и других пользователей. Можно добавить систему расчета стоимости проезда на основе времени и расстояния. Будет демонстрироваться информация о транспортном средстве, доступности и так далее.

Примерно также работают программы для управления музыкальным магазином, бронирования автобусов или железнодорожных билетов.

Система инвентаризации книжного магазина

Данная программа работает следующим образом: если человек приобретает книгу, то количество литературы уменьшается. Если же добавляется новый товар, то общее число увеличивается. Хотите разработать такую систему – обратите внимание на применение указателей.

Система инвентаризации книжного магазина
Система инвентаризации книжного магазина

Если скорректировать код, то можно добавить идентификатор книги и с его помощью выполнить поиск с использованием только одного параметра, который даёт сразу несколько результатов.

Система управления отчетами студентов

В процессе разработки такой программы вы сможете разобраться с потоками ввода/вывода и системой управления файлами C++. ПО будет собирать информацию о студентах. Например, их имена, номера списка, оценки по каждому предмету. Данный проект очень прост в реализации.

Учтите, что выше шла речь лишь о правильных входных данных, однако вы можете научить систему работать и с неправильными.

Валидатор кредитных карт

В этой программе применяется алгоритм Луна (Luhn algorithm). С его помощью можно валидировать практически любую кредитную карту (Visa, Amex, MasterCard и т. д.).

Данный алгоритм позволяет выполнять различные проверки. Валидатор — отличный проект, который можно добавить в своё резюме. Чтобы осуществить практически любую транзакцию электронной коммерции, кредитная карта должна пройти проверку, так что полученные навыки будут очень полезны.

3 полезные программы для начинающих на Python

Чтобы научиться использовать знания в реальной жизни, необходимо реализовывать свои проекты. Погрузившись в работу, вы отточите навыки и примените их на практике. Однако многие новички не знают, какие программы можно написать на Python. В этой главе мы перечислим самые полезные проекты для начинающих. Стоит также отметить, что некоторые из них можно включить в своё портфолио:

Парсер

Это программа, которая просматривает код сайта и таким образом получает искомые данные. К примеру, с помощью парсера пользователь может собрать все объявления на «Авито» из раздела «Аренда квартир в Санкт-Петербурге» и поместить описанную в них информацию в один текстовый файл. Допустим, вам нужно подобрать наиболее дешёвую квартиру.

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

Дарим скидку от 60%
на обучение «Инженер-программист» до 12 мая
Уже через 9 месяцев сможете устроиться на работу с доходом от 150 000 рублей
Забронировать скидку

Если вы никогда не работали с парсером, то лучше сделать всё вручную. Так вы сможете получить полезные знания и навыки. Чтобы работать с сетевыми запросами (для получения кода сайта, регистрации, авторизации) понадобится модуль requests. С помощью библиотеки BeautifulSoup вы сможете проанализировать информацию из HTML-кода сайта и взять оттуда нужные данные.

В процессе работы над парсером вы поймёте, как работают сетевые протоколы HTTP/HTTPS и в чём заключается их предназначение. Вам нужно будет узнать, что такое HTTP-запрос и из каких элементов он состоит; как обрабатывать GET, POST, PUT, DELETE-запросы и что за различия есть между ними; как создавать заголовки запросов.

Кроме того, придётся поработать со статус-кодами, URL-адресами, схемами авторизации, сессиями, редиректами, прокси и куки-файлами. Вы также научитесь использовать JSON, HTML/CSS-код, семантику и DOM-модель веб-страницы.

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

В качестве пробного проекта подойдёт вышеуказанный пример с квартирами на «Авито». Создайте программу, которая сформирует файл, где будут представлены все однокомнатные квартиры до 3 500 000 рублей из вашего региона. После этого можно будет подключить базу данных и применить многопоточное выполнение. Попробуйте также сделать из парсера пул Telegram-ботов.

Бот

Это еще одна интересная программа, которую можно написать, если вы являетесь начинающим программистом. Создав бот, вы сможете научиться взаимодействовать со сторонними библиотеками. Плюс ко всему, получите опыт работы со сторонними API и асинхронностью.

Бот
Бот

При необходимости можно повысить сложность проекта. Например, добавить базу данных и функцию отправки уведомлений. Но перед этим вам нужно будет узнать, что такое API и синхронность/асинхронность. Если необходимо сделать бот классом, то придётся разобраться с ООП. Помимо всего прочего, нужно будет научиться работать с файловой системой, если программа должна взаимодействовать с files на компьютере.

Чтобы хранить в проекте конфиденциальную информацию (токены, пароли) и разделить бизнес-логику приложения, необходимо проделать нехитрую манипуляцию. Необходимо распределить по разным моделям два кода: один, который отвечает за работу с самой площадкой, и предназначенный для обработки полученных данных.

Однако это далеко не всё, что придётся сделать. Во время разработки вы столкнётесь с самыми разными проблемами. Но не пугайтесь, ведь все эти трудности помогут стать настоящим профессионалом. Нужно будет постараться, чтобы загрузить бот на хостинг по типу Heroku или Google App Engine. Выполняя эту задачу, вы также получите много ценной информации.

Только до 6.05
Скачай подборку материалов, чтобы гарантированно найти работу в IT за 14 дней
Список документов:
ТОП-100 площадок для поиска работы от GeekBrains
20 профессий 2023 года, с доходом от 150 000 рублей
Чек-лист «Как успешно пройти собеседование»
Чтобы получить файл, укажите e-mail:
Введите e-mail, чтобы получить доступ к документам
Подтвердите, что вы не робот,
указав номер телефона:
Введите телефон, чтобы получить доступ к документам
Уже скачали 52300

Собираетесь разработать бота ВКонтакте? В таком случае попробуйте библиотеки vkwave и vkbottle. Они достаточно удобные и простые. Эти библиотеки асинхронны. Можно применить также синхронный вариант под названием vk_api, но в нём пока много багов.

При работе с Telegram лучше воспользоваться асинхронным Aiogram. Модуль pytelegrambotapi также пригоден. Стоит отметить, что им проще пользоваться. Плюс ко всему, он имеет два режима работы: асинхронный и синхронный.

Модуль discord.py (c 9 000 звёзд на GitHub) является самым распространенным вариантом для Discord-ботов. Им довольно легко пользоваться, и он асинхронный. Кроме того, discord.py неплохо документирован. Принцип применения и написания кода в этом модуле имеет много общего с Aiogram и vkwave.

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

Откройте для себя захватывающий мир IT! Обучайтесь со скидкой до 61% и получайте современную профессию с гарантией трудоустройства. Первый месяц – бесплатно. Выбирайте программу прямо сейчас и станьте востребованным специалистом.

Можно написать более сложную программу. Например, бот для учёта финансов. Пользователю нужно указать количество денег, которое он потратил, и все свои статьи расходов. Программа сформирует БД, Google- или Excel-таблицу, и будет вести статистику. Как вариант, можно создать бота, который будет отслеживать стоимость товаров. Суть проста: человек вставляет ссылку на тот или иной продукт, а программа присылает уведомление, если его цена упала.

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

Веб-приложение (интернет-магазин)

Если вы хотите создать веб-сайт, то оптимальным вариантом будет интернет-магазин. Вам нужно будет работать с админ-панелью ресурса, регистрацией, авторизацией, личным кабинетом, избранными товарами, корзиной, ассортиментом, пагинацией, сессиями. Более того, придётся научиться подключать базы данных, использовать миграции и разграничивать права доступа.

Если вы хотите масштабировать проект, то внедрите систему оплаты, скидочные промокоды, раздел с лидерами продаж, а также добавьте кеширование, отправку чека на почту или рекомендательную систему, основанную на in-memory СУБД Redis. Можно также использовать модели машинного обучения. Ещё более продвинутый вариант — добавить REST API сайта. Однако в этом случае вам нужно будет разобраться с сериализацией JSON-объектов и научиться работать с сетевыми протоколами.

В процессе создания интернет-магазина вы разберетесь с паттерном проектирования MVC (модель-представление-контроллер) и HTML/CSS. Не исключено, что придётся освоить JavaScript.

Рекомендуем использовать фреймворк Django. В нём вы найдёте модуль для выполнения вышеназванных задач. Плюс ко всему, он работает на базе шаблоне MVC (MVT). В процессе освоения Django вы познакомитесь с маршрутизацией, моделями данных, миграциями, контроллерами, шаблонизаторами HTML и ORM (с её помощью можно работать с базой данных через Python-объекты). Так как все модели данных представлены классами, вы научитесь работать с ООП. Нужно будет также применять наследование.

Веб-приложение
Веб-приложение

Стоит отметить, что принцип работы Django ничем не отличается от большинства самых современных фреймворков на Python и других языках. Следовательно, если вы освоите Django, то без труда сможете перейти на Laravel, Spring или Ruby on Rails. Django ORM очень похож на Eloquent из Laravel. Шаблонизаторы, модели и миграции также мало чем отличаются от других фреймворков. Для разнообразия можно воспользоваться Flask.

Теперь вы знаете, какие программы можно написать новичку для получения полезного опыта. Нужно лишь подобрать наиболее интересную сферу приступить к работе над своим первым проектом.

Оцените статью
Рейтинг: 5
( голосов 4 )
Поделиться статьей
Добавить комментарий

Сортировать:
По дате публикации
По рейтингу
До конца акции осталось
0 дней 00:00:00
Дарим скидку 64% на обучение «Разработчик»
  • Получите новую профессию с гарантией трудоустройства
  • Начните учиться бесплатно, 3 месяца обучения в подарок
Забронировать скидку на обучение
Забрать подарок

Получите подробную стратегию для новичков на 2023 год, как с нуля выйти на доход 200 000 ₽ за 7 месяцев

Подарки от Geekbrains из закрытой базы:
Осталось 17 мест

Поздравляем!
Вы выиграли 4 курса по IT-профессиям.
Дождитесь звонка нашего менеджера для уточнения деталей

Иван Степанин
Иван Степанин печатает ...