Top.Mail.Ru
Программа обучения Android middle
1 Этап: Введение в программирование и основы Java
Время прохождения : 1 месяц
Содержание:
Результат:
1. Освоены базовые концепции программирования
2. Получен навык работы в среде разработки IntelliJ IDEA
3. Изучены основы синтаксиса Java
Установка и настройка IntelliJ IDEA: Руководство по установке и настройке среды разработки
Управляющие конструкции: Условные операторы (if, switch), циклы (for, while, do-while)
Введение в ООП: Основные концепции объектно-ориентированного программирования
Обратная связь
Содержание:
Время прохождения : 1 месяц
Основы программирования: Переменные, типы данных, операторы
Наследование и полиморфизм: Создание иерархий классов, переопределение методов
Классы и объекты: Создание и использование классов, конструкция объектов
2 Этап: Объектно-ориентированное программирование и структуры данных
Коллекции Java: List, Set, Map и их реализации
Инкапсуляция: Геттеры и сеттеры, модификаторы доступа
Практика:
1. Проект 2: Разработка приложения для управления библиотекой с использованием коллекций
2. Домашние задания: 10 заданий для практики ООП и работы с коллекциями
Результат:
1. Углубленно изучено ООП в Java
2. Освоена работа с массивами и коллекциями
Практика:
1. Проект 1: Создание консольного приложения для расчета простых математических операций
2. Домашние задания: 8 заданий на закрепление базовых концепций
Этап 3. Исключения, потоки ввода-вывода и работа с файлами
Содержание:
Время прохождения: 1 месяц
1. Получен опыт обработки исключений
2. Освоен навык работы с потоками ввода-вывода и файлами
Результат:
Обработка исключений: try, catch, finally, создание собственных исключений
Файловый ввод-вывод: Чтение и запись файлов с использованием классов File, FileReader, FileWriter
Потоки данных: Работа с InputStream и OutputStream
Практика:
1. Проект 3: Разработка приложения для чтения и записи данных в файл
2. Домашние задания: 8 заданий на обработку исключений и работу с файлами
Этап 4. Введение в Kotlin и основные конструкции языка
Содержание:
Время прохождения: 1 месяц
1. Изучены основы Kotlin
2. Освоен базовый синтаксис и структуры данных Kotlin
Результат:
Основы Kotlin: Переменные, типы данных, операторы
Управляющие конструкции: Оператор if, when, циклы while, do-while, for
Функции: Определение и вызов функций, параметры, vararg
Практика:
1. Проект 4: Создание простого приложения на Kotlin для работы с данными
2. Домашние задания: 8 заданий для закрепления основ Kotlin
Этап 5. Объектно-ориентированное программирование в Kotlin и работа с коллекциями
Содержание:
Время прохождения: 1 месяц
1. Освоено ООП в Kotlin
2. Получен опыт работы с коллекциями и обобщениями
Результат:
Классы и объекты в Kotlin: Конструкторы, свойства, методы
Наследование и интерфейсы: Реализация наследования и интерфейсов
Коллекции Kotlin: List, Set, Map, работа с обобщениями и лямбда-выражениями
Практика:
1. Проект 5: Разработка приложения для управления данными с использованием коллекций
2. Домашние задания: 10 заданий на практику ООП и работы с коллекциями в Kotlin
Этап 6. Разработка Android приложений
Содержание:
Время прохождения: 1 месяц
1. Освоена разработка приложений для Android
2. Получен опыт работы с макетами, ресурсами и элементами интерфейсаПолучен опыт работы с макетами, ресурсами и элементами интерфейса
Результат:
Android Studio: Установка, настройка и использование
Макеты и ресурсы: Работа с XML-макетами, управление ресурсами
Элементы интерфейса: Button, EditText, TextView, обработка событий
Практика:
1. Проект 6: Разработка полноценного Android-приложения с использованием изученных технологий
2. Домашние задания: 10 заданий для закрепления навыков разработки Android приложений
Жизненный цикл Activity: Понимание жизненного цикла, работа с Intent
Этап 7. Процесс разработки. Основы компьютерной науки
Содержание:
Время прохождения: 1 месяц
1. Освоите базовые принципы разработки программного обеспечения
2. Научитесь работать в команде и применять методологии управления проектами
Результат:
3. Приобретете навыки работы с системами контроля версий и базовые знания алгоритмов и структур данных
Процесс разработки - Декомпозиция задач, технические требования и навыки работы в команде
Методологии Agile и Scrum: основы гибкой разработки и управления проектами
Системы управления версиями: Git, основы работы с репозиториями, ветвление и слияние
Практика:
1. Проект 1: Командная разработка простого приложения с использованием Git
2. Проект 2: Реализация алгоритмов сортировки и поиска
+ 8 домашних заданий
Компоненты UIKit: UIView, UIViewController, Layout и AutoLayout, Navigation. Constraints. StackView. Жизненный цикл UIView
Структуры данных: массивы, списки, стеки, очереди, деревья
Основы компьютерной науки - Асимптотический анализ: оценка сложности алгоритмов
Алгоритмы: основные методы сортировки (пузырьковая, быстрая, слиянием и другие) и поиска (линейный, бинарный)
Этап 8. Корутинки и асинхронное программирование. Расширенные возможности языка
Содержание:
Время прохождения: 1 месяц
1. Освоите продвинутые концепции функционального программирования в Kotlin
2. Научитесь эффективно использовать корутины для асинхронного программирования
Результат:
3. Приобретете навыки работы с расширенными возможностями языка, включая создание собственных DSL и использование рефлексии
Функциональное программирование
Реализация и использование каррирования и частичного применения функций
Работа с иммутабельными структурами данных и их преимущества в многопоточном окружении
Практика:
1. Проект 1: Разработка функционального модуля с использованием каррирования и иммутабельных структур данных
2. Проект 2: Создание асинхронного приложения с использованием корутин и Flow.
+ 10 домашних заданий
Оптимизация корутин для повышения производительности
Асинхронные потоки данных с использованием Flow: обработка, трансформация и комбинирование потоков
Корутинки и асинхронное программирование
Глубокое понимание корутин: запуск, отмена и обработка ошибок
Расширенные возможности языка
Создание собственных DSL (Domain-Specific Languages) для повышения читаемости и удобства использования кода
Продвинутая работа с рефлексией: динамическое создание и вызов функций, получение информации о типах
Использование аннотаций для метапрограммирования и автоматизации задач
11
Этап 9. Современные архитектурные подходы. Управление состоянием
Содержание:
Время прохождения: 1 месяц
1. Освоите асинхронное программирование и многопоточность для повышения производительности приложений
2. Научитесь интегрировать сетевые API и работать с современными технологиями обмена данными
Результат:
3. Приобретете навыки работы с сервисами Apple для расширения функциональности приложений
Современные архитектурные подходы
Внедрение и адаптация Clean Architecture в существующие проекты: разделение ответственности и модульность
Сравнение и выбор архитектурных паттернов (MVC, MVVM, MVI и другие) для различных типов приложений и их преимуществ
Практика:
1. Проект 1: Реализация приложения с использованием Clean Architecture и выбором подходящих архитектурных паттернов
2. Проект 2: Интеграция и оптимизация Dependency Injection с Dagger Hilt или Koin.
+ 10 домашних заданий
Оптимизация графа зависимостей для повышения производительности и снижения времени запуска приложения
Управление состоянием
Сложные сценарии управления состоянием с использованием StateFlow и SharedFlow: обработка событий, управление потоками данных и поддержка реактивного программирования
Подходы к тестированию и отладке управления состоянием в приложениях
Dependency Injection
Глубокая интеграция Dagger Hilt и Koin в крупные проекты: настройка, конфигурация и управление зависимостями
Этап 10. Безопасность. Обработка медиа
Содержание:
Время прохождения: 1 месяц
Основы Jetpack Compose
1. Освоите основы и продвинутые возможности Jetpack Compose для создания современных пользовательских интерфейсов
2. Научитесь оптимизировать производительность UI и интегрировать Compose с существующими архитектурами
Результат:
3. Приобретете навыки разработки и тестирования сложных UI-компонентов, а также управления навигацией и состоянием в больших приложениях
Создание сложных пользовательских интерфейсов с использованием базовых компонентов Compose
Оптимизация производительности UI в Compose: использование инструментов для анализа производительности и устранение узких мест
Практика:
1. Проект 1: Разработка приложения с использованием Jetpack Compose для создания сложных пользовательских интерфейсов
2. Проект 3: Интеграция Compose в существующую архитектуру приложения и реализация сложных анимаций.
+10 домашних заданий
Интеграция Compose с существующими архитектурами: совместное использование Compose и View-based UI, миграция на Compose
Jetpack Compose и архитектура
Разработка и тестирование сложных UI-компонентов: подходы к модульному тестированию и UI-тестированию в Compose
Навигация и управление состоянием в больших приложениях: использование Jetpack Navigation Compose и управление состоянием с помощью State Hoisting и ViewModel
Продвинутые темы Jetpack Compose
Разработка сложных анимаций и жестов: использование Compose Animation API для создания плавных и интерактивных анимаций
Этап 11. Сетевые запросы и обработка данных. Кэширование и работа с данными
Содержание:
Время прохождения: 1 месяц
1. Научитесь эффективно работать с базами данных и оптимизировать запросы для работы с большими объемами данных
2. Научитесь эффективно работать с базами данных и оптимизировать запросы для работы с большими объемами данных Освоите продвинутые техники работы с сетевыми запросами и обработкой данных, включая REST и GraphQL
Результат:
3. Приобретете навыки разработки и внедрения сложных стратегий кэширования для повышения производительности приложений
Работа с базами данных
Оптимизация запросов и работа с большими объемами данных в Room: использование индексов, оптимизация схемы и запросов
Сложные миграции и поддержка версионности базы данных: планирование и реализация миграций, поддержка обратной совместимости
Практика:
1. Проект 1: Реализация продвинутых сетевых операций и стратегий кэширования в приложении.
+5 домашних заданий
Оптимизация сетевых операций и кэширование: снижение задержек и улучшение пользовательского опыта
Кэширование и работа с данными
Разработка и внедрение сложных стратегий кэширования: использование различных уровней кэширования (например, память, диск) для улучшения производительности и снижения нагрузки на сеть
Сетевые запросы и обработка данных
Продвинутые техники работы с REST и GraphQL: использование современных библиотек и подходов для работы с API
Этап 12. SwiftUI. Тестирование и непрерывная интеграция
Содержание:
Время прохождения: 1 месяц
Оптимизация производительности
1. Научитесь проводить глубокий анализ производительности приложений и устранять узкие места
2. Освоите методы защиты данных и управления доступом, а также внедрение современных стандартов безопасности
Результат:
3. Приобретете навыки разработки сложных мультимедийных приложений с использованием ExoPlayer
Глубокий анализ производительности и устранение узких мест: использование инструментов профилирования, таких как Android Profiler, для выявления проблем производительности
Оптимизация рендеринга и использования ресурсов: улучшение времени отклика и плавности интерфейса, управление памятью и ресурсами
Практика:
1. Проект 1: Оптимизация производительности существующего приложения, включая анализ и улучшение рендеринга и использования ресурсов
2. Проект 2: Реализация системы защиты данных и управления доступом в приложении с использованием современных стандартов безопасности
3. Проект 3: Разработка мультимедийного приложения с использованием ExoPlayer для потокового воспроизведения.
+5 домашних заданий
Имплементация современных стандартов безопасности: внедрение протоколов безопасности, таких как OAuth2 и TLS, для обеспечения защиты данных
Поддержка мультимедиа
Разработка сложных мультимедийных приложений с ExoPlayer: создание приложений для потокового воспроизведения аудио и видео, работа с различными форматами и источниками контента
Безопасность
Защита данных и управление доступом в сложных системах: использование шифрования, аутентификации и авторизации для защиты пользовательских данных
После успешного завершения обучения:
Сертификат
Персональный сертификат о прохождении специализации. По запросу на английском языке.
Развитие карьеры и бизнеса:
У вас будет:
Консультации с ментором в течение обучения.
У вас будет:
Подборки вакансий, инсайты рынка труда.
У вас будет:
Проекты в ваше портфолио.
У вас будет:
Реальный опыт на крауд-платформах.