Читать онлайн Пол Керзон, Питер Макоуэн - Вычислительное мышление: Метод решения сложных задач




Перевод Таира Мамедова

Редактор Ирина Тулина

Главный редактор С. Турко

Руководитель проекта А. Василенко

Корректоры Е. Аксёнова, О. Улантикова

Компьютерная верстка А. Абрамов

Дизайн обложки Ю. Буга


© World Scientific Publishing Co. Pte. Ltd., 2017

Russian translation arranged with World Scientific Publishing Co. Pte. Ltd., Singapore

© Издание на русском языке, перевод, оформление. ООО «Альпина Паблишер», 2018


Все права защищены. Произведение предназначено исключительно для частного использования. Никакая часть электронного экземпляра данной книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, включая размещение в сети Интернет и в корпоративных сетях, для публичного или коллективного использования без письменного разрешения владельца авторских прав. За нарушение авторских прав законодательством предусмотрена выплата компенсации правообладателя в размере до 5 млн. рублей (ст. 49 ЗОАП), а также уголовная ответственность в виде лишения свободы на срок до 6 лет (ст. 146 УК РФ).

* * *

Предисловие

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

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

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

Надеемся, что «Вычислительное мышление» увлечет вас и вы будете учиться думать как ученые-информатики.

Об авторах

Пол Керзон – преподаватель информатики Лондонского университета королевы Марии. В его научные интересы входят методика обучения информатике, взаимодействие человека с компьютером и формальные методы. В 2010 г. он стал лауреатом премии для преподавателей, учрежденной Академией высшего образования. В 2007 г. получил приз Совета по инженерным и физическим научным исследованиям как лучший непрофессиональный автор, пишущий о компьютерных науках. Один из основателей ресурса «Преподавание информатики в Лондоне» (Teaching London Computing, www.teachinglondoncomputing.org), который оказывает поддержку преподавателям в непрерывном профессиональном развитии. Самостоятельно освоил программирование, лежа на пляже на юге Франции.


Питер Макоуэн тоже преподаватель информатики Лондонского университета королевы Марии. Среди его научных интересов – машинное зрение, искусственный интеллект и робототехника.

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

Пол и Питер вместе создали проект «Занимательная информатика» (Computer Science for fun, www.cs4fn.org) и стали первыми членами британского объединения «Информатика в учебных заведениях» (Computing at School, CAS). Сейчас Пол – член совета директоров этой организации.

Благодарности

Эта книга – сборник новых материалов и переработанных статей, опубликованных на нашем сайте «Занимательная информатика» (www.cs4fn.org) и на другом нашем сайте «Преподавание информатики в Лондоне» (www.teachinglondoncomputing.org), предназначенном для поддержки учителей.

Мы благодарны Лондонскому университету королевы Марии, который всегда поддерживал нашу работу с общественностью. Все эти годы, пока мы занимались созданием занимательных материалов по информатике, мы получали финансовую поддержку от разных организаций, среди которых Лондонский университет королевы Марии, Совет по инженерным и физическим научным исследованиям (EPSRC), Google, мэрия Лондона, департамент образования, BCS, Исследовательские советы Великобритании (RCUK), Microsoft и ARM.

Нам оказали большую поддержку преподаватели со всей страны и из-за границы. Особую роль сыграли учителя, ученые, представители отрасли и члены нашего объединения «Информатика в учебных заведениях». Они активно содействовали нам и внесли ценный вклад в нашу работу, обмениваясь идеями и тестируя многие из предложенных заданий на практике. Также мы благодарны многим и многим студентам и преподавателям, которых мы в последние десять лет одолевали нашими веселыми занятиями, – за энтузиазм, готовность участвовать и помощь в рождении новых идей. Саймон Пейтон-Джонс из Microsoft Research, Питер Дикман из Google и Билл Митчелл из Британского компьютерного общества невероятно помогли нам. Тим Белл, Куинтин Каттс и команды, разрабатывающие задания по информатике для работы без компьютера в университетах Кентербери и Глазго, стали нашим источником вдохновения – как и многие другие. Задача «Ход конем», в частности, появилась благодаря идее Мацея Сыслё и Анны Беаты Квятковской из Университета Николая Коперника.

Всестороннюю помощь нам оказали сотрудники Лондонского университета королевы Марии. В их числе – Урсула Мартин, Эдмунд Робинсон и Сью Уайт, которые помогли нам запустить ресурс «Занимательная информатика». Габриэлла Казай и Джонатан Блэк очень много сделали на ранних этапах, а Уильям Марш, Джо Броди, Никола Плант, Джейн Уэйт и Тревор Брэгг подключились позднее.

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

Мы много и с большой пользой обсуждали математику и фокусы с Мэттом Паркером, Джейсоном Дэвисоном и Ричардом Гэрриоттом. Мы также хотели бы поблагодарить изобретательных фокусников наших дней и былых времен за то, что они придумали хитрые математические трюки с использованием вычислительных алгоритмов, которые мы теперь показываем и преподаем. Это Ник Трост, Дж. Хартман, Пол Гордон, Брент Моррис, Колм Малкехи, Артур Бенджамин, Макс Мэйвен, Альдо Коломбини, Перси Дайаконус, Джон Бэннон и, повторимся, великий ныне покойный Мартин Гарднер. Мы рекомендуем вам посмотреть их работы и больше узнать об алгоритмических фокусах. У них вы найдете удивительные приемы, алгоритмы и идеи для развлечения, а еще, возможно, откроете самый важный секрет: фокусы, не говоря уже о вычислительном мышлении, – замечательное хобби.

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

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

Глава 1

Мышление будущего

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

Что с ним делать?

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

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

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

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

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

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

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