PRO курс

JS: Составные данные

3905 сообщений в сообществе 6042 учащихся

Следующий шаг после освоения основ программирования это изучение идеи составных данных. Этот курс посвящён изучению концепций, позволяющих из простых типов данных составлять более сложные данные, необходимые для решения конкретной задачи и для реализации конкретной программы. На примере разработки простой графической библиотеки мы изучим как «подняться» от уровня простых чисел до уровня двумерных объектов и рисунков.

Последнее обновление: 11 февраля 2020

Подготовительный курс

JS: Функциональное программирование

Уроки курса

  • 1

    Введение

    Познакомиться с курсом, его целями и структурой. Рассмотреть понятие «составные данные» и понять смысл их создания и использования.
  • 2

    Точки

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

    тесты

    упражнение

  • 3

    Пары

    Разобраться с тем, как устроены и реализованы точки в нашей графической библиотеке.

    тесты

    упражнение

  • 4

    Моделирование

    Познакомиться с понятием «Моделирование предметной области».

    тесты

    упражнение

  • 5

    Барьеры абстракции

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

    тесты

    упражнение

  • 6

    Реализация пар

    Написать собственную реализацию пар на языке JavaScript.

    тесты

    упражнение

  • 7

    Рациональные числа

    Рассмотреть рациональные числа как новый пример абстракции на основе пар чисел.

    тесты

    упражнение

Испытания

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

# Задание % завершений
1 Пары без функций 82%
2 Тройка 95%
3 Пары на строках 90%

Автор

Аватар пользователя Kirill Mokevnin

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

Сооснователь и CEO образовательного проекта Хекслет. Программирую с 2007 года. За это время прошёл путь от разработчика до технического директора и управляющего отдельным подразделением (филиалом). Управлял командами, в которых больше 50 разработчиков.

  • Программирую на языках: Elixir, Clojure, JavaScript, PHP, Ruby.
  • Соорганизатор конференции Nastachku.ru.
  • Вимер.
  • Топлю за DevOps и автоматизированные тесты.

Впечатления

Офигенное упражнение! На других ресурсах с первого урока дают массивы и объекты, здесь же треть курса позади и только пары начались, круто :)

Отличное задание. Огромный респект составителям.

OMG. Это гениально и запредельно просто (оказалось после неск. часов). Стоило только час поломать голову, сходить потренироваться, поломать еще час голову и 5 минут ругать себя за невнимательность, ведь всё очевидно. Маленькую подсказку дам в конце топика. Но, друзья, будьте честны с собой, пролистайте ссылку на пройденный когда-то урок (ссылка в списке).

  • Благодарность авторам курса за упражнения. Только сейчас я осознал, что такое это всё вот это вот:). Это одно из лучших упражнений, которое встречалось мне на этом курсе. Вот за него просто мегареспект, поскольку оно также и на внимательность.
  • Благодарность Voltaire Aurelio за отсылку к пройденному (похоже, пройденному мимо) уроку про объекты первого класса. Когда всплыла в памяти теория, тогда меня и осенило.

Небольшая подсказка: Суть - в начале модуля:

 const cons = (x, y) => f => f(x, y);
//Просто напишем это как 
 const cons = (x, y) => (f) => f(x, y);

Даже не сомневался, что у учителя функция containsTheOrigin будет решена в несколько строк, респект учителям, которые учат, смотря на сложные вещи, видеть простые решения!😜

Что можно посоветовать при прохождении этого задания? Перечитайте просто заново https://ru.hexlet.io/courses/js-functions/lessons/return-function/theory_unit И вам станет намного легче его решить!) Авторам большое спасибо!

Курс JS: Составные данные
продолжительность
20 часов
награда
46 баллов