PRO курс

JS: Программирование, управляемое данными

2412 сообщений в сообществе 2634 учащихся

Описание

В течение этого курса мы будем писать собственную карточную игру и знакомиться с такими важными концепциями программирования, как пользовательские типы, динамическая диспетчеризация по типу, позволяющая писать ёмкий, универсальный код, полиморфизм, передача сообщений между сущностями и, конечно, основы важнейшей темы — объектно-ориентированного программирования. Также мы перейдем к разработке через тесты (test driven development).

Пререквизиты

JS: Последовательности

Уроки курса

  • 1

    Введение

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

    Игровой дизайн: карточный бой

    Продумать игровой дизайн нашей карточный игры: как работает игра, как выглядит структура программы и как устроен процесс игры. Проработать поведение программы через тесты.

    тесты

    упражнение

  • 3

    Инверсия

    Улучшить один важный аспект игры, который не позволял нам полноценно тестировать ход игры.

    тесты

    упражнение

  • 4

    Помеченные данные

    Разобрать недостатки текущей реализации нашей игры. Разобраться с понятием «помеченных данных», которое является одним из важнейших аспектов всего курса.

    тесты

    упражнение

  • 5

    Диспетчеризация по типу. Аддитивность.

    Понять, что такое аддитивные программы и как динамическая диспетчеризация поможет нам строить такие программы. Разобраться, что такое диспетчеризация в контексте программирования и типов.

    тесты

    упражнение

  • 6

    Объекты

    Познакомиться с объектами в контексте современного, общепринятого понятия объектно-ориентированного программирования. Понять, как динамическая диспетчеризация дала возможность работать с объектами в ООП.

    упражнение

  • 7

    Нативные объекты

    Рассмотреть объекты, встроенные в сам язык JavaScript, с учетом знаний об объектах, которые мы получили ранее. Разобраться с тем, как объекты определяются как константы, но при этом могут изменяться.

    тесты

    упражнение

  • 8

    Классы

    Познакомиться с классом — структурой, которая позволяет создавать объекты. Рассмотреть механизм создания новых объектов с помощью 'new'.

    тесты

    упражнение

  • 9

    Полиморфизм

    Познакомиться с понятием полиморфизма в языках программирования. Разобрать три типа полиморфизма.

    тесты

    упражнение

Автор

Кирилл Мокевнин

Сооснователь и технический директор образовательного проекта Hexlet. Соорганизатор конференции Nastachku.ru. В прошлом руководил филиалом undev.ru в Ульяновске, а до этого работал в Qik (Skype). Создает инженерную культуру в компаниях и несет в массы XP, DDD и DevOps. Евангелист ментального программирования.

Впечатления #

Отличный курс, в какой то момент, думаю, даже соседи услышали громкий щелчок, когда у меня в голове многое на место встало. Спасибо!

Задача намного легче, чем кажется на первый взгляд) Конечно, до решения учителя ещё далеко и есть куда стремиться) Большое спасибо за курс!)

Решение учителя было весьма неожиданным (сам подход) :)

Потратил на задачку 1,5 часа. Никуда не заглядывал и не подглядывал, но на теорию день ушло. И когда очередной раз нажал проверить и мое решение прошло и даже похоже на решение учителя кончено радости не было предела)) Хочу дать совет, который не является истиной в последней инстанции) тем кто расстраивается и у кого опускаются руки, хотя про это много раз уже говорили но повторюсь: курс построен прекрасно все об этом говорят и все это знаю, но наш мозг так устроен, что когда мы переходим к новой теме и начинаем слушать лекцию и читать текст наш мозг сперва привыкает к новому тексту и визуализированной информации, а уже потом начинает обрабатывать смысл всего сказанного. Если взять эту конкретную тему, то я раз 15 пересмотрел видео и перечитал текст прежде чем мой мозг перестал отвлекаться на красивые кружочки и успокаивающий голос лектора(если бы он не был таким классным программистом, то был бы хорошим работником call-center))) и потом когда для мозга все это стало не в новинку, то он начинает переваривать смысл и у кого как, но у меня со скоростью асфальтоукладчика(зато сразу и без повторений) и затем задача и тема прекрасно усваивается и все спокойно решается, будьте терпеливы!

Это шикарно! Спасибо, ребята, за головомойку! 2 дня я ломал голову на даче, мысленно рисуя, что должно быть в итоге. Алгоритм выработал верный, без подсказок обошелся. Но отладка... Копал полдня не в ту сторону, на два раза всё переписал. Уххх, круто!

продолжительность
22 часа
награда
57 баллов
Получить доступ к курсу