Содержание курса
1. Введение
2 урока
4 963
4 963
9м
176
Открытый
1.1
Что такое программирование?
↗
2 328
2 328
4м 57с
92
Открытый
1.2
Зачем нужны языки программирования?
↗
2 635
2 635
5м 28с
84
2. Базовый синтаксис
18 уроков
24 716
19 715
414м
1440
Закрытый
2.1
Скачиваем среду разработки
↗
1 626
1 626
5м 18с
82
Закрытый
2.2
Первая программа
↗
1 619
1 337
18м 7с
102
Открытый
2.3
Чтение из консоли. Переменные
↗
2 532
1 303
23м 54с
102
Закрытый
2.4
Спецсимволы и шаблоны
↗
1 483
1 199
22м 45с
87
Закрытый
2.5
Целочисленный тип Int
↗
1 410
1 241
18м 22с
90
Закрытый
2.6
Целочисленное деление
↗
1 371
1 091
33м 34с
85
Закрытый
2.7
Условный оператор
↗
1 345
1 102
33м 31с
86
Закрытый
2.8
Условный оператор. Часть 2. Комбинирование
↗
1 310
1 043
38м 50с
77
Закрытый
2.9
Изменяемые переменные
↗
1 283
1 009
17м 14с
72
Закрытый
2.10
Дробные числа
↗
1 235
1 019
25м 9с
72
Закрытый
2.11
Введение в коллекции
↗
1 260
1 016
21м 12с
71
Закрытый
2.12
Циклы Repeat и While
↗
1 239
993
29м 20с
81
Закрытый
2.13
Цикл for и свойство size
↗
1 192
968
24м 53с
66
Закрытый
2.14
Диапазоны Ranges
↗
1 183
985
14м 30с
71
Закрытый
2.15
Целочисленные типы Long Short Byte
↗
1 152
960
18м 56с
66
Закрытый
2.16
If and when are expressions
↗
1 169
945
35м 17с
71
Закрытый
2.17
Символьный тип данных
↗
1 150
942
24м 4с
80
Закрытый
2.18
Do while и split
↗
1 157
936
17м 46с
79
3. Объектно-ориентированное программирование
24 урока
24 041
19 656
727м
1746
Закрытый
3.1
Введение в ООП
↗
1 208
1 208
7м 33с
69
Закрытый
3.2
Создание класса и объекта
↗
1 188
964
23м 21с
72
Закрытый
3.3
Введение в функции
↗
1 142
945
11м 7с
70
Закрытый
3.4
Функции с параметрами
↗
1 127
907
26м 16с
74
Закрытый
3.5
Ключевое слово this и именованные параметры
↗
1 122
884
37м 59с
75
Закрытый
3.6
Введение в конструкторы
↗
1 117
883
22м 59с
72
Закрытый
3.7
Перегрузка конструкторов
↗
1 099
854
36м 4с
75
Закрытый
3.8
Первичный конструктор
↗
1 079
865
17м 45с
72
Закрытый
3.9
Возвращаемый тип функций
↗
1 053
796
65м 36с
73
Закрытый
3.10
Введение в наследование
↗
1 029
797
42м 11с
82
Закрытый
3.11
Upcast, Downcast, Smartcast
↗
1 036
1 036
12м 53с
89
Закрытый
3.12
Введение в полиморфизм
↗
1 010
777
28м 34с
82
Закрытый
3.13
Практика создание бухгалтера. Метод super
↗
996
996
29м 0с
81
Закрытый
3.14
Enum
↗
998
763
34м 19с
86
Закрытый
3.15
Работа с файлами и мутабельными коллекциями
↗
984
690
63м 19с
77
Закрытый
3.16
Ручная сериализация и десериализация
↗
949
681
32м 6с
68
Закрытый
3.17
Удаление элементов из списка
↗
899
636
47м 34с
65
Закрытый
3.18
Рефакторинг
↗
877
877
11м 41с
50
Закрытый
3.19
Контрольная работа
↗
895
895
28м 41с
67
Закрытый
3.20
Инкапсуляция и модификаторы доступа
↗
872
614
34м 25с
64
Закрытый
3.21
Абстрактные классы
↗
848
601
39м 4с
61
Закрытый
3.22
Интерфейсы
↗
838
583
49м 41с
63
Закрытый
3.23
Класс Any и метод toString
↗
836
565
30м 35с
57
Закрытый
3.24
Обзор ООП
↗
839
839
6м 29с
102
4. Погружаемся в Kotlin
15 уроков
11 421
8 343
475м
911
Закрытый
4.1
Геттеры и сеттеры. Часть 1
↗
874
874
22м 6с
59
Закрытый
4.2
Геттеры и сеттеры. Часть 2
↗
818
558
56м 32с
70
Закрытый
4.3
Single Responsibility Principle
↗
804
560
22м 22с
67
Закрытый
4.4
Рефакторинг и StringBuilder
↗
766
559
28м 57с
64
Закрытый
4.5
Singleton Object
↗
790
556
14м 40с
57
Закрытый
4.6
Backing Field
↗
779
551
22м 50с
63
Закрытый
4.7
Метод copy
↗
760
509
74м 46с
66
Закрытый
4.8
Метод equals
↗
744
506
47м 33с
57
Закрытый
4.9
Метод hashcode. Коллекции Set
↗
732
504
36м 10с
56
Закрытый
4.10
Data Classes
↗
750
506
30м 9с
66
Закрытый
4.11
Дополнение по методу copy
↗
711
711
6м 48с
50
Закрытый
4.12
Nullable Types
↗
724
485
50м 39с
61
Закрытый
4.13
Elvis и Unit
↗
725
496
14м 15с
48
Закрытый
4.14
Try catch
↗
713
488
27м 6с
55
Закрытый
4.15
Nothing
↗
731
480
28м 10с
72
5. Функциональное программирование
15 уроков
10 149
6 785
465м
938
Закрытый
5.1
Kotlin Serialization
↗
773
498
33м 8с
63
Закрытый
5.2
Получение тестовых данных
↗
701
449
43м 55с
57
Закрытый
5.3
Чистые функции
↗
710
710
8м 56с
60
Закрытый
5.4
Анонимные классы
↗
706
463
41м 37с
69
Закрытый
5.5
Лямбда выражения
↗
710
458
49м 37с
83
Закрытый
5.6
Введение в Generics
↗
683
467
26м 31с
60
Закрытый
5.7
Extension functions
↗
672
445
28м 51с
64
Закрытый
5.8
Inline functions
↗
691
417
27м 29с
66
Закрытый
5.9
Примеры функций высшего порядка
↗
658
427
28м 30с
55
Закрытый
5.10
Функция Let
↗
656
432
21м 20с
59
Закрытый
5.11
Функция Also
↗
644
415
33м 13с
62
Закрытый
5.12
Коллекции Map
↗
650
415
45м 7с
58
Закрытый
5.13
Map для улучшения производительности
↗
627
410
15м 44с
47
Закрытый
5.14
Функции With и Apply
↗
641
395
39м 24с
57
Закрытый
5.15
Функция Run и Method reference
↗
627
384
28м 13с
78
6. Паттерны проектирования
14 уроков
7 973
6 305
381м
644
Закрытый
6.1
Основы многопоточности
↗
662
396
31м 56с
50
Закрытый
6.2
Singleton. Companion. Init.
↗
625
389
40м 14с
51
Закрытый
6.3
Singleton. Способы реализации
↗
589
589
15м 45с
40
Закрытый
6.4
Singleton. Синхронизация
↗
594
387
25м 48с
58
Закрытый
6.5
Создание GUI
↗
632
632
17м 3с
49
Закрытый
6.6
Observer. Введение
↗
589
353
47м 52с
50
Закрытый
6.7
Observer. Зависимость от абстракций
↗
551
551
14м 14с
41
Закрытый
6.8
Observer. Функциональный интерфейс
↗
534
534
10м 25с
43
Закрытый
6.9
Observer. Интерфейс Observable
↗
541
541
15м 32с
38
Закрытый
6.10
Observer. MutableObservable
↗
532
300
65м 41с
47
Закрытый
6.11
Observer. Backing field и итоги
↗
510
510
7м 45с
40
Закрытый
6.12
Command и BlockingQueue
↗
527
527
21м 5с
40
Закрытый
6.13
Sealed Interface
↗
535
289
55м 32с
39
Закрытый
6.14
Builder
↗
552
307
20м 12с
58
7. Устройство коллекций
24 урока
10 842
10 689
386м
723
Закрытый
7.1
Junit часть 1
↗
552
552
19м 39с
35
Закрытый
7.2
Junit часть 2. Parameterized Test
↗
499
435
14м 14с
39
Закрытый
7.3
Массивы
↗
501
501
22м 17с
35
Закрытый
7.4
ArrayList. Часть 1
↗
492
492
14м 38с
36
Закрытый
7.5
ArrayList. Часть 2
↗
455
455
16м 1с
35
Закрытый
7.6
ArrayList. Часть 3. Константы и операторы
↗
439
439
14м 42с
37
Закрытый
7.7
Алгоритмическая сложность
↗
457
457
13м 32с
41
Закрытый
7.8
Тестирование исключений. System.arraycopy
↗
433
433
17м 9с
30
Открытый
7.9
LinkedList. Принцип работы
↗
911
911
7м 4с
35
Закрытый
7.10
LinkedList. Реализация
↗
443
443
29м 24с
30
Закрытый
7.11
LinkedList. Двусвязный список
↗
425
425
22м 52с
31
Закрытый
7.12
HashSet. Принцип работы
↗
435
435
9м 25с
30
Закрытый
7.13
HashSet. Реализация. Часть 1
↗
425
425
26м 31с
27
Закрытый
7.14
HashSet. Реализация. Часть 2
↗
409
409
16м 10с
23
Закрытый
7.15
HashSet. Вопросы на собеседовании
↗
412
412
24м 50с
28
Закрытый
7.16
Параметризируем коллекции
↗
401
401
10м 45с
23
Закрытый
7.17
Collections и Iterable
↗
406
406
25м 35с
24
Закрытый
7.18
MutableIterable
↗
386
386
10м 33с
22
Закрытый
7.19
Реализации Set
↗
387
387
11м 51с
25
Закрытый
7.20
Устройство TreeSet
↗
385
385
4м 30с
23
Закрытый
7.21
Неизменяемые коллекции
↗
381
381
14м 25с
23
Закрытый
7.22
Коллекции Map
↗
389
389
24м 38с
27
Закрытый
7.23
Использование Map внутри Set
↗
382
382
14м 38с
23
Закрытый
7.24
Собеседование по теме коллекции
↗
437
348
13м 26с
41
8. Асинхронность и многопоточность
38 уроков
15 197
15 197
477м
1208
Закрытый
8.1
Создание GUI
↗
566
566
10м 54с
38
Закрытый
8.2
Добавление логики и метод String.format
↗
466
466
15м 16с
28
Закрытый
8.3
Механизм callback
↗
474
474
11м 58с
35
Закрытый
8.4
Suspend функции
↗
480
480
14м 18с
43
Закрытый
8.5
Корутины под капотом
↗
490
490
15м 17с
39
Закрытый
8.6
Executor Services
↗
451
451
14м 6с
40
Закрытый
8.7
Structured Concurrency. Часть 1
↗
440
440
12м 22с
42
Закрытый
8.8
Dispatchers Default и Unconfined
↗
426
426
11м 23с
34
Закрытый
8.9
Dispatchers IO и Main
↗
430
430
6м 30с
33
Закрытый
8.10
Job и параллельность
↗
435
435
11м 20с
32
Закрытый
8.11
Async и Deferred
↗
432
432
7м 27с
27
Закрытый
8.12
Jobs Hierarchy
↗
417
417
19м 44с
31
Закрытый
8.13
Исключения. Часть 1
↗
409
409
12м 2с
38
Закрытый
8.14
Исключения. Часть 2. Async
↗
399
399
14м 41с
33
Закрытый
8.15
Отмена корутин
↗
409
409
12м 45с
29
Закрытый
8.16
Suspend Coroutine
↗
398
398
10м 37с
30
Закрытый
8.17
SupervisorJob
↗
411
411
6м 42с
32
Закрытый
8.18
Что такое потоки данных
↗
393
393
13м 2с
37
Закрытый
8.19
Способы создания Sequence
↗
385
385
9м 7с
31
Закрытый
8.20
Начало работы с Flow
↗
395
395
16м 34с
35
Закрытый
8.21
Знакомство с API
↗
409
409
14м 21с
29
Закрытый
8.22
Загрузка данных из сети
↗
378
378
23м 25с
32
Закрытый
8.23
Создание GUI и работа с Regex
↗
392
392
20м 42с
32
Закрытый
8.24
Реактивный стиль
↗
379
379
19м 46с
36
Закрытый
8.25
Channels и Debounce
↗
369
369
12м 31с
32
Закрытый
8.26
Холодные потоки данных
↗
366
366
10м 54с
32
Закрытый
8.27
Горячие потоки данных
↗
368
368
12м 39с
29
Закрытый
8.28
ShareIn
↗
366
366
10м 7с
28
Закрытый
8.29
Buffer и Backpressure
↗
360
360
14м 31с
32
Закрытый
8.30
Screen state as Flow
↗
357
357
15м 38с
30
Закрытый
8.31
MutableStateFlow
↗
358
358
9м 22с
25
Закрытый
8.32
SharedFlow vs StateFlow
↗
350
350
15м 16с
25
Закрытый
8.33
Exceptions in Flow
↗
331
331
12м 42с
22
Закрытый
8.34
Практика работы с исключениями
↗
332
332
8м 28с
26
Закрытый
8.35
Оператор FlowOn
↗
332
332
9м 29с
26
Закрытый
8.36
Наследование CoroutineScope
↗
341
341
13м 41с
30
Закрытый
8.37
Синхронизация корутин
↗
343
343
12м 4с
25
Закрытый
8.38
Channels
↗
360
360
12м 7с
30
9. Kotlin в деталях
18 уроков
6 409
5 748
263м
479
Закрытый
9.1
Инвариантность и Ковариантность
↗
407
308
20м 42с
34
Закрытый
9.2
Контрвариантность
↗
334
334
14м 24с
25
Закрытый
9.3
Стирание типов
↗
345
345
8м 51с
24
Закрытый
9.4
Reified и Star Projection
↗
337
337
13м 6с
29
Закрытый
9.5
Inline и Non local return
↗
331
331
15м 27с
24
Закрытый
9.6
Crossinline и noinline
↗
323
323
11м 31с
21
Закрытый
9.7
Value classes
↗
329
329
8м 5с
20
Закрытый
9.8
Делегирование свойств
↗
327
327
24м 56с
22
Закрытый
9.9
Делегирование реализации интерфейсов
↗
324
324
14м 11с
27
Закрытый
9.10
Inner и Nested классы
↗
313
313
7м 57с
22
Закрытый
9.11
Destructuring declaration and Infix
↗
317
317
13м 57с
26
Закрытый
9.12
Устройство памяти в Kotlin
↗
341
341
12м 9с
32
Закрытый
9.13
Как работают программы на Java и Kotlin
↗
346
346
6м 36с
35
Закрытый
9.14
Модификатор Internal
↗
332
332
11м 9с
27
Закрытый
9.15
Собеседование
↗
453
292
30м 51с
36
Закрытый
9.16
Тест Kotlin основы
↗
434
236
22м 5с
10
Закрытый
9.17
Тест Kotlin Prof
↗
382
179
33м 22с
15
Закрытый
9.18
Финал
↗
434
434
2м 38с
50