Top.Mail.Ru
  • Знакомство с базовыми понятиями IT через выполнение практических задач
  • Классификация языков программирования. Концепции объектно-ориентированного и функционального программирования
  • Разбор простых инструментов: Zapier, Dialogflow, Gliffy и другие.
Введение и основы
Первый уровень
2 недели
  • Изучили концепцию ООП и функционального программирования
  • Изучили инструменты для разработки Zapier, Dialogflow, Gliffy
Результат:
Разработка на Java
Первый уровень
1 месяц
  • Научились компилировать код на IntelliJ IDEA
  • Изучили и на практике освоили переменные, типы данных, классы, массивы и циклы
  • На практике изучили исключения коллекции
  • Изучили особенности сборщика мусора и роботу с памятью
Результат:
  • Установка JDK и IntelliJ IDEA. Особенности выполнения кода на Java
  • Основные синтаксические конструкции и операторы. Переменные. Циклы
  • Объекты и классы. Создание объектов. Копирование объектов. Внешние библиотеки классов
  • Операции с числами. Строки, символы, подстроки. Сравнение строк. Регулярные выражения
  • Массивы. Списки. Очереди. Поиск и сортировка
  • Наследование и полиморфизм. Наследование классов. Доступ к методам и переменным. Абстрактные классы
  • Коллекции (Java Collections Framework): list, treeset, treemap, queue, hashset, hashmap
  • Примитивы
  • Обработка исключений. Типы исключений
  • Многопоточность. Основы
  • Особенности Java 8: лямбда-функции, Stream API, Date Time API в Java
  • Java Memory Model и Garbage Collection
Содержание курса:
Содержание курса:
Практика:
Программирование Android Kotlin
1

2

Разработка на Kotlin, Android Studio
Первый уровень
2 месяца
  • Научились компилировать код на Android Studio
  • Научились применять лямбда в Kotlin
  • Научились применять inline-функции и extensions в реальных проектах
Результат:
  • Работа в Android Studio IDE
  • Структура Android-проекта: Java/Kotlin, XML, .gradle files
  • Основные синтаксические конструкции и операторы. Условия. Циклы. Функции
  • Объектно-ориентированное программирование на Kotlin
  • Классы и объекты
  • Функции высшего порядка. Исключения. Аннотации
  • Лямбда в Kotlin
  • Создание собственных классов и наследование от других классов
  • Data Class, Inline Class, Enum Class, Sealed Class
  • Companion object и JVMField
  • Лямбда, inline-функции и функции высшего порядка, extension-функции
Содержание курса:
  • Создали свой собственный мини-проект на Android Studion
  • Изучили на практике Companion object и JVMField
  • На практике изучили исключения и коллекции
  • На практике изучили применение Data Class, Inline Class, Enum Class, Sealed Class
  • Companion object и JVMFiel
Практика:
3

  • Создали свой собственный проект на IntelliJ IDEA
  • Изучили на практике освоили переменные, типы данных, классы, массивы и циклы
  • На практике изучили исключения и коллекции в своем мини проекте
  • Изучили особенности сборщика мусора и роботу с памятью
Программирование Android Kotlin
Построение UI интерфейсов
Второй уровень
2 недели
Результат:
  • Научились верстать интерфейсы на XML кодом
  • В своем проекте создали несколько экранов со своим собственным UI
  • Реализовали собсвенные анимации перехода
Содержание курса:
  • Android Layouts
  • Работа с форматом XML
  • Адаптивный и пользовательский интерфейс
  • Android Views
  • Material Design, темы и стили
  • Анимации Pt
  • Применение AnimatedVectorDrawable
  • Использование библиотеки Lottie
  • Explode, Slide, Fade, Transition Framework
  • Material Motion
  • RecyclerView (RV)
  • LayoutManager
  • Анимирование изменений данных в RecyclerView, поведение swipe-to-action
  • Coordinator Layout
  • Активити, фрагмент, диалог
  • Навигация
  • Пользовательский ввод. InputMethodService, EditText, TextInputLayout. Взаимодействие EditText с экранной клавиатурой
  • InputFilter
  • Использование ToolbarSearchView
  • ClipboardManager
  • Автоматизация UI-тестирования. Написание UI-тестов
  • Custom View: жизненный цикл, анимация
  • Жизненный цикл отрисовки, onMeasure — onLayout — onDraw
Архитекрура разработки мобильного приложения
Второй уровень
1 месяц
Практика:
• Создали три проекта на Kotlin
• Переписали код в существующем проекте с новой архитектурой
• Мини проект по поиску сотрудников в компании
Содержание курса:
  • Архитектура UI-слоя приложения. View Binding, Data Binding
  • Архитектура UI-слоя приложения. Паттерны
  • Введение в работу с сетью. HTTP, HTTPS, WebSocket. Postman
  • Проблема запроса данных в фоне
  • Broadcast Receiver
  • DI: основные концепции и сравнение библиотек
  • Принципы построения архитектуры мобильных приложений. Принципы чистой архитектуры.
  • Архитектурные паттерны MVVM, MVI, MVP
  • Плюсы и минусы различных архитектурных паттернов.
  • Применение LifeCycleOwner
  • Принцип работы Gson
  • ViewModel: создание модели, обмен данными
  • Dagger2
  • Glide, Picasso
  • Retrofit. Подключение библиотеки, добавление необходимых зависимостей. Retrofit builder
  • XPath локаторы
4
5
Практика:
  • Создали два проекта на Kotlin
  • Игру крестики нолики
  • Мини проект по прогнозу погоды
Результат:
Научились понимать и применять на практике используемую архитектуру написания кода
Программирование Android Kotlin
Клиент-серверное взаимодействие мобильного приложения и локальное хранилище данных
2 недели
Результат:
Содержание курса:
  • Android Persistence — Shared Preferences, работа с файлами
  • Базы данных: основы. Реляционные базы данных
  • Android Persistence, Room
  • SQL, ACID
  • Типы данных, поддерживаемых SQLite
  • CRUD, Foreign key(FK), JOIN, Index, SQLite в Android
  • Миграция данных и схемы данных (onUpgrade)
  • Структура БД, основные запросы
  • Представление о SQL- и noSQL-базах данных
Многопоточность, реактивные подходы к построению приложения
2 недели
Результат:
Содержание курса:
  • Реактивность, многопоточность с LiveData, Coroutines, RxJava
  • Архитектура слоя модели, модуляризация
  • Доменная модель, понятие бизнес-логики и модели из MVP/MVVM
  • Clean Architecture
  • Взаимодействие Data и Domain
  • Observable, Observer, Subscription
  • Операторы RxJava
  • Вероятность Memory Leak при использовании RxJava
  • Варианты создания Observable
  • Холодные и горячие Observable
  • Jetpack Architecture Components. ViewModel, AndroidViewModel
  • Использование ViewModel с LiveData для Data Binding.
  • Трансформации LiveData
  • Интеграция Room и LiveData
  • Интеграция Retrofit и LiveData
6
7
  • Написали собственное приложение с кешированием данных в SQL
  • Научились работать с базой данных и писать запросы SQL
  • Научились писать миграции для БД
  • На практике изучили особенности многопоточности и проблем многопоточности в БД
  • Перепишите свой собственный проект, используя реактивное программирование с LiveData, Coroutines, RxJava
  • На практике освоите, что такое чистая архитектура в Kotlin
  • Поймете особенности решения проблем утечки памяти
После успешного обучения
Сертификат
Персональный сертификат о прохождении специализации. По запросу предоставляется на английском языке.
Развитие карьеры и бизнеса
— консультации с ментором в течение обучения
— подборки вакансий, инсайты рынка труда
— проекты в ваше портфолио
— реальный опыт на крауд-платформах
Развитие карьеры и бизнеса
Сообщество экспертов с бизнес-опытом из разных сфер