Мы никогда бы не оказались там, где находимся сейчас, без замечательных учителей, которые привили нам интерес к разным предметам, и не только к математике и естественным наукам. В той же мере нас вдохновили преподаватели английского, которые внушили нам любовь к литературному труду и помогли понять его.
И больше всего мы благодарны нашим семьям за их огромную поддержку и терпение.
Глава 1
Мышление будущего
Вычислительное мышление – это важный навык, который в информатике осваивают и используют для решения различных задач. Вычислительное мышление настолько важно, что во многих странах его преподают в средних школах. Но в чем же оно состоит? Как оно изменило практически все сферы нашей деятельности? И как использовать его для отдыха и развлечений?
Что с ним делать?
Представьте, что вы ученый и пытаетесь понять поведение птиц, которые ищут корм на земле. Одни кормятся, а другие смотрят в небо, чтобы вовремя увидеть хищника. Как они распределяют роли? Другие ученые тратят время на наблюдения за птицами, но вы идете дальше. Вы придумываете алгоритм – последовательность шагов, – которому должны следовать птицы, чтобы распределить роли. Потом вы создаете компьютерную модель и симулируете сценарии на основе гипотезы, что каждая птица смотрит на своих соседей. Это не только совпадает с результатами ваших наблюдений, но еще и позволяет делать прогнозы, поддающиеся проверке.
Возможно, вы фокусник и у вас появилась идея нового фокуса, основанного на математических свойствах чисел. Вы продумали этапы его представления, однако не уверены, что фокус получится при любых условиях. Вместо того чтобы опробовать его, вы начинаете рассуждать логически и приходите к выводу, что в определенной ситуации все может пойти не так. Внеся некоторые изменения в демонстрацию фокуса, вы гарантируете, что эта ситуация никогда не возникнет.
Вы учитесь в школе, и учитель объясняет, как функционирует мозг. На доске нарисован нейрон и помечены его части, все это нужно запомнить. За вечер вы пишете программу, которая ведет себя как нейрон. Объединив несколько «нейронов» вместе, вы видите, каким образом состоящая из них группа может выполнять какие-то действия. На следующий день с помощью этой программы вы объясняете друзьям, как все работает.
Или, возможно, вы – доктор, которого расстраивают ошибки медицинского персонала при пользовании определенными приборами. Администрация винит сотрудников – одну медсестру только что уволили за такую ошибку. Вы осознаете, что проблема – в устройстве прибора. Занятому человеку легко сделать промах. Вы обращаетесь к производителям и показываете, что небольшие изменения в конструкции гарантируют, что проблема больше никогда не возникнет.
Или, например, вы – учитель и у вас огромная кипа проверенных работ, сложенных в произвольном порядке. Их надо рассортировать, чтобы на родительском собрании можно было быстро найти ту, о которой вы хотите поговорить. Но ничего страшного. Вы знаете, как быстро разложить их по порядку.
Еще один пример. На каникулах вы работаете в кофейне и замечаете, что у вас всегда длинная очередь и это огорчает клиентов. Вы говорите боссу, что сотрудник за кассой проводит много времени в бездействии и отчасти в этом заключается причина задержки. Если вся команда будет работать вместе, то очередь пойдет гораздо быстрее.
Может быть, у вас есть масса идей для игр, в которые вы с удовольствием играли бы с друзьями. Но, в отличие от остальных, вы не просто рассказываете о своих блестящих идеях, а пишете программы на их основе – и через несколько дней уже играете.
Информатика – это не только компьютеры, но и вычисления, которые происходят повсюду. Думайте как программист, и вы начнете подмечать вычисления и видеть возможности усовершенствовать действительность – масса шансов воплотить идеи в реальность.
Навыки для XXI века
Все, кто изучает информатику, получают бонус – осваивают новый фундаментальный тип мышления и способ решения задач. Этот тип мышления абсолютно необходим в новом мире, где высокие технологии повсеместны. Он называется «вычислительное мышление» и является большим преимуществом для тех, кто осваивает информатику, независимо от их будущей профессии. Эта идея получила огромный резонанс, и во многих странах вычислительное мышление добавили к чтению, письму и арифметике в качестве ключевого навыка, который нужно осваивать уже в начальной школе. Благодаря ему компьютеры теперь преобладают во многих сферах нашей жизни и меняют все, чем мы занимаемся, – от слушания музыки до торговли на бирже, от шопинга до науки. Вычислительное мышление дает нам возможность не только высказывать блестящие идеи, но и воплощать их в реальность.
В первый раз словосочетание «вычислительное мышление» использовал педагог и математик Сеймур Паперт. Он предложил обучать математиков совершенно новым способом – с использованием компьютеров. Однако благодаря информатике изменилась не только математика, но и вся наука. Ученый-информатик Дженнет Уинг заявила, что это самый важный компонент в изучении информатики, который надо использовать гораздо шире. Именно она популяризовала термин «вычислительное мышление». Компания Microsoft была настолько впечатлена ее аргументами и важностью поднятой темы, что предоставила Университету Карнеги – Меллон, где работала Уинг, грант в несколько миллионов долларов на создание центра по изучению этого аспекта информатики и его влияния на другие науки.
Так что же такое вычислительное мышление? Это не «то, как думают компьютеры», хотя их все чаще программируют на его использование. Это набор разнообразных человеческих навыков для решения задач. Чтобы их приобрести, необходимо изучать природу вычислительных процессов. Кроме того, необходимы такие определенно важные навыки, как умение творить, ясно объяснять и работать в команде, – но их развивают практически все учебные предметы. Вычислительное мышление заимствует элементы из других типов мышления, например математического и научного. Однако в его основе лежат очень конкретные навыки решения проблем, такие как способность мыслить логически и алгоритмически, не упуская ни одной детали, а также умение находить эффективные способы что-нибудь сделать. Также важную роль играет способность понимать других людей. Информатика уникальна в том плане, что она объединяет все эти разнообразные навыки. Вместе они формируют мощный тип мышления, который меняет мир. Именно благодаря ему мы стали по-новому заниматься наукой, делать покупки, вести бизнес, слушать музыку, играть в игры – в общем, жить по-новому.
Алгоритмическое мышление
Алгоритмическое мышление лежит в основе вычислительного мышления. Оно позволяет находить решения задач нетрадиционным способом. Для специалиста по информатике решить задачу – это не просто получить ответ, например «42». И даже не добиться конкретного результата – например, «я решил судоку из сегодняшнего номера». Решения – это алгоритмы! Алгоритм – просто набор инструкций, которым необходимо следовать. Если точно их выполнять, вы получите собственно ответ на задачу («42») или добьетесь, чего хотите (например, решите судоку). Как только вы получите алгоритмическое решение, вы будете решать подобные задачи вообще не задумываясь, просто «слепо» следуя инструкциям. При наличии такого алгоритма задачу, не углубляясь в суть программы, решит кто угодно. При этом не надо знать или понимать, как в конечном итоге работает алгоритм. Можно даже не иметь представления о том, что вы решаете судоку (и что такое вообще судоку). А это значит, что бездушная машина, компьютер, тоже будет механически следовать инструкциям и решать подобные задачи в любой форме. Именно так и работают компьютеры – они выполняют алгоритмы, написанные людьми.