Формат проведения пересдачи

Пересдача будет проведена в формате экзамена с билетами. Во время пересдачи студенту будет предоставлен билет, содержащий 2 вопроса по теме предмета.

Для каждого вопроса необходимо составить краткий ответ в текстовом виде. В тексте должно присутствовать краткое разъяснение темы, снабжённое примерами собственного кода.

Документ необходимо подготовить за 1 день и прикрепить к задаче в Moodle.

Вопросы к пересдаче

  1. Перечислите области применения функциональных языков программирования.
  2. Укажите сферы, в которых применение функциональных языков программирования затруднено. Объясните эти причины.
  3. Разъясните категоризацию кода на данные, вычисления и действия.
  4. Укажите ключевые характеристики категории исходного кода данные. Какие есть сильные стороны и ограничения у данной категории?
  5. Укажите ключевые характеристики категории исходного кода вычисления. Какие есть сильные стороны и ограничения у данной категории?
  6. Укажите ключевые характеристики категории исходного кода действия. Какие есть сильные стороны и ограничения у данной категории?
  7. Опишите типичные рефакторинги, которые можно применить для выделения вычислений из действий. В каких случаях стоит использовать данные методы?
  8. Следует ли применять данные методы к действиям, даже если невозможно из них выделить вычисления? Поясните на примерах.
  9. Объясните шаблон копирования данных при записи. Для чего он может быть использован? Приведите пример использования.
  10. Объясните шаблон глубокого копирования данных. Для чего он может быть использован? Приведите пример использования.
  11. Какие из шаблонов копирования можно использовать для организации данных приложения в неизменяемом формате? Укажите их достоинства и недостатки для решения этой задачи, приведите примеры.
  12. Какие задачи стремиться решить стратифицированный дизайн архитектуры приложения. Приведите пример.
  13. Объясните назначение и способ применения шаблона несложной реализации при использовании стратифицированного дизайна. Приведите пример.
  14. Объясните назначение и способ применения шаблона барьера из абстракций при использовании стратифицированного дизайна. Приведите пример.
  15. Объясните назначение и способ применения шаблона минимального интерфейса при использовании стратифицированного дизайна. Приведите пример.
  16. Объясните назначение и способ применения шаблона удобные слои при использовании стратифицированного дизайна. Приведите пример.
  17. Объясните назначение и способ применения рефакторингов выделение явного аргумента и замены тела с помощью обратного вызова. Приведите примеры.
  18. Какие возможности предоставляет использование функций как объектов первого рода. Для каждой возможности приведите аналогичный шаблон проектирования объектно-ориентированных приложений.
  19. Приведите условия применения и пример использования рефакторингов выделения явного аргумента и замены тела с помощью обратного вызова для создания функций высшего порядка.
  20. Опишите функцию высшего порядка forEach: способ вызова, подход к реализации, ограничения по использованию. Приведите примеры её использования.
  21. Опишите функцию высшего порядка для формирования шаблонов копирования данных при записи и глубокого копирования. Приведите примеры их использования для массивов и ассоциативных массивов (объектов).
  22. Опишите функцию высшего порядка map: способ вызова, подход к реализации, ограничения по использованию. Приведите примеры её использования.
  23. Опишите функцию высшего порядка filter: способ вызова, подход к реализации, ограничения по использованию. Приведите примеры её использования.
  24. Опишите функцию высшего порядка reduce: способ вызова, подход к реализации, ограничения по использованию. Приведите примеры её использования.
  25. Опишите подходы к реализации цепочек по обработке цепочек: с оборачиванием функций высшего порядка и с выделением функций-вычислений. Укажите плюсы и минусы каждого из подходов. Приведите примеры.

Билеты для пересдачи

  • Барасан Никита Артемович: вопрос № 5 и вопрос № 17
  • Верещагин Даниил Дмитриевич: вопрос № 3 и вопрос № 14
  • Козлова Екатерина Эдуардовна: вопрос № 2 и вопрос № 20
  • Коротков Александр Сергеевич: вопрос № 4 и вопрос № 19
  • Ненартович Алексей Антонович: вопрос № 1 и вопрос № 16
  • Роменская Олеся Максимовна: вопрос № 6 и вопрос № 22
  • Чернышов Дмитрий Васильевич: вопрос № 9 и вопрос № 25
  • Чернышова Анастасия Александровна: вопрос № 10 и вопрос № 18
  • Язынин Сергей Германович: вопрос № 12 и вопрос № 21