Новый метод оценки алгоритмического мышления на непрограммистских задачах: разведывательное исследование
Аннотация
Алгоритмическое мышление в основном оценивается через стандартизированные тесты и профессиональные задачи, что сужает возможности выявления специфики алгоритмизации решения у людей с разным опытом программирования. С целью уточнить гипотезу о такой специфике мы предложили альтернативный метод оценки, требующий алгоритмизации, но не специальных знаний в программировании. По протоколам решений разработанной нами задачи выделены параметры качества алгоритмизации, допускающие надежную кодировку. Результаты показали, что предложенный метод дает требуемую вариативность решений и позволяет создавать новые варианты задач на основе выделенных параметров. Также уточнена гипотеза о специфике алгоритмизации у людей с разным опытом программирования, хотя ее проверка требует специальных исследований.
Тип | Статья |
Издание | Мир психологии № 02/2024 |
Страницы | 268-285 |
УДК | 159.99,37.025 |
DOI | 10.51944/20738528_2024_2_268 |
Подходы к оценке мышления программистов
Программистская деятельность заключается в создании программ — алгоритмических решений разнообразных задач. Согласно профессиональному стандарту [4] деятельность программиста направлена на разработку и отладку кода, включая формализацию и алгоритмизацию поставленных задач: написание программного кода, его проверку и отладку. Поэтому работа с задачей: анализом условий, структурированием имеющихся данных, пониманием ограничений, оценкой качества решения и выбора оптимального решения — напрямую касается профессиональной компетенции программиста. Неудивительно поэтому, что во множестве исследований оценивались эффекты обучения программированию в отношении самых разных видов когнитивных способностей, имеющих отношение к решению задач: например, дивергентного мышления [8], метакогнитивных способностей [7], способности разрешать проблемы [13; 20], навыков рассуждения [14; 20], креативности [9], интеллекта [2].
Если же ставится задача исследовать не эффекты обучения программированию, а специфические особенности решения задач программистами, то в литературе выделяются две методические возможности для такого исследования: во-первых, стандартизированные тесты, во-вторых, тестовые «программистские» задачи, когда, например, предлагается написать какой-то код или найти в готовом решении ошибки. Однако ни один подход не позволяет выявить искомую специфику решения задач. Так, при стандартизированном тестировании исследователи имеют дело с некоторым результатом когнитивной деятельности, выраженным числом правильно решенных тестовых заданий. Хотя такой подход позволяет сравнивать результаты решения задачи программистами, сам процесс размышления, связывающий постановку задачи с итоговым ответом, остается скрытым.
В отличие от стандартизированных тестов, использование программистских задач позволяет оценить изменения в подходах к их решению и специфике размышления. При этом такого рода задача может быть поставлена только людям, которые уже имеют профессиональную подготовку, и, таким образом, не дает возможности описать специфику алгоритмического мышления программистов в сравнении с непрограммистами. Поэтому при всей полезности исследований с использованием профессиональных задач вопрос о методе сравнения алгоритмического мышления программистов остается открытым.