Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи

2.1 Опис середовища програмування Scratch

Інтерфейс програми спроектований і зроблений у розрахунку на учнів, тому він максимально добре розуміється інтуїтивно. Розглянемо, як влаштоване вікно Scratch. Після запуску програми екран має вигляд (див. Мал. 1).

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал. 1. Інтерфейс програми

Головна область (див. Мал. 2), це, звичайно ж, сцена (розташовується в правій частині екрана), на ній відображаються результати роботи проекту.

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал. 2. Сцена

Щоб на сцені що-небудь відбувалося, необхідно створити спрайт (див. Мал. 3), тобто візуальні динамічні об'єкти; для цього використовуються спеціальні кнопки (див. мал. 4).

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал. 3. Спрайт

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал. 4. Кнопки створення нових спрайтів.

Все, що створено, відображається на аркуші спрайтів, де можна вибрати один з спрайтів для настройки. При цьому інформація про поточний спрайт відображається в середній частині екрану - поле скриптів (див. Мал. 5). Це поле призначене для описування поведінки даного спрайта.

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал. 5. Поле скриптів

Верхнє поле містить закладки (див. мал. 6), за допомогою яких можна від перегляду скриптів перейти до перегляду можливих видів (малюнків) спрайта і пов'язаних з даними спрайтом звуків. Коротка інформація про обраний спрайт: ім'я, поточний образ, координати, напрямок і т.д. знаходяться нижче (див. мал. 7).

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал. 6. Закладки

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал. 7. Коротка інформація про спрайт

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

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

При створенні скриптів використовується палітра блоків, яка займає ліву частину екрану (див. Мал. 8). У її верхній частині розташовуються 8 різнокольорових кнопок, які вибирають потрібну групу команд: рух (див. Рис. 8), зовнішність (див. Мал. 9), звук (див. Мал. 10), перо (див. Мал. 11) , контроль (див. Мал. 12), сенсори (див. Мал. 13), числа (див. Мал. 14), змінні (див. Мал. 15). Команди обраної групи відображаються в нижній частині вибраного вікна.

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал. 8. Палітра блоків

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал. 9. Зовнішність

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал. 10. Звук

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал. 11. Перо

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал.12. Контроль

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал. 13. Сенсори

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал. 14. Числа

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал. 15. Змінні

Коли все готово, можна натиснути кнопку і перейти в повноекранний режим, в якому сцена займе весь екран, а всі інші області забираються. Отриманий режим дуже нагадує перегляд готової презентації в Power Point.

Практично все управління системою зосереджено у верхній частині екрана. Головне меню, виконане у вигляді горизонтальних кнопок.

Теоретичні основи проблеми викладання теми «Програмування в середовищі Scratch» учням школи - student2.ru

Мал. 16. Головне меню

Крім них окремо виділені кнопки перемикання режиму повороту спрайтів, панель інструментів, а також кнопки запуску і зупинки скриптів.

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

Scratch створювався для учнів починаючи від 8 і до 16 років, але й діти більш раннього віку можуть працювати в цьому середовищі над проектами разом з батьками або старшими братами і сестрами. З іншого боку, навіть студенти багатьох вищих навчальних закладів можуть використовувати Scratch на заняттях у комп'ютерних класах.

1.2 Особливості програмування в середовищі Scratch

Scratch - середовище програмування, що з'явилася відносно недавно, дає можливість учням молодшого та середнього шкільного віку створювати ігри, фільми, анімовані історії та багато іншого. Програма Scratch в об'єктно-орієнтованому середовищі «збирається» з різнокольорових блоків команд так само, як збираються з різнокольорових цеглинок в конструкторах Лего різні об'єкти. Створення програм в Scratch відбувається шляхом поєднання графічних блоків у стеках. При цьому блоки зроблені так, що їх можна поєднувати тільки в синтаксично вірні конструкції, що виключає помилки. Різні типи даних мають різні форми блоків, підкреслюючи сумісність або несумісність об'єктів між собою. Є можливість внесення змін до програми навіть тоді, коли вона запущена, що дозволяє експериментувати з новими ідеями по ходу рішення задачі. В результаті виконання простих команд створюється складна модель, в якій взаємодіють безліч об'єктів, наділених різними властивостями. Після того як проект створений в Scratch, є можливість його розмістити на сайті http://scratch.mit.edu/.

Одним із принципових переваг даного середовища є те, що воно є вільно поширюваним програмним продуктом, таким чином, будь-яка освітня установа може завантажити програму з інтернету і приступити до безпосереднього вивчення і роботі в новому середовищі програмування Scratch.

Сама ідеологія Scratch дозволяє використовувати при навчанні сучасні методики та технології навчання, такі як проблемний підхід і метод проектів. Після вивчення основних конструкцій мови і можливостей середовища ставиться завдання по створенню та розробці відповідного проекту. Це можуть бути різні історії, тематику яких вчитель пропонує з урахуванням вікових особливостей учнів, наприклад, «Моя сім'я», «Мої захоплення», «Талановиті люди»; рекламні ролики; анімовані історії за віршами і казками, що вивчаються в школі.

Дана технологія навчання стимулює учнів до освоєння можливостей мови програмування, вивчення предмета «Інформатика та ІКТ», підкреслюючи їх практичну особистісну значимість. Аналіз роботи в Scratch показує, що програма досить проста і легко освоюється. Однак, незважаючи на свою простоту, Scratch надає користувачеві різноманітні засоби роботи з мультимедійними ресурсами, що викликає інтерес в учнів, сприяє розвитку позитивної мотивації до предмета в цілому.

Програма Scratch розроблена і підтримується групою MIT Media Lab з Массачусетського інституту технології (http://scratch.mit.edu). Scratch є безкоштовним продуктом, що важливо для українських шкіл. Його розробка ведеться на мові Squeak, одному із спадкоємців Smalltalk. Алан Кей, що стоїть біля витоків Smalltalk, а значить і у самих коренів об'єктно-орієнтованих технологій взагалі, дуже зацікавлено ставиться до розвитку мислення та креативності дітей. Причому Кей вважає, що такий розвиток має починатися якомога раніше: «... the media that powerfully shape our ways of thinking must be made accessible as early in life as possible». Програма і мова програмування Scratch, за задумом його творців, є якраз тим засобом, яке здатне формувати «способи мислення».

Однією з головних концепцій мови Scratch, є розвиток власних задумів з першої ідеї до кінцевого програмного продукту. Для цього в Scratch є всі необхідні засоби:

- Стандартні: слідування, розгалуження, цикли, змінні, типи даних (цілі і речові числа, рядки, логічні, списки - динамічні масиви), псевдовипадкові числа;

- Об'єктно-орієнтовані: об'єкти (їх поля і методи), передача повідомлень і обробка подій;

- Інтерактивні: обробка взаємодії об'єктів між собою, з користувачем, а також подій поза комп'ютера (за допомогою підключення сенсорного блоку);

- Паралельне виконання: запуск методів об'єктів в паралельних потоках з можливістю координації і синхронізації;

- Створення простого інтерфейсу користувача.

Разом з тим в Scratch поки відсутні такі важливі компоненти мови взагалі і об'єктно-орієнтованої мови зокрема, як процедури та функції, передача параметрів і повернення значень (крім як через глобальні змінні), рекурсія, визначення класів об'єктів, спадкування та поліморфізм, обробка виключень , текстових введень і файлових введень і виведень. Однак не викликає сумнівів, що в найближчому майбутньому мова поповниться цими і, ймовірно, деякими іншими компонентами. Як ми бачимо, Scratch дійсно має багаті можливості. При цьому для початку його вивчення не потрібно нічого (на перших порах), крім уміння читати, оскільки програма складається з готових кольорових блоків. Цьому рівню відповідають практично всі першокласники.

Однією з найважливіших особливостей проекту Scratch є велика постійно діюча спільнота користувачів. Власні розробки можна викладати в інтернет і потім переглядати їх на будь-якому комп'ютері, де встановлена Java (або сам Scratch). В даний час актуальною є версія Scratch 1.3, що підтримує кирилицю (і кілька десятків інших мов).

Уже в початковій школі діти легко можуть освоїти такі поняття як «паралельність» і «синхронізація». При цьому важливим є не «знання» термінології, а розуміння взаємного зв'язку виконання потоків.

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

· Блочне програмування. Для створення програм в Scratch, ви просто поєднуєте графічні блоки разом в стеках. Блоки зроблені так, щоб їх можна було зібрати тільки в синтаксично вірних конструкціях, що виключає помилки. Різні типи даних мають різні форми, підкреслюючи несумісність. Ви можете зробити зміни в стеках, навіть коли програма запущена, що дозволяє більше експериментувати з новими ідеями знову і знову.

· Маніпуляції даними. Зі Scratch ви можете створити програми, які управляють і змішують графіку, анімацію, музику та звуки. Scratch розширює можливості управління візуальними даними, які популярні в сьогоднішній культурі - наприклад, додаючи програмованість, схожих на Photoshop фільтрів.

· Спільна робота та обмін. Сайт проекту Scratch пропонує натхнення і аудиторію: ви можете подивитися проекти інших людей, використовувати і змінити їх картинки і скрипти, і додати ваш власний проект. Найбільше досягнення - це загальна програма і культура, створена навколо Scratch.

Scratch пропонує низьку підлогу (легко почати), висока стеля (можливість створювати складні проекти) і широкі стіни (підтримка великого різноманіття проектів). У роботі зі Scratch приділяється особлива увага простоті, іноді навіть на шкоду функціональності, для більшої зрозумілості.

Коли учні працюють над проектом в Scratch, вони мають шанс вивчити важливі обчислювальні концепції, такі як повторення, умови, змінні, типи даних, події та процеси. Scratch вже був використаний для представлення цих понять учням різних вікових груп, від елементарної школи до коледжу. Деякі учні перейшли від традиційних, текстових мов програмування, після того, як їм показали програмування в Scratch.

Scratch заснований на кращому від мови програмування Squeak. Він був натхненний попередньою роботою над Logo і Squeak Etoys, але задуманий більш простим і інтуїтивним.

Scratch - проект з відкритим вихідним кодом, але закритою командою розробників. Вихідний код доступний у вільному доступі, але додаток розробляється маленькою командою вчених з MIT Media Lab.

2.3 Аналіз підручників з інформатики

У проекті стандарту і обов'язковому мінімумі з інформатики зміст алгоритмічної лінії визначається через наступний перелік понять: алгоритм, властивості алгоритмів, виконавці алгоритмів, система команд виконавця; формальне виконання алгоритмів; основні алгоритмічні конструкції; допоміжні алгоритми.

Вивчення алгоритмізації в шкільній інформатиці може мати два цільових аспекти: перший - розвиваючий аспект, під яким розуміється розвиток алгоритмічного (ще кажуть - операційного) мислення учнів; другий - програмістський аспект. Складання програми для ЕОМ починається з побудови алгоритму; найважливішою якістю професійного програміста є розвинене алгоритмічне мислення. Якщо в першому шкільному підручнику інформатики у вивченні алгоритмізації превалював другий, програмістський, аспект, то надалі стала більше підчеркуваться розвиваюча роль даної теми.

Питання про місце і обсязі теми програмування в базовому курсі залишається дискусійним. У різних версіях обов'язкового мінімуму це питання вирішувалося по-різному. Тут також можна говорити про два цільових аспектах, з якими пов'язане вивчення програмування в школі. Перший аспект пов'язаний з посиленням фундаментальної компоненти курсу інформатики. Учням дається уявлення про те, що таке мови програмування, що являє собою програма на мовах програмування високого рівня, як створюється програма в середовищі сучасної системи програмування. Отримавши уявлення про мову машинних команд на матеріалі навчальних комп'ютерів і про мови високого рівня, учні будуть усвідомлено сприймати поняття «трансляція».

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

Основою методики навчання алгоритмізації та програмування є методика структурного програмування. Структура гілки програмування носить характер узагальненої методичної схеми, яка застосовується при будь-якому рівні вивчення програмування. На різних рівнях вивчення може відрізнятися глибина і ступінь подробиці розкриття різних розділів схеми.

Поняття «алгоритм» є центральним у першому шкільному підручнику інформатики [11]. У підручнику наводиться таке визначення: «Під алгоритмом розуміють зрозуміле і точне розпорядження (вказівка) виконавцю здійснити послідовність дій, спрямованих на досягнення зазначеної мети чи на вирішення поставленого завдання» [11, с. 35]. Вказівка на виконання кожної окремої дії названо командою, а «сукупність команд, які можуть бути виконані виконавцем, називається системою команд виконавця». В якості основної властивості алгоритму підкреслюється формальний характер роботи виконавця при його виконанні. Звідси робиться висновок про те, що виконавцем алгоритму може бути автомат (машина, робот). На цій ідеї заснований принцип програмного управління роботою комп'ютера, оскільки програма - це і є алгоритм, представлений на мові, «зрозумілою» комп'ютера - на мові програмування.

Сформульовані в підручнику [11] поняття є дидактичною основою для розкриття теми алгоритмізації у всіх наступних підручниках інформатики.

Практично весь алгоритмічний розділ підручника [11] орієнтований на виконавця - людини. У завданнях обчислювального характеру (а їх більшість у підручнику) як методу роботи виконавця пропонується заповнення таблиці значень. У програмуванні такі таблиці прийнято називати трасувальними таблицями. У підручнику написано: «При виконанні алгоритму комп'ютером значення величин зберігаються в його пам'яті. При виконанні алгоритму людиною таблиця значень виконує роль додаткової пам'яті для виконавця»[15, с 36].

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

Одним з основних методичних досягнень підручника [11] стало введення в шкільну інформатику навчальння алгоритмічної мови. Алгоритмічну мову А.П. Єршова можна назвати російськомовним псевдокодом, призначеним для навчання методиці структурного програмування. Хоча в самому підручнику слова «структурне програмування» ніде не вживаються, але, фактично, реалізується саме цей підхід.

Ідея і технологія структурного програмування виникла і інтенсивно розвивалася в 60-70-х рр. XX століття і пов'язана з іменами таких класиків програмування, як Е.В. Дейкстрой, X. Д. Мілі, Е. Кнут та ін. Великий внесок у теорію і практику програмування вніс у цей період і академік А.П. Єршов. Зокрема, ним був розроблений АЛЬФА-мова програмування (розвинена версія структурного мови Алгол-60 з російськомовною нотацією) і створений транслятор з цієї мови (АЛЬФА-транслятор). Навчальний алгоритмічний мова містить в собі багато рис АЛЬФА-мови. Для навчальних цілей на базі алгоритмічної мови була створена мова програмування РАПІРА, описаний в підручнику [11]. Однак він не набув поширення. У 1987 р в МДУ була здійснена розробка навчального середовища програмування на основі алгоритмічної мови, що отримала назву «Е-практикум» (Е-87).

Поряд з використанням алгоритмічної мови для опису алгоритмів в підручнику [11] активно використовуються блок-схеми. Підкреслюється необхідність стандартного зображення блок-схем, чого також вимагає методика структурного підходу до програмування.

У своїх методичних статтях і виступах А.П. Єршов висував наступну ідею стосовно до шкільної інформатики: розрізняти виконавців алгоритмів, що працюють з величинами і працюючих «в обстановці»; а відповідні алгоритми для цих виконавців називати алгоритмами роботи з величинами і алгоритмами роботи «в обстановці». В алгоритмах другого типу відсутні такі елементи, як величини (змінні, константи), команда присвоювання, проте використовуються всі типи алгоритмічних структур. Ідея застосування таких виконавців для навчання в повній мірі була реалізована в більш пізніх навчальних виданнях.

Історично першим педагогічним програмним засобом, призначеним для навчання дітей алгоритмізації, була мова програмування ЛОГО, розроблена в кінці 1960-х рр. американським педагогом-психологом С. Пейпертом [16]. До складу ЛОГО входить виконавець Черепашка, призначення якого - зображення на екрані креслень, малюнків, що складаються з прямолінійних відрізків. Програми управління Черепашкою складаються з команд: вперед (а), тому (а), направо (в), ліворуч (в), підняти хвіст, опустити хвіст. Мається на увазі, що Черепашка малює хвостом, і якщо хвіст опущений, то при переміщенні проводиться лінія, а коли хвіст піднятий, то лінія не малюється. Крім того, в мові є всі основні структурні команди. В цілому ЛОГО призначений для навчання структурної методикою програмування. Від ЛОГО походить поняття черепашачою графіки, використовуваної також і в деяких професійних системах комп'ютерної графіки.

Головне методична гідність виконавця Черепашки - ясність для учня вирішуваних завдань, наочність процесу роботи в ході виконання програми. Як відомо, дидактичний принцип наочності є одним з найважливіших в процесі будь-якого навчання.

У підручнику А.Г. Кушніренко [20] були розвинені ідеї викладання алгоритмізації, закладені А.П. Єршовим і С. Пейпертом. Основним методичним прийомом стало використання різноманітних навчальних алгоритмічних виконавців. У підручнику введено два таких виконавця - це Робот і Чертежник. Призначення Робота - переміщення по полю, розділеному на клітини з виставленими в різних місцях стінами. По шляху свого руху Робот може зафарбовувати клітини, вимірювати температуру і рівень радіації. Виконавець Чертежник - це своєрідний графічний пристрій, що діє в системі декартових координат, пов'язаних з екраном. Призначення креслярем - зображення креслень, графіків, малюнків, що складаються з прямолінійних відрізків. Чертежник близький по ідеї до Черепашці, однак робота Черепашки не пов'язана з системою координат (хоча одиниця довжини для неї існує).

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

нц поки знизу стіна

якщо клітина не зафарбована то зафарбувати всі

вправо кц

Автори підручника [20] інтерпретують свого виконавця наступним чином: Робот - це автоматичний пристрій, кероване комп'ютером. Між комп'ютером і Роботом є прямий і зворотний зв'язок. За прямого зв'язку від ЕОМ до Роботу передаються керуючі команди, по зворотного зв'язку - відповіді Робота на запити про поточну обстановку. Наприклад, фраза «знизу стіна» позначає запит комп'ютера до Роботу на перевірку умови: чи знаходиться під ним стіна. В результаті Робот по зворотного зв'язку відповідає «так» чи «ні» залежно від обстановки. Те ж саме відноситься до фрази «клітина не зафарбована».

З розглянутих прикладів випливає висновок про те, що лише за наявності зворотного зв'язку алгоритми управління виконавцем можуть мати складну структуру, що містить цикли і розгалуження. Без зворотного зв'язку алгоритми можуть бути тільки лінійними.

На прикладі виконавця Робота вводиться поняття допоміжного алгоритму та методу послідовного уточнення (спадного проектування; програмування зверху вниз). Приклад використання Робота в підручнику [20] доводить, що обмежуючись виконавцями і алгоритмами, що працюють без величин, можна успішно навчати структурної методикою програмування.

У мову Робота поступово включається використання величин з усіма їх атрибутами: ім'ям, значенням, типом. Всі команди креслярем, крім «підняти перо», «опустити перо», використовують параметри, які є величинами.

Мовою опису алгоритмів для всіх виконавців є навчально алгоритмічна мова (АЯ). За основу взята версія АЯ, описана в підручнику А.П. Єршова [11]. Однак введені деякі модифікації в образотворчі засоби мови. Введення в підручнику [20] всякої нової конструкції алгоритмічної мови відбувається за однаковою методичної схемою:

· Розглядається нове завдання, що вимагає введення нової конструкції;

· Описується алгоритм вирішення цього завдання;

· Дається формальний опис даної конструкції в загальному вигляді.

Поряд з алгоритмами для Робота і креслярем в підручнику [20] розглядаються алгоритми обчислювального характеру, орієнтовані на універсального виконавця обробки інформації - комп'ютер. Це типові завдання обробки числової і символьної інформації: обчислення числових послідовностей, обробка масивів, літерних рядків та ін. Розглядаються також алгоритми вирішення змістовних завдань методами математичного моделювання.

В цілому можна сказати, що в підручнику [20] алгоритмічна лінія шкільної інформатики опрацьована найбільш повно і послідовно як в змістовному, так і в методичному плані.

Алгоритмічна лінія у підручнику А.Г. Гейна [6] реалізована за двома напрямками. Перший напрямок полягає у використанні навчальних виконавців алгоритмів, що працюють «в обстановці», подібно до того, як це робиться в підручнику [20]. Другий напрямок полягає у навчанні побудови обчислювальних алгоритмів для вирішення задач математичного моделювання.

У підручнику [6] також застосований виконавець з назвою «Чертежник», який відноситься до категорії виконавців, які працюють за принципом «черепашачою графіки». На відміну від кресляра з підручника А.Г. Кушніренко, його команди переміщення (зробити крок, стрибнути) і обертання (повернути ліворуч) не мають параметрів. По одній команді виконавець переміщається на строго певну відстань - один крок, або повертається проти годинникової стрілки на 90 °. Тому створювані малюнки можуть складатися тільки з горизонтальних і вертикальних відрізків. У цьому сенсі образотворчі можливості даного виконавця більш скромні, ніж у кресляра А.Г. Кушніренко. Можна сказати, що Чертежник А.Г. Гейна в чистому вигляді є виконавцем, працюючим «в обстановці».

Для моделювання методів вирішення задач обробки табличної інформації в [6] введений виконавець Робот-маніпулятор. Прямокутна таблиця імітується стелажем, що складається з комірок, в які можуть бути поміщені різні радіодеталі (мікросхеми, транзистори та ін.). Робот вміє переміщатися у вертикальному і горизонтальному напрямках уздовж осередків, поміщати в них деталі або витягувати деталі з осередків. Тут можна говорити про появу величин, розглядаючи ім'я деталі в комірці як величину (проводиться порівняння її імені з ім'ям шуканої деталі). Характерна структура алгоритмів керування Роботом - вкладені цикли з вставленнями.

Другий напрямок алгоритмічної лінії в підручнику [6] - алгоритми розв'язання обчислювальних задач. Для побудови таких алгоритмів використовується навчальний виконавець Обчислювач. Це виконавець, який працює тільки з числовими величинами. Оскільки в якості мови програмування для реалізації обчислювальних алгоритмів на ЕОМ використовується Бейсік, то і мова Обчислювача «бейсікообразен». Незважаючи на неструктурний характер використовуваної версії Бейсика, автори намагаються залишатися в рамках структурного підходу. Зокрема, це проявляється в тому, що в мові Обчислювача відсутня команда переходу.

Для моделювання поняття змінної стосовно Обчислювача використовується образ ящика. Ім'я змінної - це буква, записана на «ящику», а присвоєння їй значення - це величина (число), що поміщається в «ящик». Складання програми на Бейсике по даному алгоритму інтерпретується як переклад з мови Обчислювача на мову Бейсік. При цьому «ящики» для змінних замінюються на осередки пам'яті ЕОМ, а при записі програми потрібно суворо дотримуватися правил синтаксису Бейсика. Для програмування циклу з передумовою в підручнику пропонується використовувати стандартний спосіб його реалізації за допомогою операторів IF GOTO (для версій Бейсика, в яких немає оператора WHILE).

У підручнику В.А. Кайміна та ін. [13] не застосовується методика навчальних виконавців. Вивчення алгоритмізації орієнтується на виконавця-ЕОМ. Для опису алгоритмів використовується алгоритмічний мову, близьку до варіанту А.П. Єршова. Блок-схеми практично не використовуються. У підручнику [13] розглядаються обчислювальні завдання, а також завдання на побудову графічних зображень. Мовою реалізації алгоритмів на ЕОМ є Бейсік. Як і в підручнику [6], автори приділяють увагу стандартним прийомам програмування на Неструктурні Бейсике циклів і розгалужень.

У підручнику третього покоління А.Г. Гейна та ін. [7] істотно змінився підхід до навчання алгоритмізації та програмування в порівнянні з підручником [6] того ж авторського колективу. Введений новий навчальний виконавець Паркетчик. Для того, щоб підкреслити формальний характер роботи виконавців алгоритмів, автори використовують термін «Бездумні виконавці» - БІ. Таким чином, Паркетчик представляє з себе БІ, призначення якого - викладати на картатому поле візерунки з різнокольорових плиток (червоних і зелених). Поле має прямокутну форму; кожна клітина ідентифікується двома індексними номерами - г по горизонталі і по вертикалі, наприклад: (1,1), (3,5) і т.п.

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

Паркетник призначений для методичного навчання структурному способом побудови алгоритмів. Форма паркетників застосовується також і для опису обчислювальних алгоритмів, подібно до того, як використовується алгоритмічну мову в підручнику А.Г. Кушніренко [20]. По суті справи, між алгоритмічною мовою і мовою паркетників немає принципової різниці. І той і інший являє собою структурний російськомовної псевдокод. Мабуть, вважаючи опис алгоритму мовою паркетників досить структурованим і наочним, автори відмовилися від використання в підручнику [7] блок-схем.

У підручнику [7] пропонуються для вивчення дві мови програмування: QBasic і Паскаль. Оскільки QBasic є структурованою версією Бейсика, то немає принципової різниці у виборі того чи іншої мови для початкового навчання програмуванню.

У підручнику А.А. Кузнєцова та Н.В. Апатова [19] якихось спеціальних навчальних засобів для опису алгоритмів не використовується. Значний за обсягом розділ «Введення в програмування» орієнтований на початкове вивчення Паскаля на прикладах задач обчислювального характеру, а також завдань побудови графічних зображень і обробки рядків.

У підручнику І.Г. Семакіна та ін. [6] застосований відмінний від розглянутих підхід до теми алгоритмізації. Його можна назвати кібернетичним підходом. Алгоритм трактується як інформаційний компонент системи управління. Такий підхід дає можливість ввести в зміст базового курсу нову змістовну лінію - лінію управління. Це багатопланова лінія, яка дозволяє торкнутися наступні питання:

· Елементи теоретичної кібернетики: кібернетична модель управління зі зворотним зв'язком;

· Елементи прикладної кібернетики: структура комп'ютерних систем автоматичного управління (систем з програмним управлінням); призначення автоматизованих систем управління;

· Основи теорії алгоритмів.

Для того щоб дотримати принцип інваріантності змісту по відношенню до конкретних версіями програмного забезпечення, у підручнику [6] описується гіпотетичний навчальний виконавець, якому дано ім'я ГРІС - графічний виконавець. Це виконавець, який працює «в обстановці» (тобто без використання величин). Найбільш близькими до нього є Кенгуренок (пакет навчального ПЗ фірми КУДИЦ) і Чертежник (підручник А.Г. Гейна [7]). На прикладі ГРІС вводяться основні поняття алгоритмізації. Пропонована послідовність завдань сприяє ефективному досягненню основної мети розділу - освоєння структурної методики побудови алгоритмів.

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

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

Наши рекомендации