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

Механика: преподаватель формулирует простую задачу (отсортировать массив, найти подстроку, посчитать статистику), но накладывает на решение жёсткие ограничения. Например:

  • нельзя использовать циклы;
  • нельзя использовать встроенные функции сортировки;
  • весь код должен уместиться в пять строк;
  • нельзя объявлять дополнительные переменные.

Студенты работают индивидуально или в парах в течение десяти-пятнадцати минут, после чего решения сравниваются. Побеждает самое короткое, самое оригинальное или самое элегантное решение по итогам голосования группы.

Адаптация: для начинающих ограничения делают мягкими (нельзя использовать конкретную конструкцию, которую ещё не проходили, — значит, нужно найти обходной путь). Для продвинутых студентов вводят ограничения на вычислительную сложность или объём используемой памяти, приближая задачу к условиям технического собеседования.