Форма обучения: очная с применением дистанционных технологий
Объем программы: 520 ак. часов
Продолжительность обучения: 8 месяцев
Выдаваемый документ: Диплом о профессиональной переподготовке МФТИ
Старт обучения: сентябрь 2023
Стоимость обучения: 155 000 рублей
Краткое описание программы:Чтобы получить Профессию Android-разработчик, подтвержденную Дипломом о профессиональной переподготовке МФТИ установленного образца, необходимо пройти обучение на двух самостоятельных курсах и двух интенсивах.
В течение обучения вы выполните несколько проектов для решения задач бизнеса, которые лягут в основу вашего портфолио. Проекты выполняются самостоятельно под руководством экспертов и преподавателей, позволяют закрепить весь спектр знаний и навыков, полученных на программе, и применить их к реальным задачам.
Успешное окончание каждого курса подтверждается Удостоверением о повышении квалификации МФТИ.
Содержание программы:
1. Интенсив: «Linux / Git для начинающих»2 неделиБазовый WSL и VirtualBox - Чем отличается Windows и Linux
- Установка WSL. Запуск
- VirtualBox установка и использование
Основы Linux - Введение. Какие задачи он решает. Дистрибутив Ubuntu
- Консоль. Основа работы с Linux. tmux
- Скрипты. Продвинутая работа с консолью
- Файловая система
- Работа с сетью
- Серверное взаимодействие. SSH
WSL подробно- Краткий экскурс в историю появления. WSL1 и WSL 2
- Основные команды работы с WSL
- Файловая система
- Сеть WSL
- WSL USB
- CUDA и Windows Докер
Git - Введение. Цели. Разновидности систем контроля версий
- Базовые основы GIT. Популярные сценарии работы
- Серверные репозитории Git. Ветки. Merge request
- Сценарии отката изменений. Stash
2. Курс: «Разработка на Java для Android»
6 месяцев
Базовый синтаксис языка Java - Введение
- Типы данных
- Условия и циклы
- Массивы
- Строки. МиниПроект
Объектно-ориентированное программирование
- Объекты и классы
- Инициализация
- Инкапсуляция
- Oтношения классов
- Полиморфизм и интерфейсы
- Пакеты
- Класс Object
- GC
- Перечисления
- Исключения
- Генерики
- Внутренние классы
Шаблоны ООП
- Что такое шаблоны ООП
- Виды шаблонов
Коллекции - Списки
- Мапы
- Прочие коллекции
Android Studio и основы Android UI - Android Studio, SDK, эмулятор
- Ресурсы, View и ViewGroup
- ConstraintLayout
- Основные понятия Android UI и из каких компонентов состоит мобильное приложение
- Адаптивный интерфейс
- Использование различных методов построения экранов и навигации в приложении
- Создание пользовательского интерфейса
- Работа с форматом XML
Взаимодействие с сервером, работа с локальными хранилищами данных - SQLite, ACID, CRUD
- ORM
- Как подключать БД к своему мобильному приложению
- Библиотека Room
Архитектура - Архитектура UI-слоя приложения
- Архитектурные паттерны MVVM, MVI, MVP SOLID
- Зависимости. Основные концепции DI
- Dagger 2
- Переиспользование кода
- Зачем приложению нужна архитектура
- Особенности архитектуры мобильных приложений
Сетевые операции, работа с многопоточностью и корутины - Интеграция с Backend: API, типичные формы интеграции
- Сетевые запросы: Main Thread & Background
- Многопоточность: потоки, проблемы общих данных
- Примитивы синхронизации и специализированные структуры данных
- Современные подходы работы с многопоточностью. Корутины
- Многопоточность в Android
Тестирование- Принципы TDD (Test Driven Development)
- Ручное тестирование мобильных приложений
- Тестирование Android-приложений
- Особенности функционального и нефункционального тестирования на мобильных устройствах
- Unit-тесты
- Инструментальные тесты
- Интеграционные тесты и тесты UI
- Основы автоматизации тестирования мобильных приложений
- UIAutomator. Автоматизация тестирования Android
- Appium. Кроссплатформенная мобильная автоматизация тестирования
- Espresso. Автоматизация тестирования Android
3. Курс: «Введение в алгоритмы и структуры данных»2 месяца - Математические основы программирования
- Линейные контейнеры
- Сортировки
- Динамическое программирование
- Хеш-таблицы
- Деревья поиска и графы
4. Интенсив: «Docker + CI/CD для начинающих»
2 неделиОсновы Docker
- Виртуализация и контейнеризация. Docker engine
- Docker image и Docker container
- Файловые системы в Docker. UnionFS и OverlayFS
- Работа с данными: добавление файлов, монтирование внешних директорий. Обмен данными с уже развернутым контейнером
- Рекомендации по работе с Docker. Как писать DockerFile, .dockrtignore. Базовая безопасность в docker
- Репозитории docker-контейнеров и работа с ними.
- Docker compose
CI/CD
- Обзор актуальных инструментов CI/CD (GitLab CI, Jenkins, TravisCI, GitHub Actions)
- Настройка pipelines, jobs, stages. Написание конфигураций CI
- Создания собственного runner'a. Executors: shell, docker
Целевая аудитория курса: - Те, кто начинает карьеру в ИТ
Возможность изучить все необходимое для начинающего разработчика: алгоритмы, ООП, основы рабочего кода языка C++. Вы заложите крепкий фундамент для дальнейшего развития в сфере ИТ. - Начинающие ИТ-специалисты
Если у вас уже есть базовые знания, наш курс поможет структурировать их и получить комплексный практический опыт на реальных примерах. - Практикующие ИТ-специалисты
Тем, кто уже является действующим разработчиком, и хочет изучить новый язык программирования.
На программе вы: - Освоите новую востребованную профессию
- Станете крепким junior-разработчиком со знанием языка программирования С++
На всех курсах вы получите: - Постоянное живое общение с преподавателем МФТИ на вебинарах и в телеграмм-чате группы
- Ответы на все свои вопросы по ходу курса от преподавателя
- Обратную связь на интересные домашние задания