Основи програмування в Scratch

Як навчити дітей програмуванню ?

Останніми роками ми спостерігаємо переорієнтацію шкільної інформатики в бік вивчення офісних технологій та роботи в Інтернеті. Власне це і є вивченням технологій в найширшому контексті цього слова (недарма інформатика винесена саме в цю освітню галузь). Разом з цим спостерігається невпинне зменшення кількості годин на вивчення розділу "Основи алгоритмізації та програмування", яке по своїй суті перетворюється на ознайомчий курс без певного навчального навантаження. Окрім того, в учнів досить часто відсутня мотивація щодо вивчення основ програмування, оскільки більшість існуючих практичних завдань обчислювального змісту, що потребує від учнів знань та вміння володіти певним математичним апаратом (що не завжди можливо, зважаючи на стан підготовки середнього учня). Часом розв'язування задачі зводиться до реалізації алгоритму з алгебри чи геометрії в програмі на Паскалі, результатом роботи якої є одне-два числа. Більшість учнів не розуміє, яке відношення має алгоритм Евкліда до створення програм в операційній системі Windows. На нашу думку поліпшити мотивацію в учнів щодо вивчення програмування можна застосовуючи візуальні мови програмування - Visual BASIC, Delphi. Опоненти використання візуальних мов програмування вказують на те, що складання програм у цьому випадку перетворюється на дизайн "вікон", кнопок та меню, і зовсім мало уваги звертається на власне програмування. Цей підхід (невізуальний) ми простежуємо ще від часів Алголу та Паскаля Н.Вірта - вони практично не передбачали операторів, що реалізували б інтерфейс програми з користувачем, оскільки основним була реалізація того чи іншого саме обчислювального алгоритму. З появою операційних систем з графічним інтерфейсом користувача положення докорінним чином змінюється - дизайн зовнішнього вигляду програми, зручність користування нею, стають пріоритетними поряд з ефективністю роботи алгоритмів та використанням ресурсів системи. Тим більше, що саме програмування ніхто не відміняє - просто воно стало існувати на іншому рівні, залишаючись домінатним тільки для певного типу задач, оскільки багато завдань можуть бути виконані засобами операційної системи - від керування вікнами до програвання мультимедійних файлів.
Залишається проблема малої кількості годин на вивчення програмування. Разом з тим існуючі програми без проблем дозволяють пренести вивчення програмування в основну школу, навіть в 5-6 класи. Практика показує ефективність вивчення програмування вже починаючи з 5-го класу (вивчення мови програмування Лого). Тут теж є певні проблеми, пов'язані з віковими особливостями учнів. Ж.Піаже в своїх працях переконливо показав, що до 10-12 років в дітей переважає конкретний тип мислення, а вже згодом розвивається абстрактне мислення. Це є знаною нормою, яка є однією з підвалин сучасної педгогіки. Отже маємо певне протиріччя - конкретне мислення дитини і програмування, що вимагає певного абстрагування. Вихід було знайдено ще в 80-их роках ХХ сторіччя Сеймуром Пейпертом, "батьком" мови програмування Logo - перехід в програмуванні від обробки чисел до керування об'єктами. Черепашка в Logo - об'єкт вже не абстрактний, він існує в певному, хоча і віртуальному середовищі, може певним чином взаємодіяти з ним, за ним можна спостерігати, і головне - ним можна керувати. Ідеї Лого-подібних середовищ мали місце і у вітчизняній шкільній інформатиці - виконавці Робот, Кресляр (Чертежник) та інші. На сьогодні Лого-середовища (Логомиры та ПервоЛого) досить широко використовуються при вивченні інформатики саме в 5-6 класах в Російській Федерації. На жаль, ми не маємо версії такого середовища з україномовним інтерфейсом, що певним чином негативно відображається на можливостях застосування цих програмних продуктів в Україні, хоча і у нас є позитивний досвід використання Лого (Пахомова Г.В.), підручники та програми, схвалені Міністерством освіти та науки України.
Разом з тим, Logo не є безальтернативним варіантом при вивченні початків програмування - ми пропонуємо вам познайомитись з мовою програмування Scratch.


Про Scratch

Scratch (Скретч) - інтерпретована динамічна візуальна мова програмування основана і реалізована на Squeak. Завдяки динамічності, вона дає змогу змінювати код навіть під час виконання. Мова має за мету навчити дітей поняттю програмування і дає змогу створювати ігри, анімації чи музику. Scratch - середовище програмування, яке дозволяє дітям створювати власні анімовані та інтерактивні історії, ігри і інші витвори. Ними можна обмінюватися всередині міжнародної спільноти, яка поступово формується в мережі Інтернет. Середовище програмування можна безкоштовно завантажити і вільно використовувати у шкільній чи позашкільній освіті. Scratch базується на традиціях мови Лого.
У середовищі Scratch використовується метафора цеглинок Лего, з яких навіть найменші діти можуть зібрати прості конструкції. Але, розпочавши з малого, можна далі розвивати та розширювати своє уміння будувати і програмувати. Scratch створювався спеціально для того, щоб підлітки 10 – 16 років використовували його самостійно, в мережі позашкільного навчання на базі комп'ютерних клубів, в містах та регіонах з низьким рівнем доходів. Це нове технологічне середовище дозволяє їм виразити себе в комп'ютерній творчості.
Розробники цього напряму на чолі з Мітчем Рєзніком і Аланом Кеєм вважають, що найбільш важливим у потужних та недорогих сучасних персональних комп'ютерах є те, що вони створюють нове освітнє середовище. У ньому учні можуть обговорювати та користуватися цими новітніми ідеями зовсім не так, як вони це робили за допомогою підручників. З цим і пов'язана робота, яку веде дослідницька група на чолі з Аланом Кеєм щодо середовища Сквік. Мета діяльності групи - допомогти дітям навчитися думати краще і глибше, ніж це може робити більшість дорослих.
У Scratch проявляються багато ідей програмування, властиві середовищу Лого та Лего-Лого. Але тепер вони втілені на більш високому рівні. Користувачі можуть збирати свої програми-процедури з блоків так само, як вони збирали конструкції з цеглинок Лего. З конструкцій і керуючих структур можуть бути зібрані різні агенти, що виконують прості інструкції і, отже, що володіють поведінкою. Ці агенти можуть взаємодіяти між собою і відтворювати співтовариство в середовищі Scratch.
Scratch може використовуватися в різних формах: у школах, музеях, центрах додаткового навчання, удома. Він створювався для учнів 8 - 16 років, але і діти ранішого віку можуть працювати над Scratch-проектами разом з батьками або старшими братами чи сестрами, та і студенти вузів можуть використовувати Scratch на заняттях.

Чому Scratch?

Коли учні створюють проекти в Scratch, вони опановують навички 21 сторіччя, які їм будуть необхідні для успішної самореалізації та майбутнього успіху:
  • творче мислення
  • ясне спілкування
  • системний аналіз
  • використання технологій
  • ефективна взаємодія
  • проектування
  • постійне навчання
Scratch розроблявся як нове навчальне середовище для навчання школярів програмування|програмуванню і позиціонувався авторами як альтернатива "культурі PhotoShop". У Scratch можна створювати фільми, гратися з різними об'єктами, видозмінювати їх вигляд, переміщувати їх по екрану, встановлювати форми взаємодії між об'єктами. Це об'єктно-орієнтоване середовище, в якому блоки програм збираються з різнокольорових "цеглинок" команд так само як машини збираються з різнокольорових блоків у конструкторах Лего. Досвід і метафори Лего-Лого в середовищі Scratch лежать на поверхні.
Ми можемо взяти будь-який об'єкт і здійснити над ним дії:
  • видозмінити його зовнішній вигляд за допомогою фіолетових команд - блоків зовнішнього вигляду;
  • перемістити його за допомогою синіх команд блоків переміщення;
  • помістити команди переміщення і видозміни всередину оранжевих блоків керування;
  • додати до керуючих блоків "цеглинки" звуків;
  • і т.п.
У результаті виконання простих команд може бути створена складна модель, в якій взаємодіятимуть багато об'єктів, наділених різними властивостями. Початковий рівень програмування такий простий і доступний, що Scratch розглядається в якості засобу навчання не тільки старших, але і молодших школярів.

Вивчаємо Scratch - програми курсу

Програмування з Рудим Котом

Орієнтовне планування занять по програмуванню в Скретчі
Заняття проводяться у вигляді гуртка або ж для проведення занять використовуються години варіативної складової навчального плану (за можливістю).
Автором використовувалась слідуюча схема: І семестр — знайомство з комп'ютером та операційною системою, вивчення простого текстового редактора (типу Блокнот) та графічного редактора (Paint), основи роботи в мережі; ІІ семестр — вивчення Скретча. Така схема викликана тим, що на початок 5 класу більшість учнів (якщо не проводились відповідні заняття в початковій школі) мають лише поверхове уявлення про комп'ютер та роботу з ним. Саме в першому семестрі учні опановують основні навички роботи з персональним комп'ютером, при цьому було спрощено навчальний матеріал, оскільки опановування офісних додатків планується в наступних класах.
Заняття проводяться у вигляді поєднання теоретичної (бесіда, обговорення, розробка персонажів (їх малювання), робота з дидактичним матеріалом) та практичної частини, яка передбачає безпосередню роботу учнів з навчальним комп'ютерним середовищем. Більшість розроблюваних проектів використовують готові персонажі-спрайти з інсталяційного пакету програми.
Практично з другого заняття вводиться поняття цикла “завжди”, як структури, що забезпечує повторення певної дії. Команда “якщо” вводиться з-за нагальної потреби опрацьовувати наявність певного положення персонажа-спрайту (вихід за межі Сцени). Поняття “змінна” буде введено пізніше (в 6 класі).
Обробку (виведення та запис) звуків не було означено у вигляді окремої теми (не всі комп'ютери мають можливість виведення звуків), хоча в багатьох проектах в кінці семестру учні використовують звукові ефекти.

№ Тема (Проект та примітка)
1. Алгоритм та програма. Скрипт (Знайомство зі Скретчем. Перегляд готових проектів.Запуск та знайомство з інтерфейсом програми)
2. Спрайти та їх рух («Акваріум». Цикл “завжди”)
3. Зміна вигляду спрайта («Метелики» , графічний редактор)
4. Створення нових спрайтів («Метелик і квітка». Графічний редактор)
5. Зміна вигляду Сцени («Папуга в клітці». Графічний редактор)
6. Зміна напряму руху спрайтів («Кажани в нічному небі». Команда “якщо”)
7. Події та їх обробка («Мурашка». Реагування на натиснуту клавішу)
8. Події та їх обробка («Олівець». Реагування на переміщення миші)
9. Події та їх обробка («Песик і Гіпопо». Реагування на торкання спрайтів)
10. Створення простого графічного редактора («Олівець-художник» , реагування на торкання кольору)
11. Кулька в лабіринті(«Лабіринт»;керування спрайтами)
12. Більш складніші програми («Дорога та перехрестя»)
13. Розробка простої гри («Теніс»)
14. Розробка інтерактивної історії («Лисиця та ворона»)
15. Робота над індивідуальними проектами
16. Перегляд та обговорення проектів
17. Робота над колективним проектом («Рукавичка» по казці «Рукавичка»)
18. Робота над колективним проектом («Рукавичка»)
19. Підсумкове заняття

Наші посібники

Корисні посилання

Академічні матеріали

Відповіді на запитання

Хто є розробником Scratrch?
Програму розроблено в лабораторії Lifelong Kindergarten ("дитячий садок на все життя") під керівництвом професора Мітчела Рєзніка
Хто підтримує цей проект?
Проект став можливим за підтримки National Science Foundation, Microsoft, Intel Foundation Nokia, та MIT Media Lab
Де можна отримати Scratch?
Завантажити з Scratch сайту. Реєстрація не є обов'язковою, але бажаною (ви її можете пропустити. Розмір архіву - близько 30 Мбайт. В архіві, крім власне програми, є приклади проектів, зразки спрайтів, фони, звуки.
Чи можна використовувати Scratch в школі?
Безперешкодно. Scratch є вільнопоширюваним програмним забезпеченням, отже не потребує додаткового ліцензування. Ви може встановити програму на необмежену кількість комп'ютерів та передавати третім особам.
В яких операційних системах можна використовувати Scratch?
Scratch розроблено для Windows та MacOS. Існують також версії для Linux (Ubuntu та Mandriva). Версія 1.3 підтримує українську та російську локалізацію для інтерфейсу
З якого віку можна використовувати Scratch?
Найкраще з 10-12 років - є напрацювання, які показують гарні результати. Є також досвід використання і з 8-ми років - все залежить від підготовки дітей та вчителя. Верхня вікова межа не обмежена - в деяких університетах за допомогою Scratch студенти розробляють навчальні симуляції фізичних процесів
Які базові навички необхідні для роботи зі Скретчем?
Вмикання/вимикання комп'ютера, запуск програми, робота з мишею, знайомство з клавіатурою, вміння працювати з простим графічним редактором.
Із спеціальних знань бажано - система координат, десяткові дроби (практика показує, що в 5-му класі учні успішно опановують ці поняття, ще до введення їх в математиці)
Чи можна використати проекти без самого середовища розробки?
Для поширених Інтернет-браузерів існує аплет, що дозволяє вмонтовувати проекти у веб-сторінки
Де можна ознайомитись з іншими проектами?
На сайті Скретчу, хоча багато проектів є в самому інсталяційному пакеті.
Як можна завантажити власний проект на сайт?
Маючи активне з'єднання з Інтернетом, можна безперешкодно експортувати свій проект, навіть не знаючи адреси сайту - натисніть кнопку відправити!, заповніть форму і за декілька хвилин проект буде завантажено.
Чи можна створювати в Скретчі "потужні програми"?
Безперечно. Скретч має досить потужний математичний апарат, можливості для роботи із цілими числами та числами з десятковою комою, з рядковими змінними(досить обмежено), цикли та оператори вибору. Масиви реалізовані у вигляді списків, елементами яких можуть бути, як числа так і рядки. Версія 1.3 не підтримує створення процедур та функцій у звичайному вигляді, але можна створювати окремі скрипти-процедури, яким можна передавати "повідомлення"-аргументи, і які, в свою чергу, теж можуть передавати результати. На сьогодні поки що немає можливості введення даних з клавіатури. Разом з тим в Скретчі було без проблем реалізовано алгоритми знаходження коренів квадратного рівняння та системи лінійних рівнянь, знаходження площі трикутника за формулою Герона та через координати вершин, розклад числа на прості множники, тощо.
Скретч (Scratch) – нова мова програмування, яка дозволяє легко створювати власні проекти: анімаційні та інтерактивні історії, ігри, моделі та розміщувати їх в мережі Інтернет.
Проект розрахований на просування навчального динамічного візуального середовища програмування Scratch (Скретч). Якщо ви вважаєте, що інформатика - це не тільки Windows та офісні додатки, коли на першому плані постає розвиток логічного мислення учнів, коли хочете зацікавити своїх вихованців освітніми ідеями ХХІ сторіччя - приєднуйтесь.
Що ви можете зробити в рамках проекту? Розробка проектів у Скретчі - інтерактивні історії, ігри, навчальні симуляції фізичних, біологічних та інших процесів, розробка методичних посібників по програмуванню в Скретчі, розробка дидактичних посібників - карток, постерів, навчальних презентацій та всього іншого, що може бути цікавим, як для вас, так і для інших членів спільноти.
Вас чекає участь у різноманітних конкурсах, що їх буде проводити українська та міжнародна спільнота Скретчу.
Тут ви зможете дізнатись про події, пов'язані зі Скретчем та ідеями програмування для дітей.