Даты II этапа по некоторым профилям могут отличаться. С точными сроками проведения этапа можно ознакомиться в Личном кабинете участника на платформе «Талант».
Разработайте Android-приложение в команде.
Сегодня более 42% интернет-трафика в России приходится на мобильные устройства — смартфоны и планшеты. Каждое седьмое устройство в мире работает на Android. По данным Statista, пользователи из России ежегодно тратят сотни миллионов долларов на мобильные приложения. Рынок стремительно растёт и остро нуждается в новых кадрах, особенно в молодых разработчиках.
Профиль открывает школьникам путь в эту индустрию: здесь можно с нуля создать собственное приложение. Участники проходят полный цикл разработки — от идеи до готового Android-продукта с серверной частью. Такой проект может стать не только первым серьёзным шагом в карьере, но и весомым проектом в портфолио.
«Профиль "Разработка мобильных приложений" по-настоящему крут! Ведь тут я познакомился со своими единомышленниками и у меня появился опыт в работе с командой, который на данный момент мне очень помогает адаптироваться. Организация и само проведение данной олимпиады было на высшем уровне, организаторы и вожатые всегда с вами общаются и поддерживают в любой ситуации. В общем, этот профиль — один из лучших профилей НТО».
Аутлев Магомед. 2025. Финалист
«НТО открыла мне путь к настоящей промышленной разработке, убедила меня в том, что моих знаний уже достаточно, чтобы создать целый продукт. Здесь я нашел много новых друзей и встретил уже давно знакомых людей, с которыми было очень приятно соревноваться за первое место.
Отдельно хочется отметить, что первенство в этой олимпиаде подарило мне возможность преподавать в IT-школе Samsung, чему я был приятно удивлен и за что я очень благодарен, ведь сам заканчивал эту школу.
Профиль "Разработка мобильных приложений" — не просто еще один профиль большой олимпиады, но точка роста и огромного числа возможностей».
Алексеев Виталий. 2025. Победитель
«Олимпиада оставила у меня положительные впечатления. Было интересно разрабатывать проект в команде, находиться в компании людей, у которых схожие интересы. Я получил ценный опыт командной работы и управления разработкой.
В целом опыт остался позитивный: НТО дала мне новые знания, знакомства и незабываемые эмоции».
Мурашов Дмитрий. 2025. Призёр
Участникам предстоит решать задачи двух туров:
Задачи инженерного тура связаны со следующими компетенциями:
II этап состоит из индивидуального и командного туров.
Задачи индивидуального тура II этапа продолжают темы инженерного тура I этапа. Здесь будут как общие задания, так и специальные — для каждой роли в команде. Это поможет участникам прокачать именно свои компетенции.
Те, кто уже собрал команду, смогут участвовать и в командном туре. Его задача — создать прототип программного продукта с клиентской частью (Android-приложением) и серверной частью.
Работа над задачами II этапа и изучение образовательных материалов профиля помогут участникам подготовиться к финалу.
В финале командам предстоит создать программный продукт с клиент-серверной архитектурой, в котором клиент — это нативное Android-приложение, реализованное в IDE Android Studio с помощью языка программирования Kotlin или Java и Android SDK.
Конкретное техническое задание меняется каждый сезон олимпиады. Назначение продукта выбирается исходя из социальной или бизнес-значимости в данный момент времени.
Чтобы успешно выполнить кейс, участникам нужно освоить несколько прикладных областей разработки и технологий, необходимых для создания приложения.
Например, для разработки клиентской части важно уметь работать с Android SDK и вспомогательными библиотеками, а также проектировать интерфейс мобильного приложения по руководствам, таким как Material Design.
Для разработки серверной части потребуется знание одного из web-фреймворков (например, Spring Framework), а также навыки проектирования и администрирования базы данных.
Начиная со II этапа участникам необходимо объединиться в команды из 2–3 человек. Тем, у кого команды нет, организаторы помогут ее найти (подробнее о командообразовании и том, как искать команду).
Понадобятся следующие роли:
Роль 1. Android-разработчик. Отвечает за разработку клиентской части программного продукта (Android-приложение), которое будет взаимодействовать с сервером.
Роль 2. UI/UX-дизайнер. Проектирует интерфейс, создающий комфортный пользовательский опыт Android-приложения. Роли «Android-разработчик» и «UI/UX-дизайнер» могут совмещаться.
Роль 3. Бэкенд-разработчик. Реализовывает серверную часть программного продукта, которая будет предоставлять необходимую информацию Android-приложению.
Роль 4. Тимлид. Один из членов команды должен будет взять на себя роль Тимлида. Задача роли – координировать работу команды, а также коммуницировать с организаторами профиля.
Важно! В команде не может быть человека только с ролью Тимлида, эта роль всегда совмещается с другими.
Разработка мобильных приложений — прикладное направление в разработке программного обеспечения, поэтому уже на старте участники должны обладать некоторыми навыками, а к заключительному этапу каждый из них должен приобрести «тяжёлый багаж» hard skills, необходимых для создания Android-приложения.
Язык программирования: участникам необходимо знать любой язык программирования в рамках школьного курса информатики 7–9 классов на отлично. Желательно владеть языками программирования Java и/или Kotlin.
Инструменты разработки: участникам требуется иметь навыки разработки и отладки в какой-либо среде разработки, желательно в одной из IDE от JetBrains. Иметь навыки работы с git.
Работа с данными: участникам необходимо уметь составлять простейшие SQL-запросы к какой-либо реляционной базе данных.
API-разработка: участникам требуется уметь составлять запросы к web-серверу.
Роль «Android-разработчик»
Язык программирования: знание Java и/или Kotlin как основных языков для разработки приложений под Android.
Android SDK: понимание и умение работать с Android Software Development Kit, включая библиотеки, инструменты и различные API, с помощью которых создаются нативные Android-приложения.
Инструменты разработки: умение использовать Android Studio и Gradle для разработки, сборки и развёртывания приложений.
Архитектура приложений: знание архитектурных паттернов (MVP, MVVM, Clean Architecture) для организации кода и улучшения его читаемости и поддерживаемости.
Работа с данными: опыт работы с SQLite, библиотекой Room или другими базами данных, а также навыки работы с RESTful API и JSON для обмена данными с сервером.
Роль «UI/UX дизайнер»
Инструменты дизайна: умение работать с инструментами для создания дизайна и прототипов, такими как Figma или Sketch.
Платформенные гайды: знание Android Material Design Guidelines, что позволяет создавать интерфейсы, соответствующие стандартам и рекомендациям платформы.
Вёрстка интерфейсов: владение XML или библиотекой JetPack Compose для создания макетов пользовательского интерфейса и определения ресурсов.
Инструменты для создания графики: владение Gimp и Inkscape или другими аналогичными растровыми и векторными редакторами для создания графических элементов и иконок, необходимых для приложений.
Роль «Бэкенд-разработчик»
Языки программирования: владение языками программирования, такими как Java, Kotlin или другими популярными языками, которые используются для написания серверной логики.
Базы данных: знание реляционных баз данных (например, PostgreSQL, MySQL) и нереляционных баз данных (например, MongoDB), а также умение создавать запросы.
API-разработка: опыт разработки и интеграции RESTful, включая создание и документирование эндпоинтов, а также обеспечение безопасности и производительности.
Фреймворки и библиотеки: знание серверных фреймворков и библиотек, таких как Spring Boot для Java, Ktor для Kotlin, которые облегчают разработку серверной части.
Архитектура приложений: понимание принципов архитектуры приложений, включая микросервисную и монолитную архитектуру. Способность проектировать системы с учетом масштабируемости и отказоустойчивости. Опыт работы с контейнеризацией и оркестрацией (Docker, Kubernetes) для развертывания и управления приложениями. Знание архитектурных паттернов, таких как MVC.
Роль «Тимлид»
Участник должен обзорно знать всё, что описано выше, и, кроме того, иметь знания в области управления проектами и Agile: иметь опыт работы с инструментами управления проектами (JIRA, Trello), знать и применять Agile-методологиии (Scrum, Kanban).
Samsung Innovation Campus
Интернет-проект «Задачи» для подготовки по математике
Быстрый старт в спортивное программирование
Математика для олимпиад по программированию
Подготовка к 1 отборочному этапу НТО по математике
Основы Git
Проектирование баз данных
Сборник задач НТО. Разработка мобильных приложений 2024/2025 гг.