Содержание курса
Введение
2 урока
1.
Что такое программирование?
↗
2.
Зачем нужны языки программирования?
↗
Базовый синтаксис
18 уроков
1.
Скачиваем среду разработки
↗
2.
Первая программа
↗
3.
Чтение из консоли. Переменные
↗
4.
Спецсимволы и шаблоны
↗
5.
Целочисленный тип Int
↗
6.
Целочисленное деление
↗
7.
Условный оператор
↗
8.
Условный оператор. Часть 2. Комбинирование
↗
9.
Изменяемые переменные
↗
10.
Дробные числа
↗
11.
Введение в коллекции
↗
12.
Циклы Repeat и While
↗
13.
Цикл for и свойство size
↗
14.
Диапазоны Ranges
↗
15.
Целочисленные типы Long Short Byte
↗
16.
If and when are expressions
↗
17.
Символьный тип данных
↗
18.
Do while и split
↗
Объектно-ориентированное программирование
24 урока
1.
Введение в ООП
↗
2.
Создание класса и объекта
↗
3.
Введение в функции
↗
4.
Функции с параметрами
↗
5.
Ключевое слово this и именованные параметры
↗
6.
Введение в конструкторы
↗
7.
Перегрузка конструкторов
↗
8.
Первичный конструктор
↗
9.
Возвращаемый тип функций
↗
10.
Введение в наследование
↗
11.
Upcast, Downcast, Smartcast
↗
12.
Введение в полиморфизм
↗
13.
Практика создание бухгалтера. Метод super
↗
14.
Enum
↗
15.
Работа с файлами и мутабельными коллекциями
↗
16.
Ручная сериализация и десериализация
↗
17.
Удаление элементов из списка
↗
18.
Рефакторинг
↗
19.
Контрольная работа
↗
20.
Инкапсуляция и модификаторы доступа
↗
21.
Абстрактные классы
↗
22.
Интерфейсы
↗
23.
Класс Any и метод toString
↗
24.
Обзор ООП
↗
Погружаемся в Kotlin
15 уроков
1.
Геттеры и сеттеры. Часть 1
↗
2.
Геттеры и сеттеры. Часть 2
↗
3.
Single Responsibility Principle
↗
4.
Рефакторинг и StringBuilder
↗
5.
Singleton Object
↗
6.
Backing Field
↗
7.
Метод copy
↗
8.
Метод equals
↗
9.
Метод hashcode. Коллекции Set
↗
10.
Data Classes
↗
11.
Дополнение по методу copy
↗
12.
Nullable Types
↗
13.
Elvis и Unit
↗
14.
Try catch
↗
15.
Nothing
↗
Функциональное программирование
15 уроков
1.
Kotlin Serialization
↗
2.
Получение тестовых данных
↗
3.
Чистые функции
↗
4.
Анонимные классы
↗
5.
Лямбда выражения
↗
6.
Введение в Generics
↗
7.
Extension functions
↗
8.
Inline functions
↗
9.
Примеры функций высшего порядка
↗
10.
Функция Let
↗
11.
Функция Also
↗
12.
Коллекции Map
↗
13.
Map для улучшения производительности
↗
14.
Функции With и Apply
↗
15.
Функция Run и Method reference
↗
Паттерны проектирования
14 уроков
1.
Основы многопоточности
↗
2.
Singleton. Companion. Init.
↗
3.
Singleton. Способы реализации
↗
4.
Singleton. Синхронизация
↗
5.
Создание GUI
↗
6.
Observer. Введение
↗
7.
Observer. Зависимость от абстракций
↗
8.
Observer. Функциональный интерфейс
↗
9.
Observer. Интерфейс Observable
↗
10.
Observer. MutableObservable
↗
11.
Observer. Backing field и итоги
↗
12.
Command и BlockingQueue
↗
13.
Sealed Interface
↗
14.
Builder
↗
Устройство коллекций
24 урока
1.
Junit часть 1
↗
2.
Junit часть 2. Parameterized Test
↗
3.
Массивы
↗
4.
ArrayList. Часть 1
↗
5.
ArrayList. Часть 2
↗
6.
ArrayList. Часть 3. Константы и операторы
↗
7.
Алгоритмическая сложность
↗
8.
Тестирование исключений. System.arraycopy
↗
9.
LinkedList. Принцип работы
↗
10.
LinkedList. Реализация
↗
11.
LinkedList. Двусвязный список
↗
12.
HashSet. Принцип работы
↗
13.
HashSet. Реализация. Часть 1
↗
14.
HashSet. Реализация. Часть 2
↗
15.
HashSet. Вопросы на собеседовании
↗
16.
Параметризируем коллекции
↗
17.
Collections и Iterable
↗
18.
MutableIterable
↗
19.
Реализации Set
↗
20.
Устройство TreeSet
↗
21.
Неизменяемые коллекции
↗
22.
Коллекции Map
↗
23.
Использование Map внутри Set
↗
24.
Собеседование по теме коллекции
↗
Асинхронность и многопоточность
38 уроков
1.
Создание GUI
↗
2.
Добавление логики и метод String.format
↗
3.
Механизм callback
↗
4.
Suspend функции
↗
5.
Корутины под капотом
↗
6.
Executor Services
↗
7.
Structured Concurrency. Часть 1
↗
8.
Dispatchers Default и Unconfined
↗
9.
Dispatchers IO и Main
↗
10.
Job и параллельность
↗
11.
Async и Deferred
↗
12.
Jobs Hierarchy
↗
13.
Исключения. Часть 1
↗
14.
Исключения. Часть 2. Async
↗
15.
Отмена корутин
↗
16.
Suspend Coroutine
↗
17.
SupervisorJob
↗
18.
Что такое потоки данных
↗
19.
Способы создания Sequence
↗
20.
Начало работы с Flow
↗
21.
Знакомство с API
↗
22.
Загрузка данных из сети
↗
23.
Создание GUI и работа с Regex
↗
24.
Реактивный стиль
↗
25.
Channels и Debounce
↗
26.
Холодные потоки данных
↗
27.
Горячие потоки данных
↗
28.
ShareIn
↗
29.
Buffer и Backpressure
↗
30.
Screen state as Flow
↗
31.
MutableStateFlow
↗
32.
SharedFlow vs StateFlow
↗
33.
Exceptions in Flow
↗
34.
Практика работы с исключениями
↗
35.
Оператор FlowOn
↗
36.
Наследование CoroutineScope
↗
37.
Синхронизация корутин
↗
38.
Channels
↗
Kotlin в деталях
18 уроков
1.
Инвариантность и Ковариантность
↗
2.
Контрвариантность
↗
3.
Стирание типов
↗
4.
Reified и Star Projection
↗
5.
Inline и Non local return
↗
6.
Crossinline и noinline
↗
7.
Value classes
↗
8.
Делегирование свойств
↗
9.
Делегирование реализации интерфейсов
↗
10.
Inner и Nested классы
↗
11.
Destructuring declaration and Infix
↗
12.
Устройство памяти в Kotlin
↗
13.
Как работают программы на Java и Kotlin
↗
14.
Модификатор Internal
↗
15.
Собеседование
↗
16.
Тест Kotlin основы
↗
17.
Тест Kotlin Prof
↗
18.
Финал
↗