Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Web Design
  2. Problem Solving
Webdesign

Основы Вычислительного мышления

by
Length:MediumLanguages:

Russian (Pусский) translation by Andrey Rybin (you can also view the original English article)

 Веб-дизайнерам, необходимо уметь думать о задачах так, как могли бы думать о них компьютеры, поэтому "вычислительное мышление", является для них необходимым навыком. (Примечание переводчика:в начале было желание перевести термин как абстрактное мышление, но здесь автор имеет в виду компьютероподобное мышление, поэтому далее будут использоваться термины "вычислительное" или "компьютерное" мышление). Это дает системные инструменты, которые необходимы прирешении сложных задач наших клиентов.

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

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

Что такое Вычислительное мышление?

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

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

Процесс планирования и достижения этих целей требует использования вычислительного мышления в том или ином виде. 

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

breaking problems down into manageable parts
Анализ проблемы

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

Такой подход соответствует "принципам компьютерного (вычислительного) мышления"

Принципы Вычислительного Мышления 

Есть четыре главных элемента:

  1. Декомпозиция    
  2. Абстрагирование
  3. Выделение паттернов 
  4. Создание алгоритма 

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

1. Декомпозиция

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

“Если декомпозиция задачи не сделана - решать ее гораздо сложнее. Иметь дело со множеством разных элементов сразу, гораздо сложнее , чем разбить задачу на ряд маленьких подзадач, и решать каждую по отдельности.” – BBC Bitesize                                     

2. Распознавание Паттернов  

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

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

 3. Абстрагирование 

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

Итак, что это за важная информация, на которой мы должны сосредоточиться?  При абстрагировании мы должны сосредоточиться на общих характеристиках, похожих для каждого элемента, а не на частных деталях. 

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

“Если мы не абстрагируемся, мы можем прийти к неверному решению проблемы, которую мы пытаемся решить.” – BBC Bitesize 

Как только у нас появилась модель - мы можем создавать алгоритм.

4. Создание Алгоритма

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

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

Определение: Алгоритм  - это план, набор пошаговых инструкций для решения задачи.

”Алгоритм не всегда связан со сложными навыками в программировании; по сути, это последовательность шагов по направлению к цели.” – John Villasenor 

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

Использование Блок-схем 

Блок-схемы - это прекрасный способ для записи алгоритмов. 

“Блок-схема — распространенный тип схем (графических моделей), описывающих алгоритмы или процессы, в которых отдельные шаги изображаются в виде блоков различной формы, соединенных между собой линиями, указывающими направление последовательности. Такое описание иллюстрирует модель решение конкретной задачи." – Wikipedia 

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

example of ui elements from ux kits
Пример элементов блок-схемы из UX набора

Использование Псевдокода

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

Он понимает код.  Код или алгоритмы, которые формируют набор инструкций с использованием определенного синтаксиса.

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

Псевдокод поможет вам грамотно записать решение вашей задачи и избежать ошибок во время написания кода.  Это способ записи инструкций в упрощенном виде, который читается как код. Псевдокод, это не код, поэтому в нем не используется специфический синтаксис, который используется в коде. 

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

 Вот например, это псевдокод (взятый на сайте университета в Теннесси), по расчету оплаты:

А это, чуть более сложный псевдокод, для расчета зарплаты в случае переработки:

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

  •  STOP/END Компьютер понимает все буквально.  Вы должны сказать ему когда выражение или инструкция закончились. Используйте для этого записи STOP и END
  • IF/ELSE/THEN Компьютеры понимают условные выражения: если событие A произошло, то тогда делай B, если нет - делай C.
  • INPUT/OUT Иногда коду требуются входные параметры, для того чтобы он был запущен и чтобы выдал что-то в результате.  Входящие данные, Это то что пользователь, или другой источник дает компьютеру. Выходные данные возникают в результате работы серии команд. 
  • STORE/SAVE Псевдокод, который дает команду компьютеру сохранить значения, если необходимо.

Оценка Решений

Это, по-сути, пятая часть всего процесса. Вы используете вычислительное мышление, чтобы прийти к этому результату. Решение - это алгоритм, который может быть использован, чтобы запрограммировать компьютер.

Вам не терпится перейти к программированию, но перед этим, вы должны оценить решение. Зачем? 

 “Без оценки, любые огрехи в алгоритме могут быть пропущены, и программа может работать не корректно, или не лучшим образом.” – BBC Bitesize 

Процесс оценки алгоритма, можно представить как процесс отладки программы.

Заключение

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

Помните, что вычислительное мышление включает в себя следующие шаги: 

  1. Декомпозиция: разбиение задачи на компоненты.
  2. Выделение Паттернов: определение схожих элементов в подзадачах. 
  3. Абстрагирование: фокусирование на самой важной информации и отбрасывание несущественной.
  4. Запись Алгоритма: запись кода, для решения задачи. Запись пошаговых инструкций, которые могут быть прочитаны и поняты компьютером.  Инструкции пишутся,  с использованием информации полученной в ходе декомпозиции, оценки паттернов и абстрагирования.
  5.  Оценка: поиск ошибок в алгоритме  их корректировка, чтобы он работал без сбоев.

Полезные Рессуры

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.