Методика викладання теми «Програмування в середовищі Scratch» в школі
3.1 Специфіка навчання школярів програмуванню в середовищі Scratch.
В даний час інформатику починають вивчати вже в початковій школі. Виникає питання: чи можна в початковій школі дітей навчати алгоритмізації та програмування?
Можна, але при дотриманні наступних умов:
· Для вирішення алгоритмічних задач обрана зрозуміла і цікава учням предметна область;
· Програмна реалізація навчального середовища програмування має дружній користувальницький інтерфейс;
· Для створення алгоритму розв'язання задачі використовуються візуальні засоби подання структур даних і структур управління, які не потребують запам'ятовування великої кількості службових слів і синтаксичних правил запису програми.
Таке програмне середовище, в основі якого лежить мова програмування Scratch, була розроблена групою вчених з Массачусетського технологічного інституту (MIT). Створюючи цю мову, вчені поставили більш широку задачу, ніж навчити учнів молодших класів програмуванню. Основна ідея проекту (http://scratch.mit.edu) - стати частиною освітньої програми учнів, розвинути у них творчі здібності, логічне мислення, свободу у використанні інформаційних технологій. Все це вирішується шляхом залучення учнів у створення мультфільмів, демонстраційних роликів, програм-тренажерів, комп'ютерних ігор, інтерактивних мультимедійних презентацій.
В основі програмного продукту Scratch лежить графічний мова програмування, що включає різні типи даних і структури управління, реалізований в зрозумілому, дружньому інтерфейсі, доступному для розуміння і використання учнями. Крім того, розвинені алгоритмічні конструкції мови Scratch і концепції об'єктно-орієнтованого програмування дозволяють створювати досить складні та ефективні програми, роблять це середовище корисним для старшокласників і студентів (правда, більшою мірою для непрофільних спеціальностей).
Програма мовою Scratch являє собою скрипт (сценарій), створений шляхом підбору та суміщення графічних блоків, що представляють дані і структури управління. Причому дані мають мультимедійну природу, тобто учень може створювати малюнки, музику, оперувати з числової та графічної інформацією.
Перерахуємо особливості Scratch, що дозволяють ефективно використовувати його на початковому етапі навчання програмування та інформаційних технологій.
1) Для того щоб учні ефективно освоювали знання в новій галузі, необхідна наявність мотивації. А мотивація навчальної діяльності виникає, якщо вони відчувають особисту зацікавленість у придбанні знань для досягнення своєї мети. Scratch дозволяє створювати проекти, які цікаві різним віковим групам від 8 до 16 років і старше - інтерактивні презентації, мультфільми, комп'ютерні ігри, програми-тренажери з використанням графіки та мультимедіа.
2) При створенні програм в Scratch не потрібно написання текстів програм на формалізованих мовах програмування, так як тут надані всі необхідні графічні засоби для зображення даних і структур управління. Поєднуючи графічні блоки, можна створити програму і запустити її на виконання в тому ж самому середовищі Scratch.
3) Для полегшення процесу створення програми розробники реалізували захист системи від синтаксичних помилок. Тобто при суміщенні графічних блоків можна отримати тільки синтаксично правильні конструкції.
4) Широкі можливості маніпуляції з візуальними даними розвивають навички роботи з мультимедіа інформацією, полегшують розуміння принципів виконання алгоритмічних конструкцій та налагодження програм. Наявність операторів «йти в покажчик миші», «повернутися до покажчика миші», «якщо край, відштовхнутися» і так далі дозволяє створювати динамічну графіку учням, ще не володіють математичним апаратом маніпулювання графічними об'єктами в координатної системі.
5) Використання шаблонів картинок і звуків з існуючих бібліотек, створення власних файлів, виконання таких операцій з файлами проектів, як Зберегти, Відкрити, Створити, дозволяє учням швидко освоїти роботу з файловою системою і стандартними додатками.
6) Отримання навичок спілкування в IT-співтоваристві, вміння провести перетворення мул редагування існуючого проекту, змінити картинки і скрипти в проектах інших людей і додати їх у свій власний проект шляхом спільної роботи та обміну через мережу «інтернет» створює умови для підготовки людини до активного життя в інформаційному суспільстві. Як було відзначено, віковий діапазон користувачів Scratch досить широкий.
Школярі можуть створювати проекти, які не потребують складної алгоритмічної структури. При цьому вони можуть висловити свої творчі здібності у творі сценарію проекту, підготовці графічних і звукових компонент. Для старшокласників середу Scratch може бути використана на вступних заняттях з вивчення мов програмування високого рівня для демонстрації основних понять: змінна, значення змінної, логічне умова, типи даних, структури управління.
Кількість об'єктів в одному проекті збільшується від 1-2 до 5-10, відповідно збільшується розмір і складність скриптів. Найцікавіше - це те, що з'являється мотивація до вивчення нових можливостей Scratch, які освоюються самостійно, без участі педагога. Обмін проектами в Мережі дозволяє перейти учням на новий рівень навчання. Створюється відкритий освітній простір, де кожен учасник проекту є носієм знання та нових ідей його реалізації. Спостерігаючи за розвитком проекту Scratch і діяльністю школярів, можна відзначити, що ми маємо справу з новою формою навчання. Педагоги, звернувшись до світу мультимедіа та програмування, випускають учня в інформаційне середовище творчості та пізнавальної діяльності, а школярі крім предметних знань набувають якості, необхідні кожній людині для успішного життя та професійної кар'єри.
3.2 Методичні рекомендації
На основі аналізу підручників і можливостей програми мною зроблено висновок, що навчання учнів програмування в середовищі Scratch має проходити поетапно, від простого до складного. Для більшого розуміння того, як влаштована програма, учням, на початковому етапі потрібно навести приклад з життя. Таким прикладом може служити конструктор Лего, в якому фігури і конструкції збираються з різних частин - кубиків, що в свою чергу показує необхідність підбору правильних кубиків, тому що якщо це не враховувати, то потрібну фігуру або конструкцію ми не отримаємо. Також учням легше зрозуміти поняття «алгоритм» з прикладу - інструкції по збірці.
Після того, як учителем виявлено розуміння учнями, слід переходити безпосередньо до опису програми. На даному етапі ми впритул працюємо з конструктором Лего, показуючи схожість. Найнаочніше його відзначити використовуючи конструктор і виведену на проектор програму Scratch. Необхідно обов'язково зазначити те, що збираючи кубики, наша фігурка росте вгору, а збираючи скрипт в середовищі Scratch - вниз.
Мал. 20. Лего і Scratch
Показавши наочно схожість можна приступити до опису смислових зон середовища Scratch, описаних раніше. По черзі описуються сцена, поле блоків, поле скриптів, лист спрайтів і т.д.
Першим етапом роботи в середовищі Scratch повинен стати невеликий проект, наприклад рух спрайта, малюнок 21.
Мал. 21. Скрипт руху спрайта
Учитель разом з учнями покроково збирає, «кубик за кубиком», скрипт. Після того як скрипт зібраний, вчитель повинен пояснити, що станеться на сцені. Зібравши цей не складний скрипт, ми вирішуємо відразу кілька питань, таких як: «Як збирати скрипт?», «Як запустити скрипт?». Далі слід зауважити, що виконання скрипта можна запускати декількома способами: з клавіатури, мишею, при отриманні скриптом повідомлення про запуск.
Також слід приділити увагу учнів на нові поняття: скрипт, програма. Саме відповідне опис поняття скрипт, алгоритм. Поняття алгоритм учні вже повинні знати, в цьому випадку усно проговорюється визначення. Якщо поняття алгоритм учням ще не знайоме, то найкраще дати спрощене визначення яке утворюється з визначення наведеного раніше (див. С. 29): «Алгоритм - це послідовність дій, які виконуються один за одним і призводять до вирішення поставленого завдання». З цього визначення виходить визначення програми: «Програма - це сукупність алгоритмів». Також учням слід пояснити, що сукупність це з'єднання, збори [13].
Після того, як учні розібралися з тим, як запускати скрипт, можна переходити до розгляду інших блоків, в такій послідовності: блок «Рух», блок «Зовнішність», блок «Звук», блок «Перо», блок «Контроль» - розглянути цикли та умови, блок «Сенсори», блок «Числа» - розглянути поняття випадкове число, і блок «Змінні».
Середовище програмування Scratch дає можливість реалізації циклічних алгоритмів і умов. Цикли і умови знаходяться в блоці «Контроль».
Для того щоб учні найбільш успішно засвоїли дані визначення, їх слід вводити одночасно. Поняття «Цикл» можна охарактеризувати як «багаторазове виконання одного або декількох дій». Поняття умова описується як «виконання тієї чи іншої дії в залежності від ситуації». Поняття випадкове число, повинно бути відомо учням з уроків математики, але все одно варто нагадати, що «випадкове число - це число, яке випадковим чином задається з визначеного діапазону». Після того, як визначення дано слід навести приклад випадкового числа. Таким прикладом може служити телевізійна гра «Лото», за правилами якої з мішечка дістаються шари, на яких вказуються числа від 1 до 99. Тим самим ми показуємо наочний приклад випадкових чисел, адже не можна витягнути з мішечка заздалегідь відоме число. Реалізація всіх трьох конструкцій добре показується при демонстрації мультфільму «Політ бджоли», сенсом якого є нескінченне переміщення спрайту по сцені обмеженою чорною рамкою. Тоді скрипт виглядає так:
Мал. 22. Політ бджоли
Лістинг скрипта показує те, що клацання по зеленому прапорцю приводить в дію скрипт, виконання якого призводить до нескінченного переміщенню спрайта по сцені обмеженою чорним квадратом. Спрайт при торканні чорного кольору буде міняти свій напрямок на випадкове число в діапазоні від 90 до 100, тим самим спрайт ніколи не покине межі чорного квадрата і тим більше сцени.
Для швидкого і успішного засвоєння нових тем рекомендується використовувати роздатковий матеріал та комп'ютерні презентації. Використовуючи на уроках одночасно обидва варіанти, дозволить легко закріплювати отримані знання та вміння у школярів.
Для того щоб учні ефективно засвоювали знання в новій галузі, необхідна наявність мотивації. А мотивація навчальної діяльності виникає, якщо вони відчувають особисту зацікавленість у придбанні знань для досягнення своєї мети. Scratch дозволяє створювати проекти, які цікаві різним віковим групам від 8 до 16 років і старше - інтерактивні презентації, мультфільми, комп'ютерні ігри, програми-тренажери з використанням графіки та мультимедіа.
Для контролю успішності учнів необхідно декілька самостійних розробок невеликих проектів, наприклад: мультфільм «Кіт», мультфільм «Політ бджоли» і «Калькулятор» і одного великого проекту «Електронне піаніно».
Мультфільм «Політ бджоли» вимагає від учнів навичок роботи з блоками «Рух», «Зовнішність», «Сенсори». Вчителю необхідно стежити за роботою учнів, тому що мультфільм «Політ бджоли» сильно відрізняється від мультфільму «Кіт» за рівнем складності і набору команд в скрипті. Це потрібно робити для того, щоб робота учнів була найбільш продуктивна. У деяких випадках можлива така реалізація цього проекту: вчитель заздалегідь збирає правильний скрипт і розбиває його на частини, а учням пропонується зібрати з частин правильну комбінацію. Такий метод добре себе показав при роботі з учнями, у яких слабко розвинене вміння працювати за комп'ютером або не розвинене зовсім.
Проект «Калькулятор» повинен показати вміння учнів працювати з блоком «Числа» і «Змінні». Також учитель може перевірити вміння учнів працювати зі спрайтами - створення, редагування. Даний проект має стати завершальним етапом, перед розробкою проекту «Електронне піаніно» в якому повинні будуть відображені навички роботи з усіма блоками разом.
З вище сказаного можна зробити висновок, що викладання теми, «Програмування в середовищі Scratch» учням початкової школи, має проходити в спіралевидній формі. На перших етапах розглядаються прості речі, наприклад блок «Контроль». Але при цьому блок не розглядається відразу цілком. Учитель повинен періодично, тоді коли виникає необхідність, повертатися до розгляду нових можливостей. Це дозволяє не перезавантажувати учнів надлишковою інформацією, але в той же час розглянути і вивчити найбільше число команд.
Зупинимося докладніше на тих питаннях, які необхідно відобразити при вивченні теми «Програмування в середовищі Scratch» а саме:
1) знайомство учнів із середовищем програмування Scratch;
2) розгляд різних способів запуску скрипта або декількох скриптів;
3) створення та редагування спрайтів і звуків;
4) розгляд скриптів пов'язаних з рухом об'єктів;
5) розгляд скриптів пов'язаних зі зміною зовнішності об'єктів;
6) розгляд скриптів пов'язаних зі зміною сцени за допомогою спрайта;
7) розгляд різних сенсорів вбудованих в середовище;
8) вивчення поняття змінна, і використання її за рахунку та інших різних областях застосування;
9) створення творчого проекту для закріплення всіх отриманих знань.
Відповідаючи на ці питання, необхідно постійно повертатися до отриманих раніше знань, з метою їх поглиблення.
Знайомство учнів з середовищем програмування Scratch описано вище.
Розгляд різних способів запуску скрипта необхідно тому, що програма може складатися з безлічі окремих скриптів, робота яких повинна бути не синхронною, а проходити в строго певний момент. Тим самим на початку вивчення даної теми найкраще розглядати стандартний запуск скрипта - за допомогою зеленого прапорця. Таким чином, можна запускати один або кілька скриптів, запуск яких повинен бути паралельний.
Після того, як учні освоять спосіб запуску скрипта необхідно створити перший скрипт. Але до створення першого скрипта потрібно розповісти учням про блоки «Рух» і «Зовнішність». Це потрібно для того, щоб найперший скрипт відразу справив на школярів враження.
У блоці «Рух» необхідно, для початку, розглянути найпростіші кубики, такі як: , і . Дані кубики дозволяють переміщати об'єкт по сцені, при цьому всі три кубика абсолютно різні. Також доцільніше відразу розглянути кілька кубиків з блоку «Зовнішність», такі як: , , , і . Для того, щоб вийшла анімація потрібно використовувати кубик , і якщо рух повинен відбуватися багато разів . Перераховані раніше кубики можна різними способами компонувати і складати різноманітні послідовності команд. Починатися перший скрипт обов'язково повинен з кубика .
Застосування даних кубиків учнями доцільно при вирішенні поставлених перед ними завдань. Наприклад, однією з типових завдань може служити завдання про кота. Метою завдання є переміщення кота із зазначеної точки в будь-якому напрямку. При цьому кіт повинен на кожному кроці змінювати свій костюм і врешті сказати будь-яку фразу, наприклад: «Привіт! Як справи? ». При цьому збирання скрипта в учнів не викличе великих зусиль. Також, що не позначаючи і не розповідаючи про те, що таке циклічна структура, учні з легкістю використовують її у своїх програмах. Це свідчить про те, що програма дійсно призначена для раннього віку.
Мал. 23. Скрипт завдання про кота
Аналізуючи скрипт, звернемо увагу на те, що цілком закінчену дію - анімація, або можна навіть сказати короткий мультфільм, не є складним набором скриптів, а уміщається всього лише в кількох рядках. У той же час, якщо учням дати завдання, в якому вони зможуть трохи пофантазувати, даний скрипт може перерости в повноцінний мультфільм.
Відразу після цього найкраще розглянути можливість використання різноманітних спрайтів з бібліотеки середовища Scratch створення і редагування власних спрайтів.
Створення власного спрайта дуже цікаве і в той же час просте заняття. Інтегрований редактор дуже схожий на графічний редактор Paint. У графічному редакторі присутні такі інструменти, як кисть, ластик, заливка, прямокутник, коло, лінія, напис, виділення, штамп і вибір кольору. Також є можливість змінювати готовий малюнок, наприклад: зменшення або збільшення малюнка, поворот малюнка на 90 градусів за і проти годинникової стрілки, відображення малюнка по горизонталі і вертикалі. Всі намальовані малюнки можна зберегти на жорсткий диск або навпаки, відкрити з нього. Палітра кольорів середовища Scratch аналогічна палітрі кольорів графічного редактора Paint.
Мал. 20. Графічний редактор
Після, можливо повернутися до раніше створеної програмі, і замінити спрайт кота на створений або відредагований спрайт учням. Таким чином, ми розвиваємо творчу діяльність школярів, одночасно вивчаючи програмування, тобто ми весь час можемо повернутися до раніше створеної програмі і поліпшити її.
Наступним важливим питанням є додавання звуків в програму. Для того, щоб повною мірою показати можливості блоку «Звук» необхідна наявність звукових адаптерів і колонок на навчальних комп'ютерах. Важливо пам'ятати, що звук з колонок повинен бути таким, щоб його можна було виразно чути учню використовує його, але в той же час щоб цей звук не відволікав інших учнів.
Спробувати використовувати звук можна також на прикладі, розглянутому раніше. Для цього нам знадобляться кілька кубиків блоку «Звук»: , і .
Мал. 21. Графічний редактор
Тепер, наш скрипт став ще більш цікавим, так як крім анімації, в ньому також присутні звукові ефекти. Як і у випадку розглянутому раніше, учням необхідно дати трохи часу на те, щоб вони поекспериментували з додаванням кубиків різних блоків.
Підійшов час познайомити учнів з блоком «Перо». Учням слід пояснити, що перо в даному випадку це слід, який залишає спрайтом при русі. Потрібно сказати, що при використанні пера можна малювати різноманітні картинки на сцені. Дану можливість краще всього розглянути на прикладі малювання різноманітних геометричних фігур, таких як чотирикутники. При цьому можливо використовувати практично всі кубики блоку «Перо», у тому числі: , , і . Також можливе поєднання в одній програмі різних скриптів, які малюють різні фігури. Для цього потрібно використовувати запуск скрипта за допомогою клавіші на клавіатурі, тобто для кожної фігури своя клавіша. Для цього використовується кубик .
Мал. 22. Скрипт малювання квадрата
В даному випадку на сцені спрайт малює квадрат. Після цього слід дати завдання для відпрацювання отриманих навичок, наприклад: намалювати квадрат поменше, намалювати чотирикутник, намалювати багатокутник, намалювати будь-яку ламану лінію. Таки чином, по-перше, проводиться міжпредметний зв'язок, по-друге, учні практикуються у використанні блоку «Перо», по-третє, працюють з координатної площиною. У разі якщо в учнів будуть труднощі, необхідно показати на дошці, що таке координатна площину і як на ній можна намалювати фігуру.
Тепер потрібно вивчити блок «Сенсори». Доцільніше почати вивчення з задачі про бджолу. Умова задачі звучить так: «Існує об'єкт Бджола з двома костюмами:« крила вгору »і« крила вниз ». Необхідно створити випадковий і безперервний анімований політ Бджоли ».
Рішення даного завдання складатиметься з кількох частин. Перша частина - зміна костюмів бджоли. Друга частина - безпосередньо політ бджоли.
На початковому етапі учні вже знають, що потрібно робити. Вони створюють спрайт бджоли, задають йому, вже знайомі, команди блоків «Рух», «Зовнішність» і «Контроль». Але незабаром у них виникає питання, як же домогтися випадкового і безперервного польоту? Тут і слід почати розповідати про блок «Сенсори», так як в учнів виникає гостра необхідність у його використанні. Для досягнення потрібної мети ми будемо використовувати наступні нові кубики: , , .
Мал. 27. Скрипт польоту бджоли
У даному прикладі ми створюємо нескінченний рух бджоли по екрану, бо тоді, коли бджола стосується краю вона змінює свій напрямок. Надалі необхідно розглянути кубики докладніше розповісти про торкання одного спрайта іншого. Після того коли скрипт готовий, учням потрібно дати завдання знайти в блоці «Рух» кубик, схожий на фрагмент скрипта в якому бджола відштовхується від екрану. Учні без зусиль знаходять кубик . Відразу після цього дається завдання, в якому вони замінюють цілу конструкцію одним кубиком (див. Мал. 28).
Мал. 28. Покращений скрипт польоту бджоли
Єдиною відмінністю поліпшеного скрипта буде в тому, що при торканні бджолою краю сцени, вона буде відштовхуватися дзеркально, тобто під тим же кутом. У першому випадку кут відштовхування задавався випадковим чином.
Після необхідно розповісти про блок числа. Особливої уваги цьому блоку не варто приділяти, варто тільки лише спробувати з учнями здійснити різні математичні дії. Наприклад: додавання, віднімання, множення і ділення.
Особливу увагу потрібно приділити блоку «Змінні». Так як поняття змінна нове, потрібно пояснити, що змінна служить для зберігання і подальшого звернення до даних [30, с. 174.
Результатом всієї виконаної роботи повинна стати самостійна розробка учнями проектів на самостійно обрані теми або заздалегідь підготовлені. Слід також приділити трохи часу на те, щоб учні змогли захистити свої проекти.
3.3 Тематичне планування
Зі складеного раніше переліку питань та методичних рекомендацій можна скласти тематичне планування з теми «Програмування в середовищі Scratch» враховуючи вікові особливості учнів школи.
Пояснювальна записка
Метою даного курсу є отримання навичок роботи в середовищі Scratch. Приділяється особлива увага можливостям використовувати це середовище з проектної діяльності вчителя інформатики.
Цілі курсу
1. Сприяти розвитку алгоритмічних здібностей учнів; навчити сприйняттю умови задачі на побудову алгоритму.
2. Виявити найбільш здібних учнів для подальшої роботи з ними на більш високому рівні (мови програмування Pascal, Delphi та ін.).
3. Пробудити в учнів бажання експериментувати, формулювати і перевіряти гіпотези і вчитися на своїх помилках.
Завдання курсу
1. Освоєння середовища Scratch і блочного побудови скриптів.
2. Освоєння поняття «алгоритм» і вивчення видів і властивостей алгоритму.
3. Освоєння складних алгоритмічних конструкцій.
Способи контролю
1. Рішення задач по поточній темі.
2. Розробка проекту.