Введение
Познакомиться с курсом и с проектом карточной игры, над которым мы будем работать в течение всего курса, по ходу знакомясь с важными концепциями программирования.
Игровой дизайн: карточный бой
Продумать игровой дизайн нашей карточный игры: как работает игра, как выглядит структура программы и как устроен процесс игры. Проработать поведение программы через тесты.
Инверсия
Улучшить один важный аспект игры, который не позволял нам полноценно тестировать ход игры.
Помеченные данные
Разобрать недостатки текущей реализации нашей игры. Разобраться с понятием «помеченных данных», которое является одним из важнейших аспектов всего курса.
Диспетчеризация по типу. Аддитивность.
Понять, что такое аддитивные программы и как динамическая диспетчеризация поможет нам строить такие программы. Разобраться, что такое диспетчеризация в контексте программирования и типов.
Объекты
Познакомиться с объектами в контексте современного, общепринятого понятия объектно-ориентированного программирования. Понять, как динамическая диспетчеризация дала возможность работать с объектами в ООП.
Нативные объекты
Рассмотреть объекты, встроенные в сам язык JavaScript, с учетом знаний об объектах, которые мы получили ранее. Разобраться с тем, как объекты определяются как константы, но при этом могут изменяться.
Классы
Познакомиться с классом — структурой, которая позволяет создавать объекты. Рассмотреть механизм создания новых объектов с помощью 'new'.
Полиморфизм
Познакомиться с понятием полиморфизма в языках программирования. Разобрать три типа полиморфизма.
Дополнительные материалы
Статьи и видео, подобранные командой Хекслета. Помогут глубже погрузиться в тему курса