Выбрать главу

Научное мышление

Алгоритмическое мышление – это не просто способ решать задачи. Оно открывает новые пути для понимания мира. В традиционной науке используются эксперименты. Биологи ставят эксперименты на крысах и обезьянах, на клеточных культурах. Медики проводят испытания лекарственных препаратов. Физики ставят эксперименты над самим миром. Однако, если мыслить алгоритмически, возможен другой вариант. Если существует теория, объясняющая некое явление, будь то воздействие радиации на поверхность планеты, формирование экосистемы или развитие злокачественной опухоли, мы можем создать алгоритмы, работающие подобным образом. Мы можем создать вычислительную модель – программу, которая должна симулировать интересующие нас феномены, и проводить эксперименты на модели, а не в реальном мире. Если мы правильно понимаем явление, то программа будет вести себя как объект моделирования. Если этого не произойдет, значит, с нашей теорией что-то не так. Обдумывая, что пошло не так, мы обнаружим, чтó надо изменить в теории, и, таким образом, будем лучше понимать явление. Вполне вероятно, что изучение модели выведет нас на новые предположения, которые можно проверить уже в реальном мире.

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

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

Глава 2

В поисках способа говорить

Одним из самых тяжелых патологических состояний, какие только можно вообразить, является синдром «запертого человека». Человек в таком состоянии полностью парализован и в лучшем случае в состоянии только моргать. Разум заключен в тюрьму бесполезного тела. Человек воспринимает все вокруг, но не может передавать информацию. Тем, кто хотел бы помочь людям с таким синдромом, очевидно, нужно учиться на медиков. Но может ли что-нибудь сделать программист?

Сидром «запертого человека»

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

«Скафандр и бабочка» – невероятно жизнеутверждающая книга. Это автобиография Жан-Доминика Боби, которую он написал после того, как очнулся в больнице полностью парализованным. Он рассказывает о жизни с синдромом «запертого человека». То есть у него был способ общения, который позволил не только разговаривать с медиками, друзьями и семьей, но и написать книгу. Боби сделал это, вообще не прибегая к технике. Но как?

Представьте себя в его положении – очнулись на больничной койке. Как вы могли бы общаться? Как могли бы написать книгу? Только человек с ручкой и бумагой смотрит на вас, готовый записывать слова. Вы из тех, кому повезло, – вы можете моргать одним глазом, но это все. Это единственное движение, которое вам доступно. Значит, разговаривать вы не в состоянии. Однако вы видите и слышите.

Теперь представьте, что вы врач такого пациента и вам необходимо придумать способ общения с ним.

Просто как A, B, C

Вам нужно условиться о способе превратить моргание (все, что доступно пациенту) в буквы. Возможно, сначала вам придет в голову такой вариант: когда он моргнет раз, это будет означать «А», два раза – «В» и так далее. Тогда помощнице останется посчитать, сколько раз моргнул пациент, и записать соответствующие буквы.

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