Содержание курса
1. @Deprecated Введение
2 урока
4 257
4 257
7м
124
Закрытый
1.1
Введение
↗
1 080
1 080
2м 42с
59
Открытый
1.2
Первая программа на Kotlin
↗
3 177
3 177
5м 9с
65
2. @Deprecated Основной синтаксис
9 уроков
7 457
7 457
92м
456
Закрытый
2.1
Переменные
↗
973
973
4м 23с
48
Закрытый
2.2
Nullable types (нулабельные типы)
↗
932
932
12м 52с
55
Закрытый
2.3
Условный оператор if
↗
871
871
12м 6с
54
Закрытый
2.4
Условный оператор when
↗
857
857
13м 25с
58
Закрытый
2.5
Введение в коллекции
↗
826
826
10м 44с
53
Закрытый
2.6
Циклы
↗
795
795
14м 39с
46
Закрытый
2.7
Введение в функции
↗
766
766
14м 8с
44
Закрытый
2.8
Дефолтные и именованные параметры
↗
721
721
8м 59с
43
Закрытый
2.9
Исключения
↗
716
716
5м 59с
55
3. @Deprecated Функциональное программирование
9 уроков
5 859
5 859
114м
483
Закрытый
3.1
Анонимные методы или лямбда-выражения
↗
737
737
13м 46с
57
Закрытый
3.2
Функции высшего порядка filter и map
↗
687
687
14м 3с
59
Закрытый
3.3
Бесконечные последовательности
↗
665
665
11м 44с
47
Закрытый
3.4
Функция ZIP
↗
653
653
9м 8с
42
Закрытый
3.5
Функция FlatMap
↗
639
639
16м 58с
60
Закрытый
3.6
Контрольная работа по коллекциям
↗
627
627
12м 24с
51
Закрытый
3.7
Функции with и let
↗
629
629
13м 48с
41
Закрытый
3.8
Создание функций высшего порядка
↗
607
607
7м 20с
39
Закрытый
3.9
Extension-функции
↗
615
615
19м 48с
87
4. @Deprecated ООП
16 уроков
8 804
8 718
157м
708
Закрытый
4.1
Введение в ООП
↗
630
630
12м 31с
47
Закрытый
4.2
Конструкторы
↗
612
612
9м 36с
52
Закрытый
4.3
Методы
↗
585
585
11м 26с
39
Закрытый
4.4
Equals
↗
577
577
9м 55с
34
Закрытый
4.5
HashCode
↗
562
562
8м 19с
39
Закрытый
4.6
Data class
↗
574
488
14м 57с
60
Закрытый
4.7
Enum-class
↗
549
549
8м 15с
41
Закрытый
4.8
Наследование
↗
546
546
9м 21с
45
Закрытый
4.9
Абстрактные классы, интерфейсы и Smart Cast
↗
545
545
11м 9с
49
Закрытый
4.10
Анонимные классы
↗
532
532
14м 44с
44
Закрытый
4.11
Оптимизируем код
↗
512
512
4м 49с
35
Закрытый
4.12
Модификаторы доступа
↗
514
514
3м 4с
44
Закрытый
4.13
Companion Object
↗
523
523
12м 21с
43
Закрытый
4.14
SingleTon
↗
523
523
11м 37с
52
Закрытый
4.15
Generic
↗
516
516
14м 5с
37
Закрытый
4.16
Generic functions. Lateinit var
↗
504
504
8м 11с
47
5. @Deprecated Использование Kotlin в Android-разработке
13 уроков
5 128
5 128
167м
326
Закрытый
5.1
Первое приложение на Kotlin
↗
605
605
12м 5с
35
Закрытый
5.2
Обзор второго приложения на Kotlin
↗
470
470
2м 27с
26
Закрытый
5.3
Добавляем зависимости для приложения
↗
432
432
9м 10с
23
Закрытый
5.4
Добавляем POJO объекты
↗
406
406
20м 11с
33
Закрытый
5.5
Получаем данные из сети
↗
386
386
17м 57с
29
Закрытый
5.6
Создание локального хранилища
↗
359
359
15м 51с
25
Закрытый
5.7
Добавляем и настраиваем ViewModel
↗
354
354
26м 13с
30
Закрытый
5.8
Дорабатываем ViewModel
↗
335
335
12м 29с
32
Закрытый
5.9
Создаем первые макеты
↗
340
340
15м 10с
18
Закрытый
5.10
Адаптер и первый экран
↗
339
339
22м 54с
20
Закрытый
5.11
Ссылка на готовый проект
↗
381
381
0м 3с
7
Закрытый
5.12
Итоги
↗
372
372
1м 25с
25
Закрытый
5.13
Экран с детальной информацией
↗
349
349
14м 36с
23
6. Введение
2 урока
4 963
4 963
9м
176
Открытый
6.1
Что такое программирование?
↗
2 328
2 328
4м 57с
92
Открытый
6.2
Зачем нужны языки программирования?
↗
2 635
2 635
5м 28с
84
7. Базовый синтаксис
18 уроков
24 716
19 715
414м
1440
Закрытый
7.1
Скачиваем среду разработки
↗
1 626
1 626
5м 18с
82
Закрытый
7.2
Первая программа
↗
1 619
1 337
18м 7с
102
Открытый
7.3
Чтение из консоли. Переменные
↗
2 532
1 303
23м 54с
102
Закрытый
7.4
Спецсимволы и шаблоны
↗
1 483
1 199
22м 45с
87
Закрытый
7.5
Целочисленный тип Int
↗
1 410
1 241
18м 22с
90
Закрытый
7.6
Целочисленное деление
↗
1 371
1 091
33м 34с
85
Закрытый
7.7
Условный оператор
↗
1 345
1 102
33м 31с
86
Закрытый
7.8
Условный оператор. Часть 2. Комбинирование
↗
1 310
1 043
38м 50с
77
Закрытый
7.9
Изменяемые переменные
↗
1 283
1 009
17м 14с
72
Закрытый
7.10
Дробные числа
↗
1 235
1 019
25м 9с
72
Закрытый
7.11
Введение в коллекции
↗
1 260
1 016
21м 12с
71
Закрытый
7.12
Циклы Repeat и While
↗
1 239
993
29м 20с
81
Закрытый
7.13
Цикл for и свойство size
↗
1 192
968
24м 53с
66
Закрытый
7.14
Диапазоны Ranges
↗
1 183
985
14м 30с
71
Закрытый
7.15
Целочисленные типы Long Short Byte
↗
1 152
960
18м 56с
66
Закрытый
7.16
If and when are expressions
↗
1 169
945
35м 17с
71
Закрытый
7.17
Символьный тип данных
↗
1 150
942
24м 4с
80
Закрытый
7.18
Do while и split
↗
1 157
936
17м 46с
79
8. Объектно-ориентированное программирование
24 урока
24 041
19 656
727м
1746
Закрытый
8.1
Введение в ООП
↗
1 208
1 208
7м 33с
69
Закрытый
8.2
Создание класса и объекта
↗
1 188
964
23м 21с
72
Закрытый
8.3
Введение в функции
↗
1 142
945
11м 7с
70
Закрытый
8.4
Функции с параметрами
↗
1 127
907
26м 16с
74
Закрытый
8.5
Ключевое слово this и именованные параметры
↗
1 122
884
37м 59с
75
Закрытый
8.6
Введение в конструкторы
↗
1 117
883
22м 59с
72
Закрытый
8.7
Перегрузка конструкторов
↗
1 099
854
36м 4с
75
Закрытый
8.8
Первичный конструктор
↗
1 079
865
17м 45с
72
Закрытый
8.9
Возвращаемый тип функций
↗
1 053
796
65м 36с
73
Закрытый
8.10
Введение в наследование
↗
1 029
797
42м 11с
82
Закрытый
8.11
Upcast, Downcast, Smartcast
↗
1 036
1 036
12м 53с
89
Закрытый
8.12
Введение в полиморфизм
↗
1 010
777
28м 34с
82
Закрытый
8.13
Практика создание бухгалтера. Метод super
↗
996
996
29м 0с
81
Закрытый
8.14
Enum
↗
998
763
34м 19с
86
Закрытый
8.15
Работа с файлами и мутабельными коллекциями
↗
984
690
63м 19с
77
Закрытый
8.16
Ручная сериализация и десериализация
↗
949
681
32м 6с
68
Закрытый
8.17
Удаление элементов из списка
↗
899
636
47м 34с
65
Закрытый
8.18
Рефакторинг
↗
877
877
11м 41с
50
Закрытый
8.19
Контрольная работа
↗
895
895
28м 41с
67
Закрытый
8.20
Инкапсуляция и модификаторы доступа
↗
872
614
34м 25с
64
Закрытый
8.21
Абстрактные классы
↗
848
601
39м 4с
61
Закрытый
8.22
Интерфейсы
↗
838
583
49м 41с
63
Закрытый
8.23
Класс Any и метод toString
↗
836
565
30м 35с
57
Закрытый
8.24
Обзор ООП
↗
839
839
6м 29с
102
9. Погружаемся в Kotlin
15 уроков
11 421
8 343
475м
911
Закрытый
9.1
Геттеры и сеттеры. Часть 1
↗
874
874
22м 6с
59
Закрытый
9.2
Геттеры и сеттеры. Часть 2
↗
818
558
56м 32с
70
Закрытый
9.3
Single Responsibility Principle
↗
804
560
22м 22с
67
Закрытый
9.4
Рефакторинг и StringBuilder
↗
766
559
28м 57с
64
Закрытый
9.5
Singleton Object
↗
790
556
14м 40с
57
Закрытый
9.6
Backing Field
↗
779
551
22м 50с
63
Закрытый
9.7
Метод copy
↗
760
509
74м 46с
66
Закрытый
9.8
Метод equals
↗
744
506
47м 33с
57
Закрытый
9.9
Метод hashcode. Коллекции Set
↗
732
504
36м 10с
56
Закрытый
9.10
Data Classes
↗
750
506
30м 9с
66
Закрытый
9.11
Дополнение по методу copy
↗
711
711
6м 48с
50
Закрытый
9.12
Nullable Types
↗
724
485
50м 39с
61
Закрытый
9.13
Elvis и Unit
↗
725
496
14м 15с
48
Закрытый
9.14
Try catch
↗
713
488
27м 6с
55
Закрытый
9.15
Nothing
↗
731
480
28м 10с
72
10. Функциональное программирование
15 уроков
10 149
6 785
465м
938
Закрытый
10.1
Kotlin Serialization
↗
773
498
33м 8с
63
Закрытый
10.2
Получение тестовых данных
↗
701
449
43м 55с
57
Закрытый
10.3
Чистые функции
↗
710
710
8м 56с
60
Закрытый
10.4
Анонимные классы
↗
706
463
41м 37с
69
Закрытый
10.5
Лямбда выражения
↗
710
458
49м 37с
83
Закрытый
10.6
Введение в Generics
↗
683
467
26м 31с
60
Закрытый
10.7
Extension functions
↗
672
445
28м 51с
64
Закрытый
10.8
Inline functions
↗
691
417
27м 29с
66
Закрытый
10.9
Примеры функций высшего порядка
↗
658
427
28м 30с
55
Закрытый
10.10
Функция Let
↗
656
432
21м 20с
59
Закрытый
10.11
Функция Also
↗
644
415
33м 13с
62
Закрытый
10.12
Коллекции Map
↗
650
415
45м 7с
58
Закрытый
10.13
Map для улучшения производительности
↗
627
410
15м 44с
47
Закрытый
10.14
Функции With и Apply
↗
641
395
39м 24с
57
Закрытый
10.15
Функция Run и Method reference
↗
627
384
28м 13с
78
11. Паттерны проектирования
14 уроков
7 973
6 305
381м
644
Закрытый
11.1
Основы многопоточности
↗
662
396
31м 56с
50
Закрытый
11.2
Singleton. Companion. Init.
↗
625
389
40м 14с
51
Закрытый
11.3
Singleton. Способы реализации
↗
589
589
15м 45с
40
Закрытый
11.4
Singleton. Синхронизация
↗
594
387
25м 48с
58
Закрытый
11.5
Создание GUI
↗
632
632
17м 3с
49
Закрытый
11.6
Observer. Введение
↗
589
353
47м 52с
50
Закрытый
11.7
Observer. Зависимость от абстракций
↗
551
551
14м 14с
41
Закрытый
11.8
Observer. Функциональный интерфейс
↗
534
534
10м 25с
43
Закрытый
11.9
Observer. Интерфейс Observable
↗
541
541
15м 32с
38
Закрытый
11.10
Observer. MutableObservable
↗
532
300
65м 41с
47
Закрытый
11.11
Observer. Backing field и итоги
↗
510
510
7м 45с
40
Закрытый
11.12
Command и BlockingQueue
↗
527
527
21м 5с
40
Закрытый
11.13
Sealed Interface
↗
535
289
55м 32с
39
Закрытый
11.14
Builder
↗
552
307
20м 12с
58
12. Устройство коллекций
24 урока
10 842
10 689
386м
723
Закрытый
12.1
Junit часть 1
↗
552
552
19м 39с
35
Закрытый
12.2
Junit часть 2. Parameterized Test
↗
499
435
14м 14с
39
Закрытый
12.3
Массивы
↗
501
501
22м 17с
35
Закрытый
12.4
ArrayList. Часть 1
↗
492
492
14м 38с
36
Закрытый
12.5
ArrayList. Часть 2
↗
455
455
16м 1с
35
Закрытый
12.6
ArrayList. Часть 3. Константы и операторы
↗
439
439
14м 42с
37
Закрытый
12.7
Алгоритмическая сложность
↗
457
457
13м 32с
41
Закрытый
12.8
Тестирование исключений. System.arraycopy
↗
433
433
17м 9с
30
Открытый
12.9
LinkedList. Принцип работы
↗
911
911
7м 4с
35
Закрытый
12.10
LinkedList. Реализация
↗
443
443
29м 24с
30
Закрытый
12.11
LinkedList. Двусвязный список
↗
425
425
22м 52с
31
Закрытый
12.12
HashSet. Принцип работы
↗
435
435
9м 25с
30
Закрытый
12.13
HashSet. Реализация. Часть 1
↗
425
425
26м 31с
27
Закрытый
12.14
HashSet. Реализация. Часть 2
↗
409
409
16м 10с
23
Закрытый
12.15
HashSet. Вопросы на собеседовании
↗
412
412
24м 50с
28
Закрытый
12.16
Параметризируем коллекции
↗
401
401
10м 45с
23
Закрытый
12.17
Collections и Iterable
↗
406
406
25м 35с
24
Закрытый
12.18
MutableIterable
↗
386
386
10м 33с
22
Закрытый
12.19
Реализации Set
↗
387
387
11м 51с
25
Закрытый
12.20
Устройство TreeSet
↗
385
385
4м 30с
23
Закрытый
12.21
Неизменяемые коллекции
↗
381
381
14м 25с
23
Закрытый
12.22
Коллекции Map
↗
389
389
24м 38с
27
Закрытый
12.23
Использование Map внутри Set
↗
382
382
14м 38с
23
Закрытый
12.24
Собеседование по теме коллекции
↗
437
348
13м 26с
41
13. Асинхронность и многопоточность
38 уроков
15 197
15 197
477м
1208
Закрытый
13.1
Создание GUI
↗
566
566
10м 54с
38
Закрытый
13.2
Добавление логики и метод String.format
↗
466
466
15м 16с
28
Закрытый
13.3
Механизм callback
↗
474
474
11м 58с
35
Закрытый
13.4
Suspend функции
↗
480
480
14м 18с
43
Закрытый
13.5
Корутины под капотом
↗
490
490
15м 17с
39
Закрытый
13.6
Executor Services
↗
451
451
14м 6с
40
Закрытый
13.7
Structured Concurrency. Часть 1
↗
440
440
12м 22с
42
Закрытый
13.8
Dispatchers Default и Unconfined
↗
426
426
11м 23с
34
Закрытый
13.9
Dispatchers IO и Main
↗
430
430
6м 30с
33
Закрытый
13.10
Job и параллельность
↗
435
435
11м 20с
32
Закрытый
13.11
Async и Deferred
↗
432
432
7м 27с
27
Закрытый
13.12
Jobs Hierarchy
↗
417
417
19м 44с
31
Закрытый
13.13
Исключения. Часть 1
↗
409
409
12м 2с
38
Закрытый
13.14
Исключения. Часть 2. Async
↗
399
399
14м 41с
33
Закрытый
13.15
Отмена корутин
↗
409
409
12м 45с
29
Закрытый
13.16
Suspend Coroutine
↗
398
398
10м 37с
30
Закрытый
13.17
SupervisorJob
↗
411
411
6м 42с
32
Закрытый
13.18
Что такое потоки данных
↗
393
393
13м 2с
37
Закрытый
13.19
Способы создания Sequence
↗
385
385
9м 7с
31
Закрытый
13.20
Начало работы с Flow
↗
395
395
16м 34с
35
Закрытый
13.21
Знакомство с API
↗
409
409
14м 21с
29
Закрытый
13.22
Загрузка данных из сети
↗
378
378
23м 25с
32
Закрытый
13.23
Создание GUI и работа с Regex
↗
392
392
20м 42с
32
Закрытый
13.24
Реактивный стиль
↗
379
379
19м 46с
36
Закрытый
13.25
Channels и Debounce
↗
369
369
12м 31с
32
Закрытый
13.26
Холодные потоки данных
↗
366
366
10м 54с
32
Закрытый
13.27
Горячие потоки данных
↗
368
368
12м 39с
29
Закрытый
13.28
ShareIn
↗
366
366
10м 7с
28
Закрытый
13.29
Buffer и Backpressure
↗
360
360
14м 31с
32
Закрытый
13.30
Screen state as Flow
↗
357
357
15м 38с
30
Закрытый
13.31
MutableStateFlow
↗
358
358
9м 22с
25
Закрытый
13.32
SharedFlow vs StateFlow
↗
350
350
15м 16с
25
Закрытый
13.33
Exceptions in Flow
↗
331
331
12м 42с
22
Закрытый
13.34
Практика работы с исключениями
↗
332
332
8м 28с
26
Закрытый
13.35
Оператор FlowOn
↗
332
332
9м 29с
26
Закрытый
13.36
Наследование CoroutineScope
↗
341
341
13м 41с
30
Закрытый
13.37
Синхронизация корутин
↗
343
343
12м 4с
25
Закрытый
13.38
Channels
↗
360
360
12м 7с
30
14. Kotlin в деталях
18 уроков
6 409
5 748
263м
479
Закрытый
14.1
Инвариантность и Ковариантность
↗
407
308
20м 42с
34
Закрытый
14.2
Контрвариантность
↗
334
334
14м 24с
25
Закрытый
14.3
Стирание типов
↗
345
345
8м 51с
24
Закрытый
14.4
Reified и Star Projection
↗
337
337
13м 6с
29
Закрытый
14.5
Inline и Non local return
↗
331
331
15м 27с
24
Закрытый
14.6
Crossinline и noinline
↗
323
323
11м 31с
21
Закрытый
14.7
Value classes
↗
329
329
8м 5с
20
Закрытый
14.8
Делегирование свойств
↗
327
327
24м 56с
22
Закрытый
14.9
Делегирование реализации интерфейсов
↗
324
324
14м 11с
27
Закрытый
14.10
Inner и Nested классы
↗
313
313
7м 57с
22
Закрытый
14.11
Destructuring declaration and Infix
↗
317
317
13м 57с
26
Закрытый
14.12
Устройство памяти в Kotlin
↗
341
341
12м 9с
32
Закрытый
14.13
Как работают программы на Java и Kotlin
↗
346
346
6м 36с
35
Закрытый
14.14
Модификатор Internal
↗
332
332
11м 9с
27
Закрытый
14.15
Собеседование
↗
453
292
30м 51с
36
Закрытый
14.16
Тест Kotlin основы
↗
434
236
22м 5с
10
Закрытый
14.17
Тест Kotlin Prof
↗
382
179
33м 22с
15
Закрытый
14.18
Финал
↗
434
434
2м 38с
50