Компьютерное мышление: за и против
12+
  вернуться Время чтения: 7 минут   |   Комментариев: 4
Сохранить

Компьютерное мышление: за и против

Новые подходы к обучению и решению задач строятся по образцу компьютерных алгоритмов. В чём плюсы и минусы такого подхода и есть в нём вообще что-то новое?

Дэниел Гарсия, создатель непрофильного курса с поэтичным названием «Красота и радость программирования» из Калифорнийского университета в Беркли объясняет суть компьютерной науки по аналогии с молочными коктейлями.

«Суть абстракции в том, чтобы скрыть детали. Вот почему вы не найдёте в кулинарной книге рецепт земляничного коктейля. Скорее вы найдёте там рецепт молочного коктейля, в котором будет сказано о мороженом, молоке, а также фруктах или ягодах на ваше усмотрение. В старых кулинарных книгах можно найти отдельные рецепты для земляничного, малинового и ежевичного коктейлей. Но однажды, вероятно, кто-то взял и сказал: почему бы нам не объединить всё это и не сделать один общий рецепт?»

Суть абстракции в том, чтобы придавать сложному и запутанному ясные и точные контуры.

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

Скрывая нижние уровни информации, можно увидеть систему в целом, не задерживая внимание на частностях и деталях. Если мы выйдем на высокий уровень абстракции, мы сможем улучшить систему, изменив её отдельные элементы, а не создавать её заново, что всегда требует гораздо больше времени и ресурсов.

Всем уже очевидно, что компьютеры стали незаменимой частью нашей жизни — не только в технологическом, но и в личном плане. Но оказывается, недостаточно быть продвинутым пользователем компьютерных технологий. Ключевым становится другое — понимание логики, которая стоит за программами и интерфейсами. Отсюда и возникает интерес к компьютерному мышлению. Это концепция, которая привлекает к себе всё больше внимания среди специалистов в сфере образования и предлагает новые подходы к решению проблем в самых разных областях жизни.

Фото: Randen Pederson
(источник: flickr.com)

Растущий интерес к этой теме, а также высокая потребность рынка труда в специалистах с навыками программирования делают учебные программы по computer science во всём мире всё более популярными. С 2011 года количество студентов по этой специальности в США выросло примерно в два раза. В Бостоне даже была разработана учебная программа для детей от 3 до 5 лет: четыре мультяшных обезьяны попадают в различные передряги, из которых нужно выбраться, используя методы компьютерного мышления.

Концепция компьютерного мышления сама по себе не нова. Профессор MIT и специалист по разработке искусственного интеллекта Сеймур Паперт ввёл этот термин ещё в 1980 году, чтобы описать, как дети могут использовать компьютеры в образовательных целях.

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

Многие специалисты считают, что эти навыки необходимы далеко не только в образовании и решении специализированных задач.

Компьютерное мышление может стать подходом, который сделает повседневную жизнь людей более продуктивной, поможет меньше путаться в мелочах и решать проблемы более целенаправленно. Возьмём простой пример с выстраиванием последовательностей. Столовые приборы в общепитах, как правило, лежат в начале стойки. Но было бы гораздо удобнее, если бы находились в конце — вам не нужно балансировать с тарелкой на подносе и вы уже точно знаете, понадобится ли вам нож или чайная ложка.

Навыки компьютерного мышления находят своё применение в самых разных сферах — от планирования путешествий и покупки билетов до общественного здравоохранения и экономики. Чтобы принимать верные решения, нацеленные на определённый результат, всегда полезно выделить главные элементы проблемы и понять, как они связаны с более мелкими её частями. Как только у вас появляются подходящие для этого мыслительные инструменты, всё становится гораздо проще.

(источник: flickr.com)

С другой стороны, даже многие специалисты в сфере computer science сомневаются, что компьютерное мышление стоит представлять как некую систему навыков, которая имеет преимущество по сравнению с более традиционными подходами. Нет достоверных данных, которые показали бы, что навыки программирования делают людей более креативными или способными к решению задач. Кроме того, десятилетия исследований в сфере образования показали, что любые навыки не переносятся в другие сферы автоматически.

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

Вероятно, каждому было бы полезно понимать логические механизмы, которые стоят за работой компьютерных систем, поскольку мы сталкиваемся с ними постоянно. Другой вопрос — насколько эти механизмы уникальны. Правильно было бы сказать, что компьютерное мышление — просто новое название общих законов человеческого мышления, которые появились задолго до появления компьютеров. Новые технологии просто сделали их более видимыми.

Обучение компьютерной логике часто происходит с помощью визуальных языков программирования наподобие Scratch. Здесь не нужно учить сотни команд, достаточно запомнить только основные элементы. В Scratch команды делятся на блоки: синий, к примеру, управляет движением графического объекта, сиреневый — его внешностью, розовый — звуком. С помощью визуализации и упрощения школьники и студенты непрофильных специальностей могут освоить основы программирования, увидеть базовую логику, а не детали, предназначенные для специалистов.

В младших классах российских школ, не говоря уже о детских садах, никто пока не задумывается о уроках программирования. И, пожалуй, зря. Некоторые дети уже в этом возрасте демонстрируют сильные алгоритмические способности, но вместо логических задач им дают в руки цветные карандаши. Обучение должно быть таким же разнообразным, как и дети: кого-то тянет в область художественного творчества, кому-то ближе всё точное и абстрактное.

Artwork: Marion C. Martinez
(источник: marionmartinez.com)

Но нет никаких причин представлять компьютерное мышление в качестве панацеи. Заставлять людей мыслить так же точно, как компьютер — значит лишать их чего-то очень важного. Люди должны мыслить как люди. Знакомство с основами логики никогда не будет лишним, но нельзя сделать из каждого человека программиста или математика.

Алгоритмическое мышление — лишь один из способов мыслить и решать задачи. Это хорошо, что в сфере образования он привлекает к себе всё больше внимания. Понимать общую логику любого предмета гораздо лучше, чем владеть набором разрозненных фактов. Но иногда одной лишь логики недостаточно. Логика не приводит к изобретению нового: с её помощью можно критиковать, улучшать и оптимизировать нечто уже имеющееся, но сама по себе она не обладает творческим потенциалом.

Создателям обучающих программ необходимо об этом помнить. Компьютерное мышление и логика, которая лежит в его основе — очень полезные инструменты. Но они станут ещё полезнее, если применять их в сочетании со свободным и творческим мышлением. Иногда очень важно быть внимательным к деталям и частностям, которые в рамках чистой логики кажутся абсолютно несущественными и не вписываются в ясные и точные алгоритмы.

По материалам:

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.

статьи по теме

Хочешь помочь? Научи программировать!

Где искать курсы по computer science

Если бы технологии были богами