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

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

Итак, что такое вычислительное мышление?

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

Представьте, что вы чистите зубы! Вы делали это миллион раз, выполняя простую повторяющуюся задачу, которой неукоснительно следовали всю свою жизнь. Тем не менее, когда вы разбиваете его:

Start
    Get toothbrush and toothpaste
    Wet the toothbrush with water
    Squeeze toothpaste on the toothbrush
    Brush teeth in a circular motion for 2 minutes
    Rinse mouth with water
    Spit out the toothpaste
    Rinse toothbrush
    Put away toothbrush and toothpaste
End

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

Четыре ключевых навыка вычислительного мышления!

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

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

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

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

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

Принятие этих навыков не только поможет вам лучше решать проблемы, но и поможет вам понять, как работают компьютеры.