Изучайте Dart
Бесплатный интерактивный онлайн-курс по Dart. Вы пишете код на Dart в каждом уроке - с подсказками ИИ, когда асинхронность начинает путать, и бесплатным сертификатом по завершении.
18,630+ codders записались
- Для начинающих
Помощь ИИ при написании кода
Практические интерактивные уроки
Аудио-озвучка к каждому уроку
Тесты для проверки знаний
Бесплатный сертификат о прохождении
Программа
Раздел 1
Основы
Начать разделНачатьРазвернутьСвернутьСоздайте прочную основу с основными понятиями и базовыми навыкамиВведение в Dart
4 уроков224- 01Что такое Dart?Задача
- 02Функция mainКвиз
- 03Вывод на печатьЗадачаКвиз
- 04Комментарии в кодеКвиз
Переменные и основные типы данных
11 уроков1075- 01Что такое переменные?Квиз
- 02СтрокиЗадачаКвиз
- 03Целые числа (int)ЗадачаКвиз
- 04Вещественные числа (double)ЗадачаКвиз
- 05Булевы значения (bool)ЗадачаКвиз
- 06Вывод типов с 'var'ЗадачаКвиз
- 07Финальные переменныеЗадачаКвиз
- 08Константные переменныеЗадачаКвиз
- 09Соглашения об именованииЗадачаКвиз
- 10Основы null-безопасностиЗадачаКвиз
- 11Повторение - Объявление переменныхЗадача
Операторы. Часть 1
6 уроков638- 01Арифметические операторыЗадачаКвиз
- 02Целочисленное делениеЗадачаКвиз
- 03Оператор модуляЗадачаКвиз
- 04Инкремент и декрементЗадачаКвиз
- 05Сокращённые присваиванияЗадачаКвиз
- 06Итог - Простые вычисленияЗадача
Операторы, часть 2
6 уроков636- 01Операторы сравненияЗадачаКвиз
- 02Логический ANDЗадачаКвиз
- 03Логический ORЗадачаКвиз
- 04Логический NOTЗадачаКвиз
- 05Операторы проверки типаЗадачаКвиз
- 06Повторение - СравненияЗадача
Операторы, часть 3
3 уроков320- 01Оператор условной нулевостиЗадачаКвиз
- 02Доступ условной нулевостиЗадачаКвиз
- 03Условный операторЗадачаКвиз
Управление потоком - Принятие решений
6 уроков636- 01Оператор 'if'ЗадачаКвиз
- 02Оператор 'else'ЗадачаКвиз
- 03Оператор 'else if'ЗадачаКвиз
- 04Повторение - Простые решенияЗадача
- 05Вложенные операторы 'if'ЗадачаКвиз
- 06Оператор 'switch'ЗадачаКвиз
Работа со строками
5 уроков538- 01Конкатенация строкЗадачаКвиз
- 02Интерполяция строкЗадачаКвиз
- 03Многострочные строкиЗадачаКвиз
- 04Свойства строкЗадачаКвиз
- 05Основные методы строкЗадачаКвиз
Поток управления - Циклы
6 уроков637- 01Цикл 'for'ЗадачаКвиз
- 02Цикл 'while'ЗадачаКвиз
- 03Цикл 'do-while'ЗадачаКвиз
- 04Использование 'break' в циклахЗадачаКвиз
- 05Использование 'continue' в циклахЗадачаКвиз
- 06Итог - Повторение кодаЗадача
Коллекции - Основы списков
8 уроков759- 01Что такое списки?Квиз
- 02Создание спискаЗадачаКвиз
- 03Доступ по индексуЗадачаКвиз
- 04Получение длины спискаЗадачаКвиз
- 05Добавление элементовЗадачаКвиз
- 06Удаление элементовЗадачаКвиз
- 07Проверка, пуст ли списокЗадачаКвиз
- 08Итерация по спискуЗадачаКвиз
Коллекции - Основы словарей
8 уроков757- 01Что такое словари?Квиз
- 02Создание словаряЗадачаКвиз
- 03Доступ к значениям по ключуЗадачаКвиз
- 04Пары ключ-значениеЗадачаКвиз
- 05Получение размера словаряЗадачаКвиз
- 06Получение ключейЗадачаКвиз
- 07Получение значенийЗадачаКвиз
- 08Проверка существования ключаЗадачаКвиз
Основы функций
8 уроков753- 01Что такое функции?Квиз
- 02Определение простой функцииЗадачаКвиз
- 03Вызов функцииЗадачаКвиз
- 04Функции с параметрамиЗадачаКвиз
- 05Функции, возвращающие значенияЗадачаКвиз
- 06Ключевое слово 'void'ЗадачаКвиз
- 07Стрелочный синтаксисЗадачаКвиз
- 08Повторение - Простые функцииЗадача
Расширенные функции
5 уроков532- 01Необязательные позиционные параметрыЗадачаКвиз
- 02Именованные параметрыЗадачаКвиз
- 03Обязательные именованные параметрыЗадачаКвиз
- 04Значения параметров по умолчаниюЗадачаКвиз
- 05Повторение - Параметры функцийЗадача
Null-безопасность в деталях
6 уроков639- 01Понимание nullЗадачаКвиз
- 02Nullable-типыЗадачаКвиз
- 03Non-nullable-типыЗадачаКвиз
- 04Оператор утверждения nullЗадачаКвиз
- 05Поздняя инициализацияЗадачаКвиз
- 06Повторение - Безопасная обработка nullЗадача
Преобразование типов
4 уроков430- 01Преобразование String в intЗадачаКвиз
- 02Преобразование String в doubleЗадачаКвиз
- 03Преобразование чисел в StringЗадачаКвиз
- 04Обработка ошибок преобразованияЗадачаКвиз
Проект: Простой калькулятор
Проект5 уроков1- 01НастройкаЗадача
- 02Объявление числаПроект
- 03Создание операцииПроект
- 04Выполнение расчётаПроект
- 05Отображение результатаПроект
Вызовы по основам
3 уроков3- 01Вызов: Список вычисленийЗадача
- 02Вызов: Сумма чиселЗадача
- 03Вызов: Найти произведениеЗадача
Раздел 2
Логика и управление потоком
Начать разделНачатьРазвернутьСвернутьОсвойте продвинутое программирование на Dart с акцентом на структуры данных и управление потоком. Научитесь работать со сложными массивами, коллекциями, обработкой ошибок и управлением временем.Продвинутая работа со списками
9 уроков959- 01Свойства списка: first и lastЗадачаКвиз
- 02Состояние списка: isEmpty и isNotEmptyЗадачаКвиз
- 03Разворот спискаЗадачаКвиз
- 04Добавление в список: insertЗадачаКвиз
- 05Удаление из списка: removeWhereЗадачаКвиз
- 06Поиск в списке: indexOfЗадачаКвиз
- 07Сортировка спискаЗадачаКвиз
- 08Перемешивание спискаЗадачаКвиз
- 09Итоги — Органайзер списковЗадача
Функциональные операции со списками
7 уроков746- 01Преобразование с помощью 'map'ЗадачаКвиз
- 02Фильтрация с помощью 'where'ЗадачаКвиз
- 03Использование '.toList()'ЗадачаКвиз
- 04Проверка условий с помощью 'any'ЗадачаКвиз
- 05Условия с 'every'ЗадачаКвиз
- 06Поиск с помощью 'firstWhere'ЗадачаКвиз
- 07Повторение — фильтрация данныхЗадача
Множества
9 уроков864- 01Что такое множество?Квиз
- 02Создание множестваЗадачаКвиз
- 03Добавление и удаление элементовЗадачаКвиз
- 04Проверка наличия элементов в множествеЗадачаКвиз
- 05Преобразование списка в множествоЗадачаКвиз
- 06Объединение множествЗадачаКвиз
- 07Пересечение множествЗадачаКвиз
- 08Разность множествЗадачаКвиз
- 09Итоги: уникальный список гостейЗадача
Продвинутая работа с Map
7 уроков745- 01Итерация по MapЗадачаКвиз
- 02Проверка ключей и значенийЗадачаКвиз
- 03Свойства Map: keys и valuesЗадачаКвиз
- 04Условное добавление: putIfAbsentЗадачаКвиз
- 05Удаление записей из MapЗадачаКвиз
- 06Вложенные MapЗадачаКвиз
- 07Итоги — Обновление инвентаряЗадача
Проект: Калькулятор корзины
Проект5 уроков1- 01Настройка проектаЗадача
- 02Добавление товаров в корзинуПроект
- 03Расчет общей стоимостиПроект
- 04Применение скидкиПроект
- 05Отображение итогового чекаПроект
Основы обработки ошибок
6 уроков541- 01Что такое исключения?Квиз
- 02Блок 'try-catch'ЗадачаКвиз
- 03Перехват исключений с помощью 'on'ЗадачаКвиз
- 04Блок 'finally'ЗадачаКвиз
- 05Генерация исключенияЗадачаКвиз
- 06Итоги: Безопасное делениеЗадача
Продвинутые функции
7 уроков646- 01Анонимные функцииЗадачаКвиз
- 02Передача функций в качестве аргументовЗадачаКвиз
- 03Понимание замыканийЗадачаКвиз
- 04Введение в рекурсиюКвиз
- 05Рекурсивная функция: обратный отсчётЗадачаКвиз
- 06Рекурсивная функция: факториалЗадачаКвиз
- 07Итоги — Обработчик списковЗадача
Проект: Простой анализатор текста
Проект7 уроков18- 01Обзор проекта и настройкаЗадачаКвиз
- 02Подсчет символовПроект
- 03Разбиение текста на словаПроект
- 04Подсчет словПроект
- 05Подсчет уникальных словПроект
- 06Подсчет частоты словПроект
- 07Вывод результатов анализаПроект
Перечисления (Enums)
5 уроков433- 01Что такое Enums?Квиз
- 02Определение простого EnumЗадачаКвиз
- 03Использование Enums в переменныхЗадачаКвиз
- 04Enums в операторах 'switch'ЗадачаКвиз
- 05Итоги — СветофорЗадача
Финальные испытания
3 уроков3- 01Испытание: Сортировщик оценокЗадача
- 02Испытание: Счетчик гласныхЗадача
- 03Испытание: FizzBuzzЗадача
Раздел 3
Объектно-ориентированное программирование
Начать разделНачатьРазвернутьСвернутьУзнайте, как организовывать код с помощью классов, объектов и переиспользуемых структурОсновы ООП
9 уроков971- 01Внешние файлыЗадачаКвиз
- 02Библиотеки и импортЗадачаКвиз
- 03Введение в ООПЗадачаКвиз
- 04Классы и объектыЗадачаКвиз
- 05Ключевое слово thisЗадачаКвиз
- 06МетодыЗадачаКвиз
- 07Переменные экземпляраЗадачаКвиз
- 08Основы конструкторовЗадачаКвиз
- 09Итоги — Простой калькуляторЗадача
Конструкторы в Dart
7 уроков753- 01Конструктор по умолчаниюЗадачаКвиз
- 02Именованные конструкторыЗадачаКвиз
- 03Списки инициализацииЗадачаКвиз
- 04Константные конструкторыЗадачаКвиз
- 05Фабричные конструкторыЗадачаКвиз
- 06Перенаправляющие конструкторыЗадачаКвиз
- 07Итоги — Shape BuilderЗадача
Свойства классов
6 уроков644- 01Члены экземпляра и статические членыЗадачаКвиз
- 02Поля Final и ConstЗадачаКвиз
- 03Переменные LateЗадачаКвиз
- 04Статические методы и поляЗадачаКвиз
- 05Геттеры и сеттерыЗадачаКвиз
- 06Итоги — Менеджер банковского счетаЗадача
Null-безопасность
7 уроков754- 01Введение в Null-безопасностьЗадачаКвиз
- 02Nullable и Non-Nullable типыЗадачаКвиз
- 03Операторы ? и !ЗадачаКвиз
- 04Ключевое слово Late и Null-безопасностьЗадачаКвиз
- 05Null-aware операторыЗадачаКвиз
- 06Null-безопасность в классахЗадачаКвиз
- 07Итоги — Система профилей пользователейЗадача
Инкапсуляция
6 уроков641- 01Публичные и приватные членыЗадачаКвиз
- 02Соглашение о префиксе _ЗадачаКвиз
- 03Приватность на уровне библиотекЗадачаКвиз
- 04Геттеры и сеттеры: подробный разборЗадачаКвиз
- 05Скрытие данныхЗадачаКвиз
- 06Итоги — Записи о студентахЗадача
Наследование
7 уроков750- 01Основы наследованияЗадачаКвиз
- 02Ключевое слово superЗадачаКвиз
- 03Переопределение методовЗадачаКвиз
- 04Аннотация @overrideЗадачаКвиз
- 05Ключевое слово final для классовЗадачаКвиз
- 06Конструкторы и наследованиеЗадачаКвиз
- 07Итоги: Иерархия сотрудниковЗадача
Абстрактные классы и интерфейсы
7 уроков753- 01Абстрактные классыЗадачаКвиз
- 02Абстрактные методыЗадачаКвиз
- 03Интерфейсы в DartЗадачаКвиз
- 04Неявные интерфейсыЗадачаКвиз
- 05Реализация против наследованияЗадачаКвиз
- 06Множественные интерфейсыЗадачаКвиз
- 07Итоги — Калькулятор фигурЗадача
Mixins
7 уроков752- 01Введение в MixinsЗадачаКвиз
- 02Создание MixinsЗадачаКвиз
- 03Использование нескольких MixinsЗадачаКвиз
- 04Ключевое слово on в MixinsЗадачаКвиз
- 05Mixin и наследованиеЗадачаКвиз
- 06Mixin и интерфейсЗадачаКвиз
- 07Итоги: Система животныхЗадача
Полиморфизм
6 уроков643- 01Основы полиморфизмаЗадачаКвиз
- 02Полиморфизм через интерфейсыЗадачаКвиз
- 03Проверка типов во время выполненияЗадачаКвиз
- 04Операторы is и asЗадачаКвиз
- 05Ключевое слово covariantЗадачаКвиз
- 06Итоги — Обработчик платежейЗадача
Коллекции и обобщения
7 уроков754- 01Обзор List, Set, MapЗадачаКвиз
- 02Типобезопасные коллекцииЗадачаКвиз
- 03Обобщенные классыЗадачаКвиз
- 04Обобщенные методыЗадачаКвиз
- 05Ограничения обобщенийЗадачаКвиз
- 06Iterable и IteratorЗадачаКвиз
- 07Итоги: Обобщенное хранилищеЗадача
Специальные методы
6 уроков643- 01Переопределение toString()ЗадачаКвиз
- 02Переопределение hashCode и ==ЗадачаКвиз
- 03Интерфейс ComparableЗадачаКвиз
- 04Метод call()ЗадачаКвиз
- 05Переопределение noSuchMethodЗадачаКвиз
- 06Повторение — Пользовательская коллекцияЗадача
Асинхронное ООП
6 уроков645- 01Futures и async/awaitЗадачаКвиз
- 02Основы StreamsЗадачаКвиз
- 03Контроллеры StreamЗадачаКвиз
- 04Асинхронные конструкторыЗадачаКвиз
- 05Асинхронность в методах классовЗадачаКвиз
- 06Итоги — Data FetcherЗадача
Продвинутые концепции ООП
7 уроков764- 01Композиция против наследованияЗадачаКвиз
- 02Методы расширенияЗадачаКвиз
- 03Вызываемые классыЗадачаКвиз
- 04Запечатанные классы (Dart 3)ЗадачаКвиз
- 05Записи (Dart 3)ЗадачаКвиз
- 06Паттерны и сопоставление (3.0)ЗадачаКвиз
- 07Перечисления с методамиЗадачаКвиз
Паттерны проектирования. Часть 1
5 уроков543- 01Введение в паттерны проектированияЗадачаКвиз
- 02Паттерн SingletonЗадачаКвиз
- 03Паттерн FactoryЗадачаКвиз
- 04Паттерн ObserverЗадачаКвиз
- 05Паттерн StrategyЗадачаКвиз
Паттерны проектирования. Часть 2
7 уроков763- 01Паттерн КомандаЗадачаКвиз
- 02Паттерн АдаптерЗадачаКвиз
- 03Паттерн ДекораторЗадачаКвиз
- 04Паттерн Шаблонный методЗадачаКвиз
- 05Паттерн СостояниеЗадачаКвиз
- 06Паттерн КомпоновщикЗадачаКвиз
- 07Паттерн РепозиторийЗадачаКвиз
Проект: Управление библиотекой
Проект6 уроков1- 01Обзор проектаЗадача
- 02Классы Book и UserПроект
- 03Система выдачи книгПроект
- 04Функционал поискаПроект
- 05Интерфейс администратораПроект
- 06Тестирование и интеграцияПроект
Финальные испытания
4 уроков4- 01Платформа онлайн-обученияЗадача
- 02Банковская системаЗадача
- 03Система игровых персонажейЗадача
- 04Сервис аренды транспортаЗадача
Курсы Dart
Практические курсы Dart - бесплатный старт в браузере.
Задачи для начинающих: практика базовых концепций
ПопулярноеПроверьте свои знания основ программирования на практике и попробуйте решить эти задачи на любом языке. Удачного кодинга!
Сертификат по окончании
- 20
- 20
Задачи по программированию
ПопулярноеПроверьте свои навыки решения задач по программированию, выполняя упражнения разного уровня сложности. Этот курс предназначен для тех, кто уже знаком с базовым синтаксисом любого языка программирования.
Сертификат по окончании
- 32
- 31
Задачи по программированию: Часть 2
Проверьте свои навыки решения задач с помощью упражнений разного уровня сложности. Курс предназначен для программистов, уже знакомых с базовым синтаксисом любого языка программирования, и является продолжением первой части «Задач по программированию».
Сертификат по окончании
- 25
- 24
Стек — Серия «Структуры данных» №1
В этом курсе вы изучите структуру данных Стек, создадите её с нуля на выбранном вами языке и попрактикуетесь в решении задач!
- 13
- 6
- 1
Кучи и очереди с приоритетом — Структуры данных №7
НовоеВ этом курсе вы изучите структуру данных Куча (основу очередей с приоритетом), создадите MinHeap с нуля на выбранном вами языке и попрактикуетесь в решении задач с её использованием!
Сертификат по окончании
- 14
- 6
- 1
Буткемп по выводу фигур из звездочек
Примените свои навыки решения задач в программировании, чтобы научиться выводить фигуры из звездочек любой сложности: от простых до самых продвинутых. В процессе вы освоите работу с вложенными циклами, условными операторами и математическими вычислениями.
- 30
- 28
Почему стоит изучать Dart на Coddy
- Пишите и запускайте настоящий Dart-код прямо в браузере. Никакой установки Dart SDK, никакой настройки Flutter-окружения. Каждый урок компилирует вашу программу на сервере и сразу показывает результат.
- Dart таким, каким его реально используют Flutter-разработчики: переменные и типы, поток управления, функции, классы и наследование, generics, null-safety, futures, async/await, streams. Те основы Dart, которые нужны каждому Flutter-разработчику.
- Подсказки ИИ помогают разбираться с ошибками Dart и асинхронными багами, не выдавая готовый ответ, - так концепции вроде null-safety и futures начинают щёлкать, а не сбивать с толку.
- Бесплатный сертификат по Dart после прохождения курса. Весомое подтверждение навыков для вакансий, где Dart - основной язык: Flutter и мобильная разработка.