Истории

Беспилотный Lego-автомобиль, 2D-игра и еще пять домашних проектов для разработчиков

Истории
Анна Полякова
Анна Полякова

Редактор

Анна Полякова

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

Беспилотный Lego-автомобиль, 2D-игра и еще пять домашних проектов для разработчиков

1. Беспилотный Lego-автомобиль

Цель этого проекта — сделать так, чтобы машина из конструктора Lego могла ездить, не сталкиваясь с окружающими объектами. Помимо игрушечного транспорта, для этого понадобится Raspberry Pi или Arduino и несколько ультразвуковых датчиков.

Чему вы научитесь:

  • пользоваться Raspberry Pi или Arduino на базовом уровне;
  • считывать показания датчиков;
  • выстраивать взаимодействие софта и «железа».

2. Приложение-каталог

Создание каталога нельзя назвать свежей идеей, но интересным этот проект делает использование Flutter. Flutter — это новый UI-инструментарий Google, который позволяет создавать платформозависимое мобильное приложение лишь с одной базой кода. Он использует язык программирования Dart.

Чему вы научитесь:

  • работать с Flutter;
  • писать код на Dart;
  • разрабатывать приложения.

3. Судоку

Это отличный способ потренироваться в построении алгоритмов. В этом проекте нужно создать алгоритм, который будет генерировать работающие головоломки. Если это слишком просто, можно также придумать алгоритм, который будет их решать. Один из способов добиться этого — создать алгоритм с возвратом.

Чему вы научитесь:

  • выстраивать и запускать алгоритм.

4. Классификатор автомобилей

Одна из составляющих машинного обучения — кластеризация и классификация. Цель этого проекта — классифицировать автомобили как безопасные или небезопасные на основе информации о них. Если вы новичок в мире машинного обучения, тогда этот проект — отличный способ разобраться в теме. Вам понадобится лишь этот набор данных.

Чему вы научитесь:

  • понимать принципы машинного обучения;
  • анализировать данные.

5. 2D-игра

Этот проект будет особенно интересен тем, кто задумывается о карьере в сфере разработки игр. В нем можно не придумывать новую игру, а перестроить Flappy Bird — неважно, в мобильную или десктопную версию. Если у вас есть идея новой игры, это отлично, но начать можно и с малого.

Чему вы научитесь:

  • запускать движение объектов;
  • делать сайд-скроллеры;
  • обнаруживать столкновения.

6. Прогрессивное веб-приложение

Прогрессивные веб-приложения очень популярны, и ими легко управлять, поэтому это идеальный вариант домашнего проекта. В нем можно использовать один из трех лучших фреймворков JavaScript: Angular, React, Vue. Изучите их и выберите тот, который понравится больше всего. 

Чему вы научитесь:

  • делать веб-приложение прогрессивным;
  • работать с выбранным JavaScript-фреймворком;
  • разбираться в основах веб-разработки, таких как HTML и CSS.

7. Большие данные

Если вы ищете непростой, но интересный проект, связанный с большими данными, попробуйте поработать с информацией о преступности в Чикаго. Это проблема мультиклассификации, которая подходит для более опытных дата-сайентистов. Проблема проста, но поскольку этот набор данных содержит более 6 млн наблюдений, управление данными будет намного сложнее.

Чему вы научитесь:

  • моделировать данные;
  • обрабатывать большие наборы данных.

Источник.

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

  1. 1 «Время продавать "байты"». Какие IT-проекты нужны сейчас и после пандемии
  2. 2 Профессия «топ-кодер»: как опыт спортивного программирования помогает строить карьеру
  3. 3 Шесть привычек, которые снижают эффективность разработчика
  4. 4 Каких ошибок нужно избегать разработчику: 21 совет от специалиста c 21-летним опытом

Актуальные материалы —
в Telegram-канале @Rusbase