В начале 2012 года мэр Нью-Йорка Майкл Блумберг написал в Твиттере: «Мое новогоднее решение - изучить компьютерный код при помощи Codecademy». И в течение всего прошедшего года тема «изучения кода», похоже, стала самой горячей темой в средствах массовой информации.
Почти одновременно с появлением сообщения от Блумберга, Министр Образования Великобритании Майкл Глоув сообщил о планах по замене школьного курса обучения ИКТ (информационные технологии и технологии связи) на программу «вычислительной техники» («computer science»). Существующая в настоящее время программа ИКТ часто концентрируется на «компьютерной грамотности» - то есть, на обучении работе с конкретными программными пакетами, такими как популярные электронные таблицы и текстовые процессоры.
Ожидаемые изменения являются попыткой достижения более сбалансированного понятия компьютерной грамотности - не только способности «читать» технологию, пользуясь ею, но и способности «писать». А в случае вычислительной техники, «писать» - означает исследовать мир программирования, творить при помощи компьютеров.
На сегодняшний день причина этих изменений, похоже, сильно связана с получением новых навыков, как будто освоение конкретных навыков может привести к росту в бизнесе и экономике. Но на самом деле, компьютерное обучение, должно идти дальше простой грамотности, дальше концентрации на конкретном наборе навыков. Оно должно усиливать требуемую инновациями беглость владения предметом.
Создание компьютерного кода
Беглое владение языком - это не только умение читать и писать. Человек, которые бегло владеет языком, обладает способностью думать в идиоматической форме. Не думать, скажем, по-русски, а затем переводить на французский язык, а думать сразу на французском языке. И для беглого, идиоматичного владения вычислительной техникой недостаточно просто выучить словарь отдельных языков программирования.
Нам нужно понимать, как использовать идеи, которые могут быть оформлены во внутреннюю работу компьютеров - и понимать, для чего эти идеи подходят лучше всего. Нам нужно уметь выражать мысли «по-компьютерному». Именно такие навыки нужны для инновационного, изобретательного подхода к новой технологии.
Программирование (или, кодирование) иногда описывается, как инженерное конструирование программного обеспечения. Но, по мере того, как вы начинаете думать «по-компьютерному», становится все более понятно, что не все программирование имеет отношение к процессу инженерного конструирования. Основная часть процесса программирования больше напоминает работу скульптора. Данные, технологии, коды, словно куски глины, должны быть подогнаны друг к другу, изучены и «попробованы на зуб», чтобы медленно превратиться во что-то значимое. Практически, программирование - это противоположность конструированию. Это дисциплина, больше относящаяся к искусству: оно начинается с набросков и изучения, а затем идет итеративное построение на основе этих набросков, в результате чего создается окончательная структура программы.
Компьютеры в роли протезов
Конечно, в реальной жизни одновременно используются оба подхода - и искусство и конструирование. Видимо, поэтому, наилучшей аналогией является архитектура (термин, который также используется в контексте компьютеров). Она несет элементы эстетики, и при этом имеет глубокие корни в физике. Она обеспечивает прочность и красоту, удовлетворяя как функциональным, так и эстетическим требованиям. Сегодня компьютерный код является неотъемлемой частью архитектуры того мира, в котором мы живем.
Он представляет собой движущую и формирующую силу финансов, бизнеса и развлечений, его можно встретить в наших домах, и в наших карманах. И поэтому термин «архитектура» воспринимается, как подходящая метафора для навыков, необходимых для того, чтобы командовать им: архитектура придает форму создаваемым с ее помощью жилищам, а ее собственная форма, в свою очередь, определяется тем, что строится с ее помощью.
Архитектура не может существовать без людей внутри ее. И мы точно так же не можем отделить компьютерный код от людей. От людей, которые пишут его, от людей, на формирование которых он воздействует.
Истина заключается в том, что мы не живем в компьютеризированном мире. На самом деле, мы живем в мире, использующем компьютеры.
Мы используем компьютеры и компьютерный код, как протезы, как вспомогательные устройства. Некоторые из них применяются в качестве протезов для памяти - расширяя ее емкость, позволяя нам хранить больше информации, и быстрее получать к ней доступ. Некоторые из них являются протезами, функционирующими в качестве экзоскелетов: они усиливают наши способности.
Легко попасть в ловушку использования этих устройство для того, чтобы «делать все быстрее». Например, решать арифметические задачи быстрее, чем мы можем делать это в нашей голове. Или использовать их в качестве аналогов существующих технологий - например, текстовых процессоров, что не очень отличается от печатания на машинке с концептуальной точки зрения.
Ускорители
Магия этих вспомогательных устройств, магия, лежащая в основе истинной инновации, вовсе не нацелена на то, чтобы просто делать те или иные вещи быстрее. Она дает нам возможность нового мышления. Имеются в виду не только те мысли, которые у нас появлялись, но более быстрое появление таких мыслей, которые никогда бы не появились, не имей мы эти вспомогательные устройства.
Нам нужно больше не тех людей, которые могут думать быстрее, а тех, кому в голову могут приходить новые мысли.
Подготовка, которая поощряет это, должна быть связана с обучением мышлению в новом мире, с обучением новым возможностям. Культивирование чувства обоняния, и чувства равновесия, необходимых для существования в мире, использующем компьютерный код.
Нам всегда будут нужны инженеры, но нам также нужны будут и другие: творцы, журналисты, политики, понимающие протезы и экзоскелеты этого цифрового мира, использующие средства вокруг них в качестве ускорителей для переноса нас в необычные и новые миры, которые не обязательно будут более доходными.
Следовательно, компьютерное образование должно не только обучать навыкам, оно должно реально прививать набор ценностей. Способ мышления, преподносимый, как часть широкого и разнообразного учебного плана.
И когда Майкл Блумберг говорит, что в Новом Году он намерен изучить программирование с помощью Codecademy, он не имеет в виду, что предполагает изменить свою карьеру и начать создавать Web-сайты. В его словах присутствует другой, более глубокий смысл. Он говорит: «Я решил учиться думать по-новому».
Именно это имеется в виду под вхождением в мир компьютерного кода: понять, что означает использование этих машин для того, чтобы изменить свое мышление. Именно этим становится новое мышление в условиях 21-го столетия.