Парадигмы программирования/Список экзаменационных вопросов

Материал из eSyr's wiki.

Перейти к: навигация, поиск

Экзаменационные вопросы по курсу «Введение в парадигмы программирования»

  1. История термина «парадигма» в применении к программированию. Томас Кун. Роберт Флойд.
  2. Экстенсиональные определения парадигмы программирования (примеры парадигм) и варианты интенсиональных определений.
  3. Парадигмы программирования и языки программирования. Уровни поддержки парадигмы в языке.
  4. Рекурсия как парадигма программирования. Примеры.
  5. Виды рекурсии.
  6. Остаточная (хвостовая) рекурсия и её оптимизация.
  7. Язык Лисп: S-выражения.
  8. Язык Лисп: вычислительная модель и основные спецформы.
  9. Язык Лисп: функция как объект данных и функции высших порядков.
  10. Язык Лисп: фунарг-проблема, лексическое и динамическое связывание, замыкания.
  11. Редуцирование списков.
  12. Основные видимые отличия языка Scheme от языка Лисп.
  13. Продолжения (континуации) языка Scheme как обобщение нелокальных выходов и обработки исключений.
  14. Техника рекурсии с накапливающим параметром и её достоинства в сочетании с оптимизацией хвостовой рекурсии.
  15. Язык Пролог: структуры данных. Сходство и различия между структурами данных Пролога и S-выражениями.
  16. Язык Пролог: переменные, унификация выражений, контексты
  17. Язык Пролог: основы вычислительной модели, предикаты, факты; имитация функций, возвращающих значения, с помощью предикатов большей арности.
  18. Язык Пролог: гипотеза о замкнутости мира и её последствия.
  19. Язык Пролог: процедурная семантика, отсечения, причины зависимости программы от порядка целей.
  20. Язык Пролог: арифметика.
  21. Язык Пролог: функционирование предикатов в различных прототипах и факторы, мешающие такому функционированию.
  22. Язык Рефал: структуры данных, сравнение их с S-выражениями.
  23. Язык Рефал: переменные, сопоставление, синтез нового выражения.
  24. Язык Рефал: функции, вызов функций. Цикл работы Рефал-машины.
  25. Расширенный Рефал (условные выражения в предложениях).
  26. Лямбда-исчисление: синтаксис; БНФ лямбда-выражения.
  27. Лямбда-исчисление: редукция, редексы, виды редукции.
  28. Лямбда-исчисление: нормальный и аппликативный порядок редукции, следствие из теоремы Чёрча-Россера и теорема стандартизации.
  29. Рекурсия в лямбда-исчислении и Y-комбинатор.
  30. Ленивые вычисления: общие принципы; причины выигрыша и потери в эффективности.
  31. Ленивые вычисления и бесконечные структуры данных.
  32. Императивное программирование: основные определяющие факторы, понятие состояния программы.
  33. Программирование в терминах явных состояний (автоматное программирование), его сходства и различия с императивным программированием.
  34. Событийно-ориентированное программирование.
  35. Объектно-ориентированное программирование: объекты и сообщения.
  36. Объектно-ориентированное программирование: теоретико-множественное введение понятия класса.
  37. Две терминологические традиции ООП и их синонимия.
  38. Командно-скриптовые языки программирования и их основные особенности.
  39. ASCII-текст как парадигма.


Введение в парадигмы программирования


01 02 03 04 05 06 07 08 09 10 11


Календарь

Сентябрь
24
Октябрь
01 08 15 22 29
Ноябрь
05 12 19 26
Декабрь
03

Экзамен по курсу пройдёт 10 декабря 2009 года в 18:00 в аудитории 524. | Список экзаменационных вопросов

Личные инструменты
Разделы