I четверть
Разработка приложения на Swift
Курсы
Вы начнёте создавать приложение на Swift, оптимизируете и спроектируете его интерфейс, реализуете клиент-серверное взаимодействие и хранение данных.
Видеокурс «Как учиться эффективно»
• Расскажем, как спланировать обучение, чтобы сохранить интерес, получить максимум пользы и всё успеть. Вы узнаете, сколько времени уделять обучению, как эффективно выполнять практические задания, отслеживать прогресс и добиваться целей.
Основы языка Swift
• Введение в программирование
• Синтаксис и основные операторы Swift
• Комплексные типы данных
• Введение в ООП — объектно-ориентированное программирование
• ООП: требование к классам, протоколы, расширения, полиморфизм, композиция
• Продвинутое ООП
• Управление ошибками в приложениях
Пользовательский интерфейс iOS-приложений
• Проектирование интерфейса, часть 1. Разбор основных сетевых возможностей и их применение на практике
• Проектирование интерфейса, часть 2. Добавление экранов. Переходы между экранами. UINavigationController. Segue
• Проектирование интерфейса, часть 3. Отображаем данные в виде таблицы. UITableViewController, UITableViewCell, UICollectionViewController, UICollectionViewCell
• Создание кастомных UI-компонентов
• Кастомизация коллекций
• Анимации, часть 1. Простые анимации UIView. Анимации переходов между UIView. Анимации слоя. Пружинные анимации
• Анимации, часть 2. Группы анимаций. Кривые Безье и их анимирование. 3D-анимации. UIViewPropertyAnimator
• Анимация переходов между экранами
Клиент-серверные iOS-приложения
• Применение паттернов Observer, Singleton и Delegate
• Работа с сетью
• Mapping JSON-данных
• Хранение данных
• Realm — система управления объектной базой данных
• Уведомления в Realm
• Firebase backend
• Механика работы App Store
Производительность iOS-приложений
• Параллельное программирование: thread
• Параллельное программирование: GCD
• Параллельное программирование: NSOperation
• Асинхронный код. Концепции Futures и Promises
• Кеширование и переиспользование данных в памяти устройства
• Практики работы с UITableView и UICollectionView
• Паттерны ленты новостей
• Асинхронное создание изображений
Проект
Модель предсказания цены на недвижимость
II четверть
Продвинутый Swift и iOS
Курсы
Вы научитесь проектировать интерфейс приложения с помощью SwiftUI и UIKit, связывать модели данных, работать с навигацией между экранами и анимацией. Также вы узнаете, как использовать язык Objective-C для Swift-разработки.
Архитектуры и паттерны на Swift
• Базовые паттерны, часть 1. Delegate, Singleton, Memento
• Базовые паттерны, часть 2. Strategy, Facade, Observer, Builder
• Базовые паттерны, часть 3. Flyweight, Adapter, Factory, Template method
• Продвинутые паттерны, часть 1. State, Prototype, command
• Продвинутые паттерны, часть 2. Composite, Mediator, Chain of responsibility
• Продвинутые паттерны, часть 3. Антипаттерны
• Архитектурные паттерны, часть 1. MVC, MVP
• Архитектурные паттерны, часть 2. MVVM, VIPER
Фреймворк SwiftUI
• Знакомство со SwiftUI
• Layout
• Загрузка, сохранение и отображение данных
• Базовая навигация, таблицы
• Property Wrappers
• Advanced Layouting
• Анимации
• Навигация, взаимодействие с UIKit
Objective-C для Swift-разработчиков
• Основы синтаксиса языка Objective-C
• ООП и специальные типы данных в Objective-C
• Работа с памятью
• Параллельное программирование
• Работа с сетью
• UIKit
• Core Data, часть 1. Описание сущностей и зависимостей с помощью Objective-C. Разбор примеров CRUD с использованием Objective-C.
• Core Data, часть 2. Конструктор Xcode. Генерация моделей объектов, их обновление и использование.
• Objective-C Runtime
Проект
Сбор информации по заданным критериям. Разведочный анализ данных (EDA) на основе полученной информации.
III четверть
Приложение для интернет-магазина на Swift
Курсы
Расскажем об основных техниках и методиках разработки. Вы научитесь работать с заказчиками: понимать техническое задание, писать тесты, применять непрерывную интеграцию (CI) на примере Fastlane. Также вы реализуете клиентскую и серверную часть приложения и научитесь создавать чистый код.
Чистый код в iOS
• Начало работы над проектом
• Архитектура кода
• Тестирование
• Серверный Swift для mock-сервера
• Code style и качественный код
• Чистый код
• Рефакторинг
• Функциональный Swift
• Композитный UI
• UI-тесты
• Аналитика
• CI — непрерывная интеграция
Работа с современными фреймворками в iOS
• Карты и локация
• Background mode
• Паттерны навигации в iOS-приложениях
• Безопасность мобильных приложений
• Библиотека RxSwift
• Xcode Instruments
• Локальные и пуш-уведомления
• Фреймворк AVFoundation
Проект
Модель кредитного скоринга для банка
IV четверть
Командная разработка проекта
Курсы
Соберёте команду, спланируете разработку проекта, научитесь взаимодействовать с куратором проекта и получите навыки для прохождения собеседования.
Фреймворк Combine
• .onNext(Combine)
• Операторы. Часть 1
• Операторы. Часть 2
• Работа с сетью и отладка
• KVO, Timers, Resource management
• Продвинутый Combine
• SwiftUI + Combine
• Тестирование Combine-кода
Командная разработка на Swift
• Постановка цели проекта
• Инструментарий команды для контроля процесса разработки
• Еженедельное ревью кода с ментором (суммарно 5 недель)
• Презентация итогового проекта
Подготовка к собеседованию iOS-разработчика
• Как получить приглашение на собеседование
• Как проходит собеседование
• Собеседование на стороне работодателя
• Международные компании и интервью-скрининг
• Как проходит техническое собеседование
• Выполнение технического задания
• Собеседование с менеджером
Проект
Рекомендательная система для интернет-магазина, прогнозирование оттока клиентов
Дополнительные курсы от компаний-партнёров
Курсы
В разработке и проведении обучения участвуют ведущие технологические компании России. Вы узнаете больше о технологиях и инструментах, используемых реальным бизнесом для создания IT-продуктов.
Framework CoreData
• Устройство Core Data
• Работа с данными
• Версионирование и отладка
Интерфейс приложений: работа дизайнеров и программистов
• Дизайн интерфейса мобильных приложений
• Взаимодействие дизайнера и программиста
• Различия интерфейсов для Android и iOS
Реактивное программирование в iOS на примере RxSwift
• Введение. Основные концепции
• Управление событиями. Операторы
• Связывание реактивного и императивного кода
• Продвинутая работа с библиотекой RxSwift
• Демо-приложение. Часть 1
• Демо-приложение. Часть 2
Архитектурные паттерны MVVM и VIPER в iOS-разработке
• Шаблон проектирования MVVM
• Шаблон проектирования Viper
Аналитика и монетизация мобильных приложений
• Ценность цифровой аналитики
• Структура аккаунта Google Аналитики
• Основные отчёты Google Аналитики
• Основные сведения о кампаниях
• Выходим за пределы
• Введение в Firebase
• Продукты Firebase
Законное индивидуальное предпринимательство и фриланс
• Законодательные тонкости при работе с валютой
• Регистрация и налоги
• Работа с площадками Google, Upwork, AppStore
Курсы со свободной датой старта
Курсы
Вы можете формировать часть расписания самостоятельно и регулировать интенсивность обучения.
Подготовка к поиску работы
• Как составить резюме, которое точно заметят
• Составляем карту поиска работы
• Зачем нужны сопроводительные письма
• Что вас ждет на собеседовании с HR
Git. Базовый курс
• Введение в Git
• Установка и настройка Git
• Основные команды терминала
• Работа с репозиториями в Git
• Управление файлами репозитория
• История изменений
• Работа с ветками репозитория
• Публикация репозитория
• Слияния веток
• Управление версиями
• Создание pull-request
• Сложные операции
• Работа с Fork-репозиториями
Алгоритмы и структуры данных. Базовый курс
• Простые алгоритмы
• Асимптотическая сложность алгоритма. Рекурсия
• Поиск в массиве. Простые сортировки
• Динамическое программирование. Поиск возвратом
• Динамические структуры данных
• Деревья
• Графы. Алгоритмы на графах
• Сложные сортировки