KOTLIN DEVELOPER. BASIC

Курс реализуется совместно с Отус онлайн-образование

Условия
: К освоению дополнительных профессиональных программ допускаются: лица, имеющие среднее профессиональное и (или) высшее образование; лица, получающие среднее профессиональное и (или) высшее образование
Выдаваемый документ: Cертификат об окончании курса и удостоверение о повышении квалификации
  • Продолжительность курса
    138 ак. часов. Режим занятий: 2 занятия в неделю длительностью 2 ак.часа.
  • Формат проведения
    Заочная с применением электронного обучения и дистанционных образовательных технологий.
  • Стоимость обучения
    50 000 руб. за 1-го слушателя
  • Даты проведения
    по запросу
Результат:
В результате освоения программы «Kotlin Developer. Basic» слушатель должен приобрести следующие знания и умения, необходимые для качественного изменения компетенций.
Слушатель должен:
  • о курсе: цели, кем станете по окончании, как будем заниматься, о домашних заданиях;
о Kotlin: общие сведения о языке, обзор функциональности Kotlin, экосистемы, место место на рынке языков, его применимость и ограничения, конкурентные преимущества и недостатки, критерии выбора для конкретных проектов;
инициализация программы на Kotlin, создание проекта с Gradle и Kotlin, первая программа и автотест.

  • узнать стек технологий для полноценной работы;
понять, что такое Git и научиться базовым действиям с ним;
создать первый проект на Kotlin;
установить и поработать с IDE.

  • типы данных, используемых в Kotlin;
арифметические и другие операторы;
создание переменных;
управление инициализацией переменных;
понимать, что такое nullability, зачем оно нужно и как применяется;
управление потоком исполнения с помощью циклов и условий;
ввод и вывод с консоли.

  • узнать все условные структуры;
знать разницу между if-when;
уметь применять структуры в практике;
правильное использование for и while;
знать разницу между for и while;
научиться применять структуры на практике.

  • научиться использовать функции и "разбивать" код на блоки;
узнать, что такое ветвление кода;
управление рекурсиями;
понимание функции как объекта.

  • научиться создавать строки и управлять ими;
знать, как строки хранятся в памяти;
использовать enum;
понимать, что такое массив и как он устроен;
понимание листов (list) и чем они отличаются от массива.

  • детальное изучение массивов;
знать различия массивов и списков данных;
понимание устройства двумерного массива;
изучить общее представление о многомерных массивах.

  • ответить на оставшиеся вопросы;
упорядочить знания предыдущих занятий;
посмотреть на примеры решения задач;
получить обратную связь.

  • рассмотреть понятие класса и объекта в языке Kotlin;
научиться создавать и использовать классы и объекты;
научиться добавлять методы и переменные в классы.

  • Рассмотреть понятия:
наследование:
1) изучить родительские и дочерние классы;
2) instanceof;
полиморфизм;
инкапсуляция:
1) правильное использование видимости методов.

  • понять отличия интерфейсов от абстрактных классов;
более детально изучить понятие наследования;
рассмотреть использование интерфейсов и абстрактных классов.

  • понять отличия анонимных и внутренних классов;
узнать все виды внутренних классов;
применимость их в реальном мире.

  • рассмотреть существующие архитектуры классов;
научиться ловить и обрабатывать ошибки;
повторить понятие функции как объекта.

  • ответить на оставшиеся вопросы;
упорядочить знания предыдущих занятий;
посмотреть на примеры решения задач;
получить обратную связь.

  • более детальное изучение lambda-функций;
научиться создавать extension-функции;
узнать о базовых scope-функциях;
понимать, что такое DSL и его примеры.

  • научиться читать, проектировать и создавать DSL;
реализовать свой гибкий DSL.

  • ознакомиться с методами тестирования и подходом TDD;
затронуть некоторые интересные keywords в Kotlin.

  • ответить на оставшиеся вопросы;
упорядочить знания предыдущих занятий;
посмотреть на примеры решения задач;
получить обратную связь.

  • изучить различные структуры данных и их отличия;
понимать различия в операциях над ними, таких как: добавление, удаление и т. д.
научиться быстро определять необходимую структуру данных для каждой задачи;
использовать и понимать generics.

  • познакомиться с главной концепцией hash-функции;
научиться различать и понимать смысл ассоциативных массивов и таких понятий как "ключ" и "значение";
уметь использовать сложные и вложенные мапы;
использовать структуру JSON.

  • научиться применять и анализировать сортировки, понимать разницу и их сложность;
рассмотреть реализации различных сортировок;
быть готовым рассказать реализацию одного из популярных алгоритмов или написать его с нуля.

  • понимать устройство корутин и принципы из работы;
создавать код с асинхронным выполнением;
запускать корутины в нескольких потоках;
тестировать асинхронный код.

  • создавать проекты с Gradle
пользоваться инфраструктурой Gradle, включая таски, конфигурации и пр.
генерировать "толстые" jar-файлы и запускать их
генерировать Docker-образы

  • Ознакомиться с основами сетевых технологий и TCP/IP.
  • Ознакомится с основными понятиями Web-разработки.

  • Научится:
- создавать web-приложения на Ktor;
- формировать контроллеры и эндпоинты;
- обрабатывать REST-запросы;
- тестировать Ktor-приложения.

  • понимать, что такое REST API, зачем его используют;
отличать методы, принципы и т. д.;
понимать, что такое POST-запрос и чем он отличается от GET;
создание своего несложного REST API на Ktor.

  • понимать, какие бывают способы авторизации и как их настроить;
какие бывают виды ошибок и как их обрабатывать;
научиться тестировать сервер и применять TDD в реальной жизни.

  • знать устройство мультиплатформенного проекта;
самостоятельно создавать проекты для JVM, JS, Native;
тестировать мультиплатформенный код.

  • написание клиент-части на сервере Ktor;
создание интерактивного сервера/клиента.

  • ответить на оставшиеся вопросы;
упорядочить знания предыдущих занятий;
посмотреть на примеры решения задач;
получить обратную связь.

  • выбрать тему выпускного проекта;
обсудить порядок сдачи выпускного проекта;
задать вопросы по пройденному курсу.

  • продемонстрировать результаты выполнения выпускной работы.
СТРУКТУРА:
Введите ваши данные
для регистрации
По вопросам корпоративного обучения:
training@rt-academy.ru
+7 (495) 120 23 80