Git. Базовый курс
Основы работы с Git
13 роликов научат вас основам работы с системы контроля версий Git. Вы узнаете, почему она важна в современной разработке. Изучите базовые понятия: репозиторий, коммиты, ветки и тэги. Освоите ключевые операции: создание и клонирование репозитория, слияние веток, запрос истории изменений и многое другое. После обучения вы будете готовы использовать Git для подготовки домашних заданий на курсах по программированию на любом языке. Кроме того, вы приблизитесь к прохождению собеседования, где несколько вопросов обычно посвящены системе контроля версий.
Урок 1. Введение в Git
Урок 2. Установка и настройка Git
Урок 3. Основные команды терминала
Урок 4. Работа с репозиториями в Git
Урок 5. Управление файлами репозитория
Урок 6. История изменений
Урок 7. Работа с ветками репозитория
Урок 8. Публикация репозитория
Урок 9. Слияния веток
Урок 10. Управление версиями
Урок 11. Создание pull-request
Урок 12. Сложные операции
Урок 13. Работа с Fork-репозиториями
Java Core для Android
Урок 1. Java. Введение
Введение в платформу Java, инструменты разработчика, написание первой программы. Переменные, типы данных, арифметические операции. Методы. Условные операторы.
Урок 2. Основные конструкции
Оператор switch, циклы, кодовые блоки, массивы
Урок 3. Практика: разбор примеров использования базовых элементов языка Java
Разбор практических примеров использования базовых элементов языка Java, работа с консолью
Урок 4. Крестики-нолики в процедурном стиле
Урок 5. Введение в ООП
Урок 6. Продвинутое ООП
Углубленное изучение вопросов объектно-ориентированного программирования: наследование, полиморфизм
Урок 7. Практика ООП и работа со строками
Урок 8. Объектно-ориентированное программирование Java
Углубленное изучение вопросов ООП в Java: основные принципы ООП, абстрактные классы, интерфейсы.
Урок 9. Исключения
Урок 10. Коллекции
Урок 11. Обобщения
Что такое обобщения, обобщенные классы, методы и интерфейсы, наследование обобщенных классов, ограничения при работе с обобщениями
Урок 12. Многопоточность. Часть 1
Многопоточность в Java, разделяемая память, управление потоками и вопросы синхронизации, взаимодействие потоков исполнения, взаимная блокировка
Урок 13. Многопоточность. Часть 2
Урок 14. Обзор средств разработки
Android 1. Знакомство с платформой
На этом курсе студенты изучат механизмы работы с системой Android, разберут жизненный цикл приложения, получат навыки в верстке приложений. Узнают, каким образом можно отображать информацию на экране устройства. Ознакомятся с основными возможностями приложений на Android. Научатся разрабатывать приложения на языке Java для Android. К концу курса студенты также приобретут навыки для разработки приложений с хранением данных в облачном хранилище Firestore.
Урок 1. Знакомство с Android
Урок 2. Макеты приложений
Урок 3. Активити. Жизненный цикл
Урок 4. Ресурсы
Урок 5. Интенты, активити
Урок 6. Фрагменты
Урок 7. Фрагменты — продолжение
Урок 8. Меню в приложении
Урок 9. 5 способов отобразить сообщение в приложении
Урок 10. Списки. Списковые элементы
Урок 11. Расширенные возможности списка. Контекстное меню. DatePicker
Урок 12. Хранение данных
Android на Kotlin
На этом курсе студенты изучат основные понятия и принципы разработки на языке Kotlin. Разберут его синтаксис и конструкции, рассмотрят основные библиотеки, которые применяются для Android-приложений. Учащиеся получат и закрепят навыки разработки полноценных мобильных приложений на Kotlin, научатся использовать для этого современные инструменты и подходы. К концу курса студенты также приобретут все необходимые навыки для разработки клиент-серверных приложений и хранения данных внутри приложения.
Урок 1. Введение в Kotlin
Урок 2. Архитектура приложения
Урок 3. Типы данных, коллекции, null safety, дженерики и интерфейсы
Урок 4. Функции высшего порядка, лямбды и extension-функции
Урок 5. Выходим в интернет
Урок 6. Многопоточность и компоненты Android
Урок 7. Получение данных и загрузка изображений
Урок 8. Хранение данных в приложении
Урок 9. Разрешения и Content Provider
Урок 10. Геолокация и карты
Урок 11. Push-нотификации
Урок 12. Build types и принципы Здорового разработчика
Android. Material design
Курс учит создавать приложения в прогрессивном стиле Material Design: использовать нужные библиотеки, оперировать FloatingActionButton, конструировать меню и вкладки, разрабатывать темы и стили. С опорой на эти знания студенты создадут интерфейс собственного клиента для Instagram.
Урок 1. Шаблон проекта и обзор стандартных компонентов
Урок 2. Темы приложения
Урок 3. Навигация
Урок 4. Макеты
Урок 5. Анимации
Урок 6. RecyclerView
Урок 7. Работаем с текстом как профессионалы
Урок 8. Экран загрузки и Дизайн/UX
Популярные библиотеки: RxJava 2, Dagger 2, Moxy. 1 месяц.
Популярные библиотеки: RxJava 2, Dagger 2, Moxy
Курс учит создавать современные и максимально отказоустойчивые клиент-серверные приложения. Разбирает на практике популярные программные решения и библиотеки, которые являются индустриальном стандартом для современного Android - разработчика: RxJava 2, Dagger 2, Moxy и Cicerone. В течение курса студенты завершат разработку своего проекта.
Урок 1. Архитектура приложения. MVP
Урок 2. MVP, Moxy, Cicerone
Урок 3. Реактивное программирование, RxJava
Урок 4. RxJava 2
Урок 5. Взаимодействие с сервером
Урок 6. Room и хранение данных
Урок 7. Dependency Injection. Dagger 2
Урок 8. Dagger 2
Урок 9. Консультация №1
Урок 10. Консультация №2
Базы данных. Интерактивный курс . 1 месяц.
Проектирование и работа с данными
На новом уровне комплекса курсов по базам данных студенты получат исчерпывающую информацию о долговременных хранилищах. Плотно поработают с MySQL – системой управления БД, зарекомендовавшей себя на популярных крупных проектах. Пошагово разбирается проектирование баз данных и работа с ними. Курс знакомит и с альтернативными БД: MongoDB, Redis, ElasticSearch и ClickHouse.
Урок 1. Быстрый старт
1.1. Типы баз данных. 1.2. Основы реляционных баз данных. 1.3. MySQL и клиенты. 1.4. Управление базами данных. 1.5. Разбор домашнего задания.
Урок 2. Язык запросов SQL
2.1. Введение в SQL. 2.2. Числовые и строковые типы данных. 2.3. Календарные типы данных и множества. 2.4. Индексы. 2.5. CRUD-операции. 2.6. Разбор домашнего задания.
Урок 3. Операторы, фильтрация, сортировка и ограничение
3.1. Операторы. 3.2. Условная выборка. 3.3. Сортировка и ограничения. 3.4. Предопределенные функции. 3.5. Предопределенные функции (продолжение). 3.6. Разбор домашнего задания.
Урок 4. Агрегация данных
4.1. Группировка данных. 4.2. Агрегационные функции. 4.3. Специальные возможности GROUP BY. 4.4. Разбор домашнего задания.
Урок 5. Сложные запросы
5.1. Типы многотабличных запросов и UNION 5.2. Вложенные запросы 5.3. JOIN-объединения таблиц 5.4. Внешние ключи и ссылочная целостность 5.5. Разбор домашнего задания
Урок 6. Транзакции, переменные, представления
6.1. Транзакции. 6.2. Внутренняя реализация транзакций. 6.3. Переменные, временные таблицы и динамические запросы. 6.4. Представления. 6.5. Разбор домашнего задания.
Урок 7. Администрирование MySQL
7.1. Администрирование MySQL. 7.2. Администрирование MySQL (продолжение). 7.3. Права пользователей. 7.4. Репликация. 7.5. Репликация (продолжение). 7.6. Разбор домашнего задания.
Урок 8. Хранимые процедуры и функции, триггеры
8.1. Хранимые процедуры и функции. 8.2. Параметры, переменные, ветвление. 8.3. Циклы и курсоры. 8.4. Триггеры. 8.5. Разбор домашнего задания.
Урок 9. Оптимизация запросов
9.1. Типы таблиц. 9.2. Подробнее об индексах. 9.3. Оптимизация запросов. 9.4. Разбор домашнего задания.
Урок 10. NoSQL
10.1. NoSQL-базы данных. 10.2. Key-Value хранилища Redis. 10.3. Документ ориентированная СУБД MongoDB. 10.4. СУБД Полнотекстового поиска ElasticSearch. 10.5. Колоночная СУБД ClickHouse. 10.6. Разбор домашнего задания.
Стажировка в GeekBrains. 2 месяца.
В формате вебинаров
Во время стажировки студентам предстоит поработать в режиме удаленной занятости над Open Source-проектом либо стартапом. Студентам будет предложено выбрать один из набора доступных для разработки проектов. Студенты научатся работать в команде, коммуницировать с другими разработчиками, product- и project-менеджерами, дизайнерами, изучат гибкие методологии, фреймворк SCRUM, освоят принципы дистанционной работы. Результат стажировки — умение работать в команде, пополнение портфолио, возможность указать работу над проектом в качестве профильного опыта работы в резюме. Стажировка проходит в формате дистанционной работы с частичной занятостью, еженедельными встречами-статусами с преподавателем в формате вебинара.
Урок 1. Знакомство, выбор проекта
Какие роли бывают в разработке. Product Manager, Project Manager, разработчик, дизайнер. Что такое MVP. Архитектура современного сервиса. Как разработчики взаимодействуют между собой. REST API, Web Socket. Backend, Frontend, мобильные приложения. Микросервисная архитектура. Основы удаленной работы. Запись в команды.
Урок 2. Методологии разработки
Обзор методологий. Каскад (водопад), Agile-манифест, Канбан, Скрам. Где и для чего применяются. Смешанные методологии.
Урок 3. Методология SCRUM
Работа по SCRUM. Планирование спринта. Причесывание бэклога (backlog grooming). Цель спринта. Инкремент. Гибкая методология в условиях дистанционной работы. Таск-трекеры (Trello, Favro)/
Урок 4. User Story Mapping
Типы задач. Декомпозиция задач. Построение карты пользовательских историй. Работа над пользовательскими историями. Работа с ТЗ по водопаду и в гибких методологиях.
Урок 5. Ответственность, мотивация, личностный рост
Чем и как мотивировать себя. Какие уровни мотивации бывают. Как не сгореть на работе. И как не забить на работу.
Урок 6. Написание резюме
Как написать резюме, чтобы HR его не отсеял. Как заинтересовать работодателя. Как продемонстрировать навыки, полученные в учебе, если профильного опыта работы пока еще нет.
Урок 7. Предварительное подведение итогов, подготовка к защите проекта
Разбор студенческих резюме. Предварительное подведение итогов. Немного о стартапах, монетизации, инвесторах.
Урок 8. Подведение итогов, демонстрация выпускного проекта
Демонстрация рабочего прототипа студентами. Обсуждение полученных результатов. Обратная связь от преподавателя. Напутствие.