Дэниел Гарсия, создатель непрофильного курса с поэтичным названием «Красота и радость программирования» из Калифорнийского университета в Беркли объясняет суть компьютерной науки по аналогии с молочными коктейлями.
«Суть абстракции в том, чтобы скрыть детали. Вот почему вы не найдёте в кулинарной книге рецепт земляничного коктейля. Скорее вы найдёте там рецепт молочного коктейля, в котором будет сказано о мороженом, молоке, а также фруктах или ягодах на ваше усмотрение. В старых кулинарных книгах можно найти отдельные рецепты для земляничного, малинового и ежевичного коктейлей. Но однажды, вероятно, кто-то взял и сказал: почему бы нам не объединить всё это и не сделать один общий рецепт?»
Суть абстракции в том, чтобы придавать сложному и запутанному ясные и точные контуры.
Это как обратный отсчёт перед запуском космического корабля: за каждым пунктом контрольного списка — жизнеобеспечение, топливо, грузоподъёмность — стоят десятки более мелких элементов, которые подлежат проверке.
Скрывая нижние уровни информации, можно увидеть систему в целом, не задерживая внимание на частностях и деталях. Если мы выйдем на высокий уровень абстракции, мы сможем улучшить систему, изменив её отдельные элементы, а не создавать её заново, что всегда требует гораздо больше времени и ресурсов.
Всем уже очевидно, что компьютеры стали незаменимой частью нашей жизни — не только в технологическом, но и в личном плане. Но оказывается, недостаточно быть продвинутым пользователем компьютерных технологий. Ключевым становится другое — понимание логики, которая стоит за программами и интерфейсами. Отсюда и возникает интерес к компьютерному мышлению. Это концепция, которая привлекает к себе всё больше внимания среди специалистов в сфере образования и предлагает новые подходы к решению проблем в самых разных областях жизни.
Фото: Randen Pederson(источник: flickr.com)
Растущий интерес к этой теме, а также высокая потребность рынка труда в специалистах с навыками программирования делают учебные программы по computer science во всём мире всё более популярными. С 2011 года количество студентов по этой специальности в США выросло примерно в два раза. В Бостоне даже была разработана учебная программа для детей от 3 до 5 лет: четыре мультяшных обезьяны попадают в различные передряги, из которых нужно выбраться, используя методы компьютерного мышления.
Концепция компьютерного мышления сама по себе не нова. Профессор MIT и специалист по разработке искусственного интеллекта Сеймур Паперт ввёл этот термин ещё в 1980 году, чтобы описать, как дети могут использовать компьютеры в образовательных целях.
Как и вокруг всякой крупной идеи, вокруг компьютерного мышления существует большое количество споров — и по поводу его применимости, и по поводу смыслового наполнения. Сюда, как правило, включают навыки распознавания паттернов и последовательностей, создания алгоритмов, разработки тестов, поиска и исправления ошибок, а также умение сводить сложное к простому и переходить от конкретного к абстрактному.
Многие специалисты считают, что эти навыки необходимы далеко не только в образовании и решении специализированных задач.
Компьютерное мышление может стать подходом, который сделает повседневную жизнь людей более продуктивной, поможет меньше путаться в мелочах и решать проблемы более целенаправленно. Возьмём простой пример с выстраиванием последовательностей. Столовые приборы в общепитах, как правило, лежат в начале стойки. Но было бы гораздо удобнее, если бы находились в конце — вам не нужно балансировать с тарелкой на подносе и вы уже точно знаете, понадобится ли вам нож или чайная ложка.
Навыки компьютерного мышления находят своё применение в самых разных сферах — от планирования путешествий и покупки билетов до общественного здравоохранения и экономики. Чтобы принимать верные решения, нацеленные на определённый результат, всегда полезно выделить главные элементы проблемы и понять, как они связаны с более мелкими её частями. Как только у вас появляются подходящие для этого мыслительные инструменты, всё становится гораздо проще.
(источник: flickr.com)
С другой стороны, даже многие специалисты в сфере computer science сомневаются, что компьютерное мышление стоит представлять как некую систему навыков, которая имеет преимущество по сравнению с более традиционными подходами. Нет достоверных данных, которые показали бы, что навыки программирования делают людей более креативными или способными к решению задач. Кроме того, десятилетия исследований в сфере образования показали, что любые навыки не переносятся в другие сферы автоматически.
Если человек хорошо умеет строить алгоритмы в компьютерной программе, это вовсе не значит, что он так же логично будет подходить к решению других жизненных проблем.
Вероятно, каждому было бы полезно понимать логические механизмы, которые стоят за работой компьютерных систем, поскольку мы сталкиваемся с ними постоянно. Другой вопрос — насколько эти механизмы уникальны. Правильно было бы сказать, что компьютерное мышление — просто новое название общих законов человеческого мышления, которые появились задолго до появления компьютеров. Новые технологии просто сделали их более видимыми.
Обучение компьютерной логике часто происходит с помощью визуальных языков программирования наподобие Scratch. Здесь не нужно учить сотни команд, достаточно запомнить только основные элементы. В Scratch команды делятся на блоки: синий, к примеру, управляет движением графического объекта, сиреневый — его внешностью, розовый — звуком. С помощью визуализации и упрощения школьники и студенты непрофильных специальностей могут освоить основы программирования, увидеть базовую логику, а не детали, предназначенные для специалистов.
Фото: Artwork: Marion C. Martinez(источник: marionmartinez.com)
Читать далее.
Комментарии:
Авторизуйтесь, чтобы оставить отзыв