Бакалавриат
2025/2026




Научно-исследовательский семинар "Основы Android-разработки на Java"
Статус:
Курс по выбору (Программная инженерия)
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
2-й курс, 1-3 модуль
Охват аудитории:
для всех кампусов НИУ ВШЭ
Преподаватели:
Макаров Сергей Львович
Язык:
русский
Кредиты:
3
Контактные часы:
48
Программа дисциплины
Аннотация
Целями освоения дисциплины являются: изучение основ и получение практических навыков программной инженерии в области разработки программного обеспечения для мобильных устройств под Android. Основные задачи дисциплины следующие: изучение одного из инструментов разработки программного обеспечения для мобильных устройств под операционную систему Android (по умолчанию - Android Studio); знакомство с особенностями разработки мобильных приложений; знакомство с основными конструкциями соответствующего языка программирования (по умолчанию - java); знакомство с облачными технологиями для разработки мобильных приложений от Google; получение практических навыков по разработке полноценного мобильного приложения. На занятиях разбираются эти и другие темы и практические задания, которые даются студентам для самообучения. Всего предусмотрено от 16 до 23 практических заданий и одно домашнее задание, суть которого в том, чтобы придумать тему и реализовать её в виде мобильного приложения. Экзамен заменён дополнительными (extras) заданиями.
Цель освоения дисциплины
- Целями освоения дисциплины являются: изучение основ и получение практических навыков программной инженерии в области разработки программного обеспечения на Java для мобильных устройств под управлением ОС Android.
Планируемые результаты обучения
- Знать инструменты разработки мобильных приложений, особенности работы с эмулятором
- Уметь использовать фрагменты в мобильных приложениях
- Знать expllicit intents, implicit intents, виды и применение интентов.
- Знать основные моменты по управлению памятью
- Уметь применять асинхронные операции в коде
- Знать и уметь применять observer pattern
- Знать про dependency injection
- Знать про уровень данных, уметь его организовать
- Знать про паттерны и построение уровня интерфейса
- Знать про motionlayout, valueanimator, objectanimator, materialmotion
- Более подробно знать активити и способа упаковки приложений (aab, apk)
- Знать некоторые аспекты безопасности на мобильном устройстве и касательно приложений
Содержание учебной дисциплины
- Материалы
- Разработка Android-приложения с помощью eclipse/Android Studio IDE - знакомство с новой версией, xml-разметкой, с языком Java
- Фрагменты (fragments)
- Intents: intent filters - expllicit intents, implicit intents
- Memory management: garbagecoll, leaks, stack, heap, queue, value vs reference type
- Async: coroutines, thread! rxjava/rxkotlin, workmanager
- Observer pattern: flow, rxjava, livedata
- Design patterns: dependency injection? (basic dagger (annotations, singleton; no components)) service locator diff from it, di codegen / di codereflex
- Data layer: datastore, workmanager
- UI layer: data binding, viewbinding, viewmodel, MVVM, MVC?, MVI, MVP, clean
- Network: okhttp, retrofit (get post json rest?)
- Animation, motionlayout, valueanimator, objectanimator, materialmotion
- Activiy task and back stack, parcelables and bundles (activity, app entry points). Aab vs Apk
- Немного о безопасности
Элементы контроля
- HAДомашнее задание - это законченное мобильное приложение, позволяющее реализовать какую-то идею, коррелирующую с лабораторными работами и темами семинаров. Домашнее задание может сдаваться когда угодно, хоть в 1 модуле.
- L10 лабораторных работ по курсу; могу сдаваться когда угодно - в 1 модуле, во втором или в конце третьего. Из-за особенностей ПУД 2.0 период реализации и оценивания указан как 3 модуль, иначе система считает, что по курсу 3 домашки, 3*10 лабораторных и 3 экзамена, если указывать в периодах все 3 модуля.
- ЭЭкзамен состоит из 5 дополнительных заданий (лабораторок) повышенной сложности и может сдаваться когда угодно.
Список литературы
Рекомендуемая основная литература
- Android глазами хакера. — 2-е изд., перераб. и доп. — (Глазами хакера) - 978-5-9775-1797-3 - Зобнин Е. Е. - 2024 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/bookshelf/396449 - 396449 - iBOOKS
- Head First. Программирование для Android на Kotlin. 3-е изд. - 978-5-4461-2016-1 - Гриффитс Дэвид, Гриффитс Дон - 2023 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/391722 - 391722 - iBOOKS
- Коротеев, М. В., Введение в Android разработку на Java : учебное пособие / М. В. Коротеев, А. Ю. Шаталова. — Москва : КноРус, 2024. — 231 с. — ISBN 978-5-406-12061-3. — URL: https://book.ru/book/950351 (дата обращения: 04.07.2025). — Текст : электронный.
- Программирование на Kotlin для Android: Пер. с англ. - 978-5-9775-0944-2 - Шалин Павел, руковод. проекта - 2024 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/bookshelf/396448 - 396448 - iBOOKS
- Разработка Android-приложений с нуля. — 3-е изд.: Пер. с англ. - 978-5-9775-9665-7 - Хортон Дж. - 2023 - Санкт-Петербург: БХВ-Петербург - https://ibooks.ru/bookshelf/389667 - 389667 - iBOOKS
Рекомендуемая дополнительная литература
- Введение в разработку приложений для ОС Android : учебное пособие / Ю. В. Березовская, О. А. Юфрякова, В. Г. Вологдина, О. В. Озерова. — 2-е изд. — Москва : ИНТУИТ, 2016. — 433 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100707 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Пирская, Л. В. Разработка мобильных приложений в среде Android Studio : учебное пособие / Л. В. Пирская ; Южный федеральный университет. - Ростов-на-Дону ; Таганрог : Издательство Южного федерального университета, 2019. - 123 с. - ISBN 978-5-9275-3346-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/1894469