Знайди свою мову: три дитячі книжки про програмування

Фото: Rainer Stropek, Flickr

Фінська програмістка й авторка дитячої книжки Лінда Люкас наголошує, що навички програмування в сучасному світі такі ж необхідні й важливі, як уміння писати й читати. Без них людину не вважатимуть грамотною та вона не буде конкурентоспроможною на ринку праці. Тож варто знайомитися з основами програмування ще в дитинстві.

За останні два роки книжки на цю тему нарешті почали виходити в українському перекладі. За 2017-2018 роки у книгарнях з’явилися «PYTHON для дітей. Веселий вступ до програмування» Джейсона Р. Бріґґса, «JavaScript для дітей. Веселий вступ до програмування» Ніка Морґана (обидві — в «Видавництві Старого Лева») та «Пригоди у Країні програмування» Лінди Люкас (у «Мандрівці») . І це позитивна тенденція.

До речі, автори цих книжок самі почали програмувати ще у шкільному віці. А тепер знайомлять із програмуванням дітей по всьому світу. Усі троє наголошують, що програмування — це цікаво, весело й дуже творчо. І варто отримувати від нього втіху.

Тож уперше в житті і я, журналістка й мама, спробувала свої сили у програмуванні. Спочатку всі ці модулі, дані, ідентифікатори, змінні, каталоги, оболонки, спрайти, стрічки, цикли тощо не вселяли в мене жодного оптимізму. Але поступово, із зануренням у процес, мені ставало все цікавіше, а багато речей уже не видавалися такими незрозумілими. Тож моя порада — варто спробувати.

Мислити креативно і продуктивно

Лінда Люкас «Пригоди у Країні програмування» (видавництво «Мандрівець», 2017)

«Пригоди у Країні програмування» — дебютна книжка Лінди Люкас, програмістки, ілюстраторки й авторки з Фінляндії. Ідея книжки з’явилася в неї ще в 2009 році, коли вона сама вивчала програмування. Згодом Лінда створила кампанію на платформі краудфандингу Kickstarter і зібрала необхідні для видання книжки 10 тисяч доларів усього за три години. А загалом їй вдалося зібрати 380 тисяч доларів, тобто у 38 разів більше, ніж вона запланувала. У 2015 році книжка побачила світ, і відтоді її перекладено більш ніж двадцятьма мовами світу.

Якщо ви хочете познайомити свою дитину зі світом програмування, то найкраще почати саме з цієї книжки. По-перше, тому що вона розрахована на дітей від 5 років (дві інші книжки в цьому огляді — для дітей від 7-8 років). По-друге, ця книжка — про програмування, але й не зовсім про нього.

Головну героїню звати Рубі — так само, як називається й одна з найпоширеніших мов програмування. Але, як пояснює авторка в передмові, «ця книжка не навчає певної мови програмування, а розвиває продуктивне мислення, що є однією із ключових навичок людини майбутнього». Тобто цю книжку можна назвати своєрідним підготовчим майданчиком для майбутніх програмістів.

Через короткі та прості історії, які трапляються з допитливою дівчинкою Рубі, Лінда пояснює основні принципи будь-якої мови програмування: вчить розкладати великі і складні проблеми на малі й прості, знаходити патерни (повторювані програмні елементи), створювати покрокові плани й мислити творчо у пошуку того чи іншого рішення. Акценти тут робляться на логіку і творчу уяву. А специфічні терміни й поняття, такі як алгоритми, структури даних, функції, цикли, Лінда пояснює на прикладі близьких і зрозумілих дітям речей. Наприклад, разом із Рубі читачам потрібно розшифрувати секретне повідомлення, зробити пліт, придумати власний танець, змайструвати драбину, підібрати одяг за чітко прописаними критеріями тощо.

Сам сюжет книжки за структурою схожий на комп’ютерну гру. Тато Рубі їде у відрядження й залишає їй листівку. У ній — завдання: дівчинка має зібрати п’ять діамантів. Більше жодної інформації. Тож Рубі спочатку засмучується, але потім складає план дій і вирушає на пошуки. У кожному розділі (а вони тут максимально лаконічні) вона когось зустрічає й мусить розв’язати певну задачу чи вирішити певну проблему. Для цього героїня має включити уяву та спиратися на логіку. Рубі аналізує, структурує, систематизує, вдосконалює. А ще — робить помилки та виправляє їх. Так вона поступово просувається до своєї мети.

Збираючи діаманти, Рубі зустрічає на своєму шляху дуже різних персонажів — Пінгвінів, хлопця Джанго, який має змія на ім’я Пітон, Снігового Леопарда, Роботів та Лисиць. Читачеві, який тільки відкриває для себе світ програмування й технологій, ці персонажі, радше за все, ні на що не натякатимуть. Хоча дехто одразу впізнає в зелених роботах символ Android. А в Пітоні — натяк на мову програмування Python. І це — своєрідна підказка, що й інші персонажі — не просто собі вигадка Лінди. А ще таким чином авторка мотивує читачів бути уважними й шукати різні приховані цікавинки, які вона «закодувала» на сторінках книжки.

Наприклад, якщо уважніше роздивитися кімнату Рубі, то можна побачити в ній логотипи соцмереж Twitter та Instagram, а на одному з малюнків на стіні прочитати три жіночі імені — Ада, Ґрейс і Френсіс (це всесвітньовідомі жінки-програмістки Ада Лавлейс, Ґрейс Гоппер і Френсіс Ален).

Люди, знайомі з програмуванням, відшукають і багато інших прихованих штук. Наприклад, на малюнках Рубі на стіні можна побачити котика Scratch, слона PHP, кота-восьминога із Github. Або ж замок Маріо чи Кріпера з Minecraft серед піксельних малюнків на підлозі. Я не впізнала. Мені допоміг сайт Helloruby.com. Саме там я, власне, й дізналася, що Рубі (англ. Ruby) — це мова програмування, яка водночас є простою для користувача та складною всередині. Її створив японець Yukihiro Matsumoto (або просто Matz) у 1995 році. І що Пінгвіни — це уособлення операційної системи з відкритим вихідним кодом (англ. open-source) Linux. А Сніговий Леопард — це назва версії операційної системи компанії Apple для комп’ютерів, а його любов до усамітнення та медитації — це натяк на любов компанії до незалежних рішень у програмній та апаратній частині комп’ютера.

Читати цю книжку можна і треба кілька разів, дізнаючись щораз більше інформації та роблячи мапу Країни Програмування більш цілісною. А для програмістів читання цієї книжки разом із дітьми стане справжньою розвагою-ребусом: помітити, вгадати й розшифрувати всі ці символи, знаки й метафори. У книжці Лінди немає випадкових деталей. Кожна з них щось розповідає про програмування.

До речі, Hello Ruby — це не лише серія книжок (Лінда написала й видала вже три книжки: «Пригоди у Країні програмування», «Подорож всередину комп’ютера» та «Експедиція в інтернет»), а й великий освітній проект. Він включає й книжки, і сайт із онлайн-активностями для дітей, і методичні матеріали для вчителів, і багато інших онлайн- і офлайн-активностей, пов’язаних із ІТ-освітою. Тож я би радила, читаючи книжку, робити також додаткові завдання на сайті. Там справді багато ключів для повнішого розуміння історії.

«Код — це майбутня універсальна мова. І це означає, що нам потрібна набагато, набагато різноманітніша спільнота людей, які би створювали нові продукти і не сприймали комп’ютери як щось незрозуміле, нудне і магічне, а ставилися до них як до конструктора, з яким можна майструвати, крутити і вертіти його», — сказала Лінда Люкас під час виступу на конференції TED у 2016 році. Її книжка «Пригоди у Країні програмування» якраз і дає дітям розуміння цих важливих речей.

Веселий вступ до програмування

Джейсон Р. Бріґґс «PYTHON для дітей. Веселий вступ до програмування» («Видавництво Старого Лева», 2017)

«PYTHON для дітей. Веселий вступ до програмування» — це 400-сторінкова «цеглинка», прочитавши яку, ви зможете написати дві справжні комп’ютерні гри — забавку з м’ячем «Скок!» та блукалку «Містер Руки-палички біжить до виходу». Але за умови, що будете терплячими й послідовними і зробите всі-всі завдання. Повірте, це того вартує. Попри те, що це зовсім прості ігри (хоча для таких новачків, як я, — не такі вже і прості), це дуже класні відчуття — бачити на екрані, що все працює, і знати, як воно функціонує. А ще це додає впевненості в користуванні комп’ютерною технікою й дозволяє не боятися складних речей. Адже, як вчить будь-яка мова програмування, всі складні задачі складаються з кількох простих.

У вступі її автор, новозеландський програміст Джейсон Бріґґс, пояснює, що програмування розвиває творчий підхід і дає користувачам низку навичок, що будуть корисними й у повсякденному житті. «Навіщо навчатися програмувати? Програмування розвиває творчий підхід, логічне мислення та вміння розв’язувати проблеми, — пише він. — Програміст має можливість створити щось із нічого, застосовувати логіку для перетворення програмних конструкцій так, щоб їх міг виконати комп’ютер, а коли щось відбувається не за планом, скористатися вмінням розв’язувати проблеми, щоб визначити, що саме не спрацювало. Програмування — це цікаве, іноді складне (а час від часу й прикре) заняття, і навички, які отримаєш у процесі, можуть бути дуже корисними і в навчанні, і в роботі, навіть якщо твоя кар’єра не матиме жодного стосунку до комп’ютерів».

Це справді цікавий процес, часом складний та навіть прикрий. Утім, завжди можна повернутися до попереднього етапу роботи і спробувати зробити все знову. Знайти й виправити помилку. Рухатися далі. Автор так продумав книжку, що після кожного розділу читач може відчути задоволення від результату. Це одна з переваг цієї книжки.

Ще одна перевага в тому, що автор говорить із читачем на рівних. Він уміє пояснити основи програмування зрозумілою для дітей (та дорослих-початківців) мовою, при цьому нічого не спрощуючи, без загравання із читачем і недоречного сюсюкання. Мені імпонує, що серед технічних рецензентів книжки є, наприклад, 15-річний Джош Поллок, який активно програмує з 9 років. Сам автор почав програмувати у 8 років, тож він написав свою першу книжку так, як звертався би до хлопчика такого віку. Тому тут багато дотепних завдань та кумедних прикладів, які допомагають зрозуміти основи мови Python.

На читача чекають жадібні монстри, секретні агенти, злодійкуваті ворони та інші цікаві персонажі. Бріґґс крок за кроком учить застосовувати основні структури даних, як-от списки, кортежі та модулі, малювати форми та узори за допомогою модуля мови Python під назвою turtle, створювати ігри, анімацію тощо за допомогою модуля tkinter, користуватися структурами керування на кшталт циклів та умовних конструкцій…

Загалом автор називає Python функціональною та експресивною мовою, яку легко вивчити і якою цікаво користуватися. Вона є однією з найпопулярніших сучасних мов програмування, яка завдяки простому і зрозумілому синтаксису особливо пасує для новачків. Її код досить легко читати, а ще вона має інтерактивну оболонку, в якій можна ввести програми й подивитися, як вони працюють.

До речі, всі називають цю мову програмування Пітоном, але названа вона була на честь британського комедійного шоу «Летючий цирк Монті Пайтона», а зовсім не на честь змії.

Утнімо щось крутецьке із JavaScript!

Нік Морґан «JavaScript для дітей. Веселий вступ до програмування» («Видавництво Старого Лева», 2018).

Саме так автор книжки «JavaScript для дітей» Нік Морґан звертається до читачів — закликає утнути щось крутецьке із JavaScript. Сам він родом зі США й працює frontend-разробником в Twitter. Як і автори попередніх двох книжок, Нік заохочує передусім, отримувати задоволення від програмування, розважатися, створюючи ігри та цікаві додатки. 

«Веселіться! Програмувати і справді можна весело та креативно, як і малювати чи то бавитися у гру (взагалі-то, в цій книзі вас очікує чимало малювання та ігор із JavaScript). Щойно ви зрозумієте принципи написання програм, єдиним обмеженням творчості буде ваша уява. Сподіваюсь, ви відірветесь як слід!», — пише Нік у передмові до книжки. Й одразу налаштовує читача на те, що нудно не буде. Це важливо, коли йдеться про 400-сторінкову книжку, в якій на читача очікують незрозумілі спочатку коди й терміни.

До речі, якщо взятися за «JavaScript для дітей» одразу після книжки «PYTHON для дітей», то процес піде швидше й легше, бо чимало моментів, термінів і принципів, що лежать в основі програмування, вже будуть знайомими. Саме так сталося зі мною.

«Існує величезна кількість способів використання JavaScript. Усі веб-оглядачі, такі як Chrome, Firefox та Internet Explorer, використовують JavaScript. За її допомогою веб-програмісти здатні перетворювати веб-сторінки, що виглядають як прості документи, у цікаві програмні додатки та ігри», — наголошує Нік Морґан.

А головне, ця мова досить проста в користуванні. Для того, щоб написати JavaScript-програми та оперувати ними, потрібен лише веб-оглядач, як-от Internet Explorer, Mozilla Firefox або ж Google Chrome. Вони вже містять вмонтований JavaScript-інтерпретатор, який розуміє, як зчитувати JavaScript-програми.

Книжка має низку переваг: чіткі та лаконічні пояснення, веселі приклади, іронічні ілюстрації. Крок за кроком автор учить працювати з рядками, масивами та циклами, інструментами DOM та jQuery та елементом canvas для малювання графіки, писати й модифікувати HTML-елементи для створення динамічних веб-сторінок. У фіналі ви самостійно напишете класні онлайн-ігри «Знайди захований скарб», «Шибениця» та «Змійка», якими зможете поділитися з друзями.

Якщо говорити про мій особистий досвід, то JavaScript видалася мені трохи складнішою за PYTHON: завдання вимагали від мене більших зусиль і я витрачала на них більше часу. Хоча виклад інформації мені більше сподобався саме у книжці про JavaScript.

Але все це дуже індивідуально. Я би радила пробувати різні мови програмування (а їх існує дуже багато!), щоби зрештою знайти саме ту, яка сподобається найбільше і робота з якою надихатиме й тішитиме. Раджу не боятися брати до рук ці посібники з програмування не лише тим, хто цікавиться ІТ, а й тим, хто думає, що програмування — це дуже складно. Так, може бути непросто, але процес захоплює й дає відчуття втіхи від результату й нових знань. Тож шукайте свою мову і програмуйте в задоволення.

Книжки надали на огляд «Видавництво Старого Лева» та «Мандрівець». 

Зображення —  сайт «Видавництва Старого Лева».

comments powered by Disqus