Android-разработчик от Яндекс Практикум

    Яндекс Практикум
    Стоимость курса
    168 000 Р
    Рассрочка
    от 8 642 Р в месяц
    Длительность
    12 месяцев
    Сертификат
    Да
    Начало курса
    В любой момент
    Трудоустройство
    Содействие

    Кому подойдет

    • Для тех, кто хочет освоить профессию Android-разработчик

    Чему Вы научитесь

    • Писать код на Java и Kotlin
    • Работать в реальной среде разработки Android Studio
    • Использовать библиотеки Room, Retrofit, RxJava, Koin, Glide, LiveData
    • Разбираться в асинхронных задачах при помощи Kotlin Coroutines
    • Создавать мобильные приложения по требованиям заказчика
    • Включаться в производство приложения на любом этапе
    • Работать в команде с помощью системы контроля версий кода Git
    • Находить и исправлять ошибки в своём и чужом коде
    • Выбирать подходящие технологии при работе над проектом

    Программа обучения

    Знакомство с IDE и Java

    Особенности Android-разработки

    Что делают Android-разработчики, главные языки и инструменты

    IDE, эмулятор и запуск проекта

    Что такое IDE, установка и настройка, запуск и гайд по проекту

    Основы Java: работа с переменными

    Переменные в Java, объявление переменных, типы данных в Java, операции с примитивными типами

    Основы Java: работа со строками

    Ссылочные типы данных, строковые переменные, конкатенация и строковые шаблоны

    Основы Java: методы и функции

    Что такое методы, как объявлять и вызывать метод, как возвращать значение из метода, особенности оператора return, параметры, аргументы и сигнатура методов, метод main

    Введение в Java

    История Java

    Появление Java в мобильной разработке, что входит в инфраструктуру Java, как связаны Android и Java

    Работа со строками

    Ссылочные типы данных, строковые переменные, конкатенация и строковые шаблоны

    Операторы сравнения

    Условия, операторы сравнения, операторы if и switch

    Булева алгебра

    В каких случаях понадобятся сложные выражения, типы логических выражений, логические союзы

    Циклы

    Цикл for, основы, движение в обратном направлении и изменение шага, цикл while, бесконечный цикл, вложенные циклы

    Методы

    Вспомните методы, напишете свой калькулятор, научитесь декомпозировать задачи

    Классы и объекты

    Что такое объекты, зачем нужны классы, попрактикуетесь с объектами, изучите конструкторы, области видимости и ключевое слово this, механизм сборки «мусора»

    Git для самых маленьких

    Узнаете про контроль версий, GitHub, commit и fork, как скачать репозиторий, создавать ветки и работать в Git командой, создадите первый Pull Request

    Запуск кода

    Как запустить код на эмуляторе и реальном устройстве, какие ошибки возможны при запуске

    Проектная работа на Java

    Массивы, списки, итераторы

    Как работать с массивами, для чего нужна структура данных ArrayList, что делает ассоциативный массив Map, в чём идея множества Set, роль инструмента Iterator и цикла forEach.

    Модификаторы доступа

    Что такое модификаторы доступа, зачем они нужны, модификатор Static, как его применять к другим методам.

    Наследование и переопределение

    Погрузитесь в объектно-ориентированное программирование (ООП). Узнаете, для чего нужны наследования и конструкторы, что такое полиморфизм, ключевые слова final и abstract, объект и object.

    Интерфейсы

    Узнаете, что такое интерфейсы и какие проблемы они решают.

    Анонимные классы и лямбда-выражения

    Иерархия вложенных классов, создание анонимных классов, лямбда-выражения.

    Дженерики

    Синтаксический сахар, создание и наследование дженерик-классов, дженерик-методы и конструкторы, ограничения и wildcard.

    Введение в Kotlin

    История Kotlin

    От Java к Kotlin, для чего создавали Kotlin и чем интересен его код

    Переменные в Kotlin

    Типы данных и переменные, приведение типов, операции с простыми типами

    Операторы if и when

    Операторы в Kotlin, условные операторы в Java и Kotlin (if и when)

    Циклы

    Циклы for и while в Kotlin, чем они отличаются от циклов Java

    Классы

    Классы и методы в Kotlin, их свойства, блок init, дефолтные и именованные параметры, как использовать nullable-типы, паттерн Singleton и объявление объекта, анонимные и enum-классы

    Проектная работа на Kotlin

    Наследование и переопределение

    Наследование и система типов в Kotlin, изолированные классы и интерфейсы

    Массивы, списки, итераторы

    Массивы и коллекции в Kotlin, функции kotlin.collections

    Top-level функции

    Функции высшего порядка, расширения и мульти-декларации

    Продвинутая IDE

    Android Debug Bridge или ADB, Android Debugger, логирование

    Продвинутый Git и Gitignore

    Командная строка, устройство хранилища Git, создание коммита в Git, манипулирование коммитами и роль gitignore-файла, удалённый репозиторий Git

    Введение в UI и хранение данных

    Вёрстка экранов

    Познакомитесь с инструментом вёрстки Figma и языком разметки XML. Сверстаете первый экран. Изучите структуру и синтаксис ресурсных файлов.

    ImageView

    Изображения в приложениях, величина DPI: от чего она зависит и как влияет на качество картинок на экране, типы масштабирования.

    Навигация

    Навигация приложения, компонент Activity для взаимодействия пользователя с приложением, жизненный цикл Activity lifecycle, роль и типы класса Intent.

    Стили и темы

    Что такое стили и для чего нужны, синтаксис стилей, эффективное использования стилей, сторонние шрифты, чем тема отличается от стиля, как она устроена и как её настроить.

    Context и Intent

    Место Context в Android-разработке, типы Context при создании приложения. Узнаете, как пользоваться API Context, Intent Filters и передавать данные с помощью Intent.

    EditText и TextWatcher

    EditText в тестовом приложении Prime number, методы и атрибуты EditText, инструменты Android SDK для работы с вводимым текстом, в чём помогает TextWatcher.

    Хранение данных: начало

    Данные в жизни приложения и их хранение на практике.

    Продвинутый UI: списки и библиотеки

    RecyclerView

    Что такое класс RecyclerView, как его создать, без каких вспомогательных классов не работает RecyclerView, LayoutManager и его базовые типы

    ViewHolder

    Что такое класс ViewHolder, почему он появился, когда и зачем использовать его основные методы

    Adapter

    Adapter как целое и часть RecyclerView, собираем RecyclerView, особенности работы с Adapter

    Введение в библиотеки

    Что такое библиотеки и для чего они нужны, подключение библиотек к проекту, библиотека Glide, загрузка изображений из интернета в ImageView

    Сеть

    Введение в сеть

    Выход в сеть, кто разрабатывает сервер и как он работает, REST API

    HTTP

    Путь данных от клиента на сервер, их трансформация, типы запросов, формат данных и сетевые ошибки, TCP/IP, HTTP, URI, JSON

    Retrofit

    Популярные аннотации в библиотеках Android и их возможности, библиотеки Gson и Retrofit

    Работа с API на практике

    API и ошибки, авторизация запросов, практика с API крупного сервиса IMDb

    Хранение данных

    Shared Preferences

    Что такое Shared Preferences, что нельзя там хранить и как обезопасить данные

    Храним данные

    Сохранение объектов, шаблон Observer, подписка на изменения, Jetpack и DataStore

    Продвинутый UI: компоненты вёрстки

    RelativeLayout

    Влияние LinearLayout на вложенность, проблема вложенных весов. Атрибуты RelativeLayout: центрирование, относительного расположение, выравнивание относительно родительского контейнера, относительное выравнивание. Комбинирование атрибутов, работа с атрибутами в коде.

    ConstraintLayout

    Возможные проблемы у RelativeLayout и ConstraintLayout как их решение.

    Многопоточность

    Введение в многопоточность

    Работа кода программы, создание новых потоков, синхронизация, жизненный цикл потоков

    Многопоточность в Android

    Главный поток, его классы и циклы, как менять UI не из главного потока

    Улучшаем Playlist Maker

    Логика debounce и его реализация с использованием Handler, новый View-элемент ProgressBar, инструмент MediaPlayer

    Архитектура

    Clean Architecture

    Понятие «чистой архитектуры» и её применение в Android.

    Шаблон MVP

    Сделаете рефакторинг кода, поменяете MVC на MVP. Узнаете, что такое MVP с единым State, какие бывают проблемы MVP и что из себя представляет библиотека Moxy.

    Шаблон MVVM

    Особенности шаблона MVVM, создание ViewModel, класс LiveData, разметка с ViewBinding.

    Подготовка проекта к рефакторингу

    Осуществите переход с MVP на MVVM и разработаете добавление отдельного фильма в избранное.

    Внедрение зависимостей

    Теория внедрения зависимостей (Dependency Injection, DI), практика с DI.

    Инструменты DI

    DI-фреймворки в Android: статические и динамические, базовые элементы фреймворков Dagger и Koin.

    Продвинутый UI: фрагменты

    Введение во фрагменты

    Навигация и Activity, управление Back Stack, фрагменты

    Создание фрагментов

    Жизненный цикл, создание и переключение Fragment

    Особенности работы с фрагментами

    Менеджер фрагментов, передача данных между фрагментами, сохранение состояния, ViewPager2

    TabLayout и практика

    Реализация вкладок с использованием TabLayout и его настройки

    Продвинутая навигация на Fragment

    Single Activity и кастомный навигатор

    Изучите подходы к обработке навигации, особенности работы с библиотеками навигации — существующими и своими. Создадите экран списка актёрского состава, сделаете рефакторинг на подход Single Activity.

    Jetpack Navigation Component

    Познакомитесь с Jetpack Navigation Component и другими инструментами для навигации. Изучите граф переходов — Navigation Graph и компонент NavController для переходов между экранами. Внедрите Jetpack Navigation Component в приложение.

    BottomNavigationView

    Изучите паттерны навигации, добавите на экран и настроите BottomNavigationView. Научитесь использовать его в связке с Jetpack Navigation Component.

    Продвинутая многопоточность и сложный UI

    Реактивное программирование

    Императивное, декларативное и асинхронное программирование, реакция и реактивность

    RxJava

    Библиотека для реактивного программирования, типы Observable, операторы RxJava, многопоточность с RxJava, Rx-цепочки и ошибки

    Корутины

    Корутины против классических потоков, как запускать корутины, механизм работы suspend-функций

    Корутины на практике

    Преимущества корутин, debounce и асинхронные задачи, сетевые запросы и Flow

    Продвинутая работа с сетью и хранением данных

    Базы данных

    Хранение данных, типы баз данных и система для их управления, база данных для приложений под Android

    SQL

    Реляционные базы данных, основы языка запросов SQL, основы работы с базой данных SQLite на Android

    Room

    Изучите, чем Room удобнее классического SQLite, ORM и похожих библиотек

    Permissions

    Запрос permissions во время работы приложения, типы permissions, Runtime Permissions, библиотеки для разрешений

    Доступ к файлам

    Разберётесь, где хранятся файлы в Android, как запросить разрешение для доступа к чтению и записи файлов, как сохранить файлы на устройстве

    Диалоги и всплывающие окна

    Диалоги, BottomSheet, GridLayoutManager, Drawable в сочетании с View-элементами

    Финал Playlist Maker

    Иконка приложения

    Роль иконок приложений, подходы к их созданию и применению, создание иконки в Asset Studio в несколько кликов

    Будущие задачи

    Научитесь делать релиз приложения в Google Play, настраивать инструменты для сбора аналитики, тестировать приложение, напишете первый unit-тест

    Продуктовая и командная разработка

    Жизненный цикл продукта

    Изучите все этапы продуктового цикла: сбор требований, дизайн, разработку, тестирование, релиз продукта и оценку результатов.

    Методология

    Познакомитесь с методологиями Waterfall и Agile. Поймёте, как оценивать задачи и формировать спринт.

    Git для гигантов

    Методологии работы с Git, исследование истории изменений, merge‑конфликты, работа с Git в итоговом проекте.

    Зачем нужно код‑ревью

    Узнаете, что такое код-ревью и для чего он нужен, Code Style. Поймёте, как делать код-ревью правильно и создавать удобный для ревью код.

    Итоговый проект «Агрегатор вакансий»

    В команде с однокурсниками сделаете приложение для поиска и сортировки вакансий. В нём пользователи смогут найти интересные предложения от работодателей, сохранить вакансии в избранное или поделиться ими с другими.

    Трудоустройство

    Эта часть курса для тех, кто решил найти работу в сфере Android-разработки. Вы изучите стратегии поиска работы, узнаете, как выбрать работодателя, подготовите портфолио, напишете резюме и сопроводительное письмо.

    Акселерация

    Вы начнёте искать работу, а мы будем консультировать и помогать. Участвовать в программе могут те, кто закончил программу трудоустройства и активно ищет работу. Основной формат участия — индивидуальные консультации и публичные собеседования.

    Отзывы о школе 7

    4.3 из 5
    5
    0
    1
    1
    0
    Сортировать:
    Дате публикации
    • Дата публикации
    • Популярности
    • Сначала положительные
    • Сначала отрицательные
    • Константин 12 октября 2023

      Мои полгода обучения в Яндекс Практикуме оказались весьма впечатляющими, прежде всего благодаря высокому качеству программы и ее тщательной проработке. Важно отметить, тренажер, который предоставляют на курсе. Он обладает хорошо структурированным сценарием и высоким уровнем геймификации, что значительно облегчает освоение информации. Здесь мы не просто пересказываем теорию, а погружаемся в ситуации, анализируем поведение виртуальных коллег, разбираем проблемы и находим решения. Одним из замечательных аспектов программы является ее обширное покрытие всех необходимых тем и вопросов, которые студент должен овладеть. Кроме того, наставники акцентируют внимание на практических заданиях, проводимых онлайн в ходе еженедельных воркшопов и вебинаров, что способствует развитию реальных навыков. Особой чертой данного курса и комьюнити его студентов является возможность работать в команде. Во время обучения мы не просто учимся, но и находим новых друзей, создавая тесные связи с однокурсниками. Еще одной фантастической особенностью обучения является карьерный модуль в конце курса. Здесь нам не только рассказывают о том, как написать эффективное резюме и куда его отправлять, но и предоставляют возможность практического сотрудничества с опытными специалистами, которые помогают улучшить наше резюме, подготовиться к собеседованиям и многое другое. Они обеспечивают реальную поддержку и помощь при поиске работы и продвижении по карьерной лестнице. Я действительно поражен высоким качеством обучения в Яндекс Практикуме и всеми преимуществами, которые он предлагает. Этот курс является превосходным выбором для тех, кто стремится получить качественное и практическое образование в области, связанной с программированием и разработкой.

      Был ли отзыв полезен?
    • Анатолий 8 августа 2023

      Приветствую всех! Недавно приобрел курс "Аналитик данных" от Яндекс Практикума, и пока ни капли сожаления не испытывал. Выбор пал на данную платформу по следующим основаниям: 1. Отсутствие навязчивой рекламы со стороны блогеров на YouTube 2. Знакомые стартаперы, которые уже прошли другие программы Практикума и остались очень удовлетворены результатами 3. Отсутствие причин усомниться в надежности такой компании как Яндекс Курс организован по модулям, каждый из которых длится две недели. Предоставляется достаточно теоретических материалов, но и практической составляющей еще больше. Хотелось бы отметить профессионализм команды разработчиков курса и их умение доступно разъяснять сложные вопросы (к примеру, теорию вероятностей). Все объяснения идут через примеры, что позволяет гармонично совмещать теорию с практикой. Безусловно, стоит отметить работу специалистов команды Практикума (наставников, кураторов, рецензентов проектов). Все участники высококвалифицированы, крайне вежливы и терпеливы. Лично для меня, будучи человеком без каких-либо технических знаний, порой сталкиваюсь со сложностями, однако стремление освоить новую профессию преобладает, а к тому же команда Яндекса поддерживает в нужный момент. В итоге, моя оценка – 10 из 10.

      Был ли отзыв полезен?
    • Евгения 3 июня 2023

      Решила пройти здесь бесплатные курсы по Backend разработке. Все настолько поверхностно, что даже не описать. Маленькие окошечки с заданиями, которые приходится каждый раз увеличивать, а это неудобно. Выходит, что даже функционал толком не доработан. Все темы из теории очень поверхностны. Ни слова про рекурсию и переменные, а это основа основ. Практики на курсах нет, хоть вам обещают обратное. А ведь это основная задача, только практикой можно закрепить материал. Как можно научиться кодить и запоминать сантаксис? Задачи можно решать разными способами, но если вы напишите решение не так, как забито в компьютере, то результат зачтут как неправильный. Если задачу вы не решите, то к следующему блоку тем вас просто не допустят. Продукт крайне сырой и даже для новичка бесплатный курс это просто трата времени. Разработчики ценятся за знания, в том числе и математические, на курсах Яндекса эти знания вам никто не даст. Не советую трать время.

      Был ли отзыв полезен?
    Посмотреть все отзывы о Яндекс Практикум