Вычислительное мышление

Материал из Поле цифровой дидактики


Описание Объединение способностей человека и возможностей вычислительной техники. Способность усиливать свою деятельность, привлекая к себе на помощь программных агентов. Производные понятия - вычислительная наука, вычислительная история.
Область знаний NetSci, Информатика, Педагогика, Искусственный интеллект, Большие данные
Авторы Papert, Repenning
Поясняющее видео
Близкие понятия Вычислительная экономика, Вычислительная история, вычислительная социология, вычислительная педагогика, Вычислительная наука, Вычислительное участие
Среды и средства для освоения понятия StarLogo Nova, NetLogo, Scratch, R, Snap!, Python

Вычислительное мышление (Computational thinking) - это термин, объединяющий вклад компьютерных наук в мышление и взаимодействие в современном цифровом мире. Вычислительное мышление - это мощный инструмент для решения задач и понимания мира. Оно лежит в основе программирования, благодаря ему ученые решают задачи в области информатики, но его же можно использовать и для решения повседневных проблем. Оно настолько важно, что во многих странах его стали преподавать в школе.

способность говорить с вычислительными системами на понятном для них языке
Четыре краеугольных камня вычислительного мышления
Существует четыре ключевых метода (краеугольные камни) для вычислительного мышления:
  1. абстракция - сосредоточение внимания только на важной информации, игнорирование незначительных деталей
  2. декомпозиция - разбивка сложной проблемы или системы на более мелкие, более управляемые части
  3. алгоритмы - разработка пошагового решения проблемы или правила для решения проблемы
  4. распознавание паттернов - поиск сходных способов решения проблем см. паттерн вычислительного мышления


Диаграмма процесса вычислительного мышления (Википедия)

  • 660px-The_Computational_Thinking_Process.jpg
    • Repenning, A., A. Basawapatna, and N. Escherle, "Computational Thinking Tools," presented at the IEEE

Symposium on Visual Languages and Human-Centric Computing, Cambridge, UK, 2016.

  • The "algoRithms" part of CT has also been referred to as the "fourth R", where the others are Reading, wRiting, and aRithmetic.

Инструменты оценивания вычислительного мышления

  1. Dr.Scratch позволяет автоматически оценивать навыки ВМ с помощью анализа программного кода проектов в среде Scratch. Оцениваются семь компетенций или концептов, как их называют авторы инструмента, относящихся к ВМ: (i) абстрагирование и декомпозиция задачи; (ii) параллелизм; (iii) логика; (iv) синхронизация; (v) контроль потока исполнения; (vi) взаимодействие с пользователем; (vii) работа с данными. Для каждой компетенции оценивается её развитие до одного из 3-х уровней: «базовый», «развивающийся», «профессиональный». Уровень развития компетенции определяется с помощью проверки наличия в программном коде определенных конструкций Scratch. Логические операции считаются развитыми на базовом уровне, если в коде есть конструкция «if». Если есть парная конструкция «if – else», уровень считается «развивающимся», а если код содержит логические операции, уровень развития считается «профессиональным».
    1. см. Оценивание умений вычислительного мышления на основании анализа кода программ - Как оценить Scratch проект
  2. Измерения ВМ внутри платформы AgentCubes. В платформе Agent Cubes существуют разные виды персонажей-агентов. Персонаж действует по алгоритму, основанному на одном из девяти паттернов, которые авторы инструмента относят к паттерну ВМ. См.
  3. Тест ВМ, предложенный Роман-Гонсалес - Тест охватывает такие компетенции ВМ, как: (i) основные направления и последовательности; (ii) циклы со счетчиком; (iii) циклы с постусловием; (iv) простое ветвление «if»; (v) ветвление «if-else»; (vi) цикл с предусловием; (vii) простые функции. Для каждой компетенции оценивается её развитие до одного из четырёх уровней.
  4. Тест компетенций ВМ, предложенный Вейнтропом и Виленски. В своей работе Вейнтроп и Виленски предлагают тест компетенций, которые другие исследователи относят к вычислительному мышлению. Задания содержат примеры программ на языках программирования C++ и Scratch. Вопросы теста относятся к пяти компетенциям ВМ: (i) итерация; (ii) логические условия; (iii) переменные; (iv) функции; (v) понимание работы алгоритма. Вопросы раздела «итерация» содержат примеры циклических алгоритмов, например, испытуемым нужно определить сколько раз программа выведет ту или иную строку. Раздел «логические условия» – примеры алгоритмов с ветвлением. Раздел «переменные» – примеры алгоритмов с переменными, например обмен значений. Раздел «функции» – примеры алгоритмов с функциями, например, вызов одной функции из другой. Раздел «пониманием работы алгоритма» – примеры алгоритмов, для которых испытуемые должны результат работы.
  5. Тесты ВМ на основе заданий международного конкурса «Бобёр». Конкурс «Бобёр» – международное соревнование по информатике и вычислительному мышлению для школьников 3-12 классов, который проводится с 2004 года, школьники из России участвуют в нём с 2014 года. Группа исследователей Изу К. и др. использовала задания конкурса «Бобёр» для измерения ВМ. Отобранные задания конкурса были соотнесены с одной из 8 компетенций ВМ: (i) сбор данных; (ii) анализ данных; (iii) обработка и представление данных; (iv) декомпозиция задачи и абстрагирование; (v) алгоритмы и процедуры; (vi) автоматизация; (vii) параллелизм; (viii) симуляция. Тест был апробирован на когорте из 115400 учащихся, подтверждены надежность и валидность теста.
  6. Тест SCS1. Задания теста представляют из себя фрагменты кода на языке программирования с вариантами ответа. Задания относятся к десяти компетенциям внутри ВМ: (i) основы; (ii) логические операции; (iii) условный оператор; (iv) конечные циклы; (v) бесконечные циклы; (vi) массивы; (vii) процедуры с параметрами; (viii) функции с возвращаемыми значениями; (ix) рекурсия; (x) основы объектно-ориентированного программирования.
  7. Тест Чобан Е., Коркмаз О. В работе используется рамка, которая рассматривает ВМ как группу навыков, а не как теоретическое знание, продукт или отношение/восприятие. Задания теста относятся к семи категориям: (i) декомпозиция; (ii) абстрагирование; (iii) критическое мышление; (iv) распознавание паттернов; (v) решение задач; (vi) алгоритмическое мышление; (vii) креативность. Задания теста представляют из наборы типовых задач, характерных для ВМ, таких как лабиринтные задачи, поиск пути в графах, поиск паттернов и распознавание последовательностей и другие. Тест реализован как бесплатное web-приложение и доступен в сети интернет - https://www.emrecoban.com.tr/bd/index.php
  8. Тест ВМ Кентского университета. Тест пригодности к компьютерному программированию размещен на сайте карьерной службы https://www.kent.ac.uk/ces/tests/computer-test.html Задания теста представляют из себя вопросы по разделам математики и логики, каждый из которых проверяет определенную компетенцию ВМ.

Литература

  1. Beecher, K. (2017). Computational Thinking. BCS, The Chartered Institute for IT.
  2. Bers, M. U. (2017). Coding as a Playground: Programming and Computational Thinking in the Early Childhood Classroom (1 edition). New York, NY: Routledge.
  3. DK. (2017). DK Workbooks: Scratch Challenge Workbook (Workbook edition). New York, New York: DK Children.
  4. Krauss, J., & Prottsman, K. (2016). Computational Thinking and Coding for Every Student: The Teacher’s Getting-Started Guide (1 edition). Thousand Oaks, California: Corwin.
  5. Williams, H. (2017). No Fear Coding: Computational Thinking Across the K-5 Curriculum. Portland, Oregon: International Society for Technology in Education.
  6. Wing, J. M. (2006). Computational Thinking. Commun. ACM, 49(3), 33–35. https://doi.org/10.1145/1118178.1118215
  7. https://www.bbc.com/education/guides/zp92mp3/revision What is computational thinking?
  8. https://code.org/curriculum/course3/1/Teacher
  9. The beauty and joy of computing https://inroads.acm.org/article.cfm?aid=2835184
Теория
Вычислительное мышление как инструмент для решения задач. Ключевые методы вычислительного мышления: абстракция, декомпозиция, алгоритм, распознавание паттернов
Практика
Запишите алгоритм перехода исполнителем из одной комнаты в другую в среде Scratch, чтобы он был понятен не только машине, но и человеку.