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 в крупные проекты: настройка, конфигурация и управление зависимостями