пятница, 27 сентября 2013 г.

О книге для детей


Я хотел научить ребенка программировать, поэтому написал свою книгу.


И вы знаете, это сработало!
В четвертом классе парень уже делал свои игры на профессиональном языке программирования!

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

Как мне это удалось? Я вам сейчас расскажу. 



Книга для детей: 'Яша учится программировать'. Игорь Грессус


Представьте себе, книга родилась из одной страницы!



Многие дети любят играть в компьютерные игры. Да что "многие", почти все. И вот в какой-то момент ко мне пришла мысль, а можно ли извлечь толк из постоянных сидений за компом или айпадом? 
И я спросил: "А знаешь, как делаются игры? Они программируются на специальном языке, языке программирования. Наверно это ужасно увлекательно написать свою игру!"



Сначала это не возымело действия. 

Но через некоторое время ребенок стал рассказывать свои идеи, как и что он хотел бы улучшить в играх, в которые играл.  А еще совсем скоро сказал: "Хорошо наверное уметь программировать, этим ведь еще и зарабатывать можно! Своим умом!"



Передо мной остро встал вопрос: "Какой язык программирования выбрать?"  
Сам-то я начал программировать очень рано, на маленьком самодельном компьютере, который мне собрал отец. Помнится, он подарил мне этот увесистый железный клавиатурный блок, который нужно было подключать к телевизору, так как мониторов еще и в помине не было. А в качестве записывающего устройства выступал старый советский магнитофон. (А сейчас уже даже мой айпад не знает слова «магнитофон»)


Игр тоже особо не было. Зато был Бейсик и Ассемблер - мои первые языки программирования. Затем уже в школе я выучил Паскаль (теперь он называется Дельфи), Си, и дальше пошло-поехало, но это уже отдельная история. 

Сейчас же меня занимал вопрос: "Хорошо, с этих языков начинал я, но актуальны ли они сейчас в деле обучения детей? Не появилось ли что-нибудь новое за это время? Более подходящее. Захватывающее. Но и простое в изучении?"



И тут я случайно наткнулся на язык Процессинг. 


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

Но Процессинг вырос из языка Java, и оказался совместимым с ним. А Java, позвольте заметить, один из наипопулярнейших профессиональных современных кроссплатформенных языков. И это внушало уважение.

Но Java, Java сложна для начинающих. В ней нельзя вот просто раз, взять и что-нибудь такое сотворить. Скажем, сделать бегущий по экрану цветной овал, олицетворяющий зайчика, или, тем более, трех-мерный вращающиеся куб. 
А вот в Процессинге, в Процессинге оказалось, что можно. Этим он меня и подкупил. 

Потом я узнал, что он был создан аж в 2001 году Кэйси РИВЗом и Бен Фрайем в Массачусетском Технологическом Институте. 

Кстати, уже много позже, когда Кэйси РИВЗ ознакомился с моей уже написанной на тот момент книжкой, он выразил свою поддержку и сказал что-то вроде: "Эй, а ведь классный подход повествования!". 

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

Я себя спросил: "А мы?" Ведь многие популярные сейчас сервисы, те же соц. сети, зародились за рубежом, и только потом попали к нам. 



Оставались еще некоторые вопросы. 


Например, на каких компьютерах его можно запускать? 

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



И еще один вопрос, что у нас с оплатой? 

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



Конечно, перед тем, как я сел сам писать книжку, дите пробовало читать разные книжки для начинающих. Но это было совсем не то. Рассчитаны они на старших школьников и студентов. 



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



Процессинг же позволял с первых же строк кода — творить! И это очень воодушевляло!


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



И тогда я написал свою первую страницу. Дал почитать Илье. И тут поднялись такие вопросы, о которых я даже не думал. Настолько они были очевидны для меня, как и для любого программиста с опытом. 



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


А потом снова вопросы, и снова правки. Текст рос, как на дрожжах, становясь все более и более пригодным для юных читателей. 

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

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



А книга, тем временем, обретала живость и индивидуальность. 


Так сухие и безличные "типы данных" превратились в веселые и озорные "семейства". "Переменные" ожили и стали "монстриками". Круглые скобочки — калиткой. Фигурные — заборчиком. 

Сказочный мир рос и набирал силу. 

А светящиеся пониманием и вдохновением глаза ребенка, его первые работающие игры были отличной наградой. 



И вот теперь пришло время поделиться этой книжкой с вами, уважаемые читатели. 
Я ее подготовил в формате PDF. И Вы ее можете приобрести на этом сайте за 250 рублей.

Но что интересно, так это нестандартный способ покупки. 
Вы скачиваете ее прямо сейчас, а платите потом, когда будет удобно.

Ссылка для скачивания книги: 
Яша учится программировать_1.6.pdf


Номер счета в системе Яндекс.Деньги:
41001788821233  

Номер счета в системе QIWI:
+79154300163 


Если у вашего ребенка возникнут вопросы, то в книге указан е-мейл, по которому можно свободно писать и прояснять неясные моменты.


Надеюсь вам понравится!



Вопросы можно задавать и ВКонтакте: vk.com/programmingforkids

А вы уже побывали  в замечательном онлайн-кружке у нас на сайте?   Он рассчитан на детей от 7 лет и является первым шагом в изучении языка Процессинг.
Всего 10 мини-историй, и час-два времени. Несмотря на кажущуюся внешнюю простоту, по окончании дети усваивают несколько важнейших понятий программирования: пошаговый принцип выполнения алгоритмов, основы синтаксиса, получают первый опыт исправления ошибок, экспериментируют с координатным пространством экрана, нестандартно применяют стандартные команды, и, конечно же, балуются. 

Книга постоянно (раз в 1-2 недели) обновляется, исправляются ошибки, поэтому я бы рекомендовал проверять новостной твиттер проекта, или, если удобно, подписаться на обновления (ваш е-мейл гарантировано никому не будет передан, сама рассылка не чаще раза в неделю):







История изменений
Номер
Изменение
Дата
1.2
Мелкие правки текста. История изменений
19.09.2013
1.3
Стр.73 Изображение
01.11.2013
1.4
Рецензия, реквизиты
13.11.2013
1.5
Обложка, испр. нумерация страниц
21.11.2013
1.5.1
Испр. опечатка на 23 и 22 странице. Спасибо kostya2908, thorr
22.11.2013
1.5.2
Испр. ошибки на стр. 27 (Елена Андреева), 148
Испр. произношение: 39, 55, 145, 164, 202, 86, 91 - спасибо DenisK
Стил. испр. 145, 151, 162, 164, 173, 174, 175, 177, 184, 186 + во всем тексте окружение арифм. знаков - спасибо DenisK
25.11.2013
1.6
Испр. ошибки на стр. 143, 145 - спасибо Дмитрий Турченко
Испр. ошибка на стр. 148
27.11.2013




| О книге для детей | Почему Процессинг? | Консультации по Skype | Онлайн-кружок |