Навчальні мови програмування

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

Навчальні мови програмування — мови програмування та середовища програмування, призначені для пропедевтики алгоритмізації, програмування та розвитку операційного (алгоритмічного) мислення у дітей.

Існуючі пропедевтичні курси («Сходинки до інформатики», «Скарбниця знань») мають у своєму складі засоби для розвитку операційного та алгоритмічного мислення — виконавці «Черепашка», «Восьминіжка», «Кенгурятко», використання яких доцільне у 2-4 класах молодшої школи. Разом з тим не існує програм пропедевтики програмування у 5-6 класах. Застосування у цих класах «дорослих» мов програмування не є доцільним, оскільки у дітей ще слабкі навички абстрактного мислення, які є необхідними для повноцінного програмування, тобто необхідно використовувати мови та середовища програмування, спеціально розроблені для навчання, з урахуванням психофізіологічного та інтелектуального розвитку дітей — навчальні мови програмування, більшість з яких є початковою або проміжною ланкою перед роботою у середовищах програмування професійного рівня. У старших класах у вивченні програмування переважає Паскаль. Це обумовлено, насамперед, існуючими посібниками з інформатики, які спрямовані на використання певного типу програмного забезпечення — Free Pascal, ABC Pascal, ALGO, засобу об'єктно-орієнтованого програмування Delphi.

  • LightBot — іграшкове середовище для найменших (можна використовувати з 5-6 років). Необхідно запрограмувати рух «віртуального» робота. Незважаючи на простоту, за допомогою LightBot можна не тільки формувати операційне мислення дитини, а й вивчати такі поняття програмування, як підпрограми-процедури.
  • RoboMind — просте середовище програмування, яке дозволяє початківцям програмувати поведінку «машинки»-робота. Тут у доступній формі вивчаються популярні методи програмування та основи «штучного інтелекту». Робот може програмуватися на різних мовах.
  • Karel,Karel++,Karel J.Robot — мови для початківців, їх використовують для складання програм керування «роботом». Karel використовує власну мову програмування, Karel++ — мову програмування C++, Karel J. Robot — версія Karel на Java.
  • Guido van Robot — роботом керують за допомогою програми (як у Karel J. Robot), за синтаксисом схожою на Python. Це вільнопоширювана програма, робота з якою може бути початком до вивчення будь-якої мови програмування.
  • Greenfoot — навчальне, об'єктно-орієнтоване Java-середовище, розроблене перш за все з навчальною метою. Greenfoot дозволяє розробляти програми для моделювання та діалогові ігри.
  • Little Wizzard — середовище програмування для дітей, призначене для вивчення основних елементів програмування в початковій школі. Використовуючи тільки мишку, діти отримують можливість складати програми та вивчати такі поняття, як змінні, вирази, розгалуження, умови та логічні блоки. Кожен елемент мови програмування являє собою інтуїтивно-зрозумілий символ.
  • Peter — засіб візуального програмування, призначений для простого та швидкого створення програм для Windows 95/98/NT/ME/2000/XP. Принцип роботи схожий на розробку графічної презентації з створенням програмної структури для керування об'єктами. Складання програми дещо нагадує складання головоломки з окремих частинок.
  • Стрілочка — програма — тренажер для розвитку алгоритмічного мислення та формування навичок складання керуючих алгоритмів.
  • Сходинки до інформатики — пропедевтичний курс, призначений для учнів 2 — 4 класів. При його вивченні учні опановують основні навички роботи з комп'ютером, розвивають логічне мислення, шляхом роботи з навчальними програмами одержують комп'ютерну підтримку знань та навичок, набутих на інших уроках, навчаються використовувати комп'ютер для складання текстів та малювання, ознайомлюються з поняттям алгоритму, основними алгоритмічними структурами та навчаються складати алгоритми різних дій, розвивають свої творчі здібності. Включає декілька виконавців алгоритмів: Садівник, Кенгуру, Восьминіжка тощо.
  • Logo — мова, яку було спеціально розроблено з метою навчити дітей програмуванню. У сучасних реалізаціях Logo віртуальний агент під назвою «черепашка», переміщенням якого можна програмно керувати, використовується для того, щоб зробити програмування привабливим для дітей, зосереджуючи їх увагу на побудові зображень за його («черепашки») допомогою. Logo розроблявся як для того, щоб допомогти дітям вивчити основні поняття програмування, так і для їх інтелектуального розвитку у світі, де все більше домінують інформаційні та комунікаційні технології. На сьогодні Logo успішно застосовують у різних сферах — від початкового знайомства з комп'ютером та програмуванням в школі до вивчення проблем штучного інтелекту та моделювання екологічних систем в університетах.

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

  • Scratch — візуальна мова програмування, яку було розроблено Lifelong Kindergarten Group з MIT Media Lab, для навчання програмуванню дітей, тобто навчання в сенсі «сідаєш та розпочинаєш робити щось цікаве». Scratch базується на традиціях мов програмування Squeak та Logo. Основна мета цього проекту — навчити дітей основним поняттям програмування шляхом створення програм-проектів, що містять програмовані об'єкти. Scratch дозволяє створювати інтерактивні програми шляхом комбінування блоків-команд, залучаючи різноманітні графічні об'єкти, зображення, звуки та музику. Завдяки простоті та досить потужним можливостям навіть початківці можуть створювати власні розробки, цим самим отримуючи мотивацію для подальшого вивчення програмування. Навколо Scratch склалася міжнародна спільнота, членами якої може бути кожен, хто програмує у цьому середовищі.
  • Etoys заснований на ідеї програмованих віртуальних об'єктів, які існують та взаємодіють у «світі», розміщеному на екрані монітора комп'ютера. Основні ідеї навчально-розвиваючих середовищ таких як Etoys та Scratch: «все оточуюче є об'єктами»; програма — це вже не текст, який компілюється, а лише потім «виконується», а «живе море об'єктів, з кожним з яких можливо спілкуватись». Робота у середовищі надає можливість «спілкування» з цим «живим морем» — є можливість розглянути та змінити будь-який об'єкт; процес розробки та процес виконання є нероздільним. Etoys забезпечує просте та водночас потужне середовище розробки з ідеологією «об'єктної моделі» для різноманітних об'єктів, створених користувачами, які можуть включати 2D і 3D-графіку, зображення, текст, веб-сторінки, відео, звук та MIDI, можливість спільно працювати з іншими користувачами Etoys в реальному масштабі часу, як у локальній мережі, так і через Інтернет. Графічне середовище використовуються не тільки для вивчення дітьми понять програмування, але й може бути використано для моделювання фізичних явищ, розв'язування математичних вправ тощо. Etoys багатомовне, воно успішно використовується в Сполучених Штатах, Європі, Південній Америці, Японії, Кореї, Індії, Непалі та багатьох інших країнах для роботи з дітьми 9-12 років.
  • Squeak — сучасна, відкрита, повнофункціональна реалізація середовища та об'єктно-орієнтованої мови програмування Smalltalk. Squeak використовується як засіб для створення надзвичайно широкого діапазону проектів — від мультимедійних програм та різноманітних освітніх платформ (таких як Scratch та Etoys) до розробки веб-серверів. Програмні засоби, розроблені за допомогою Squeak, надзвичайно легко переносяться у середовище будь-якої операційної системи, оскільки код програми виконується (інтерпретується) «віртуальною машиною» Squeak — цю технологію було запозичено при розробці мови програмування Java.
  • BASIC — мова, яку було розроблено 1964 року для забезпечення роботи з комп'ютерами студентів-нефахівців. Він став досить популярним з кінця шістдесятих років, а в кінці сімдесятих та на початку вісімдесятих років — стандартною мовою програмування для персональних комп'ютерів. BASIC було спрямовано саме на потреби вивчення програмування: мова повинна була бути надзвичайно простою для використання початківцями, мати можливість розробки діалогових програм, забезпечувати досить швидке виконання програм та зрозумілі повідомлення про помилки в них, не вимагати знань апаратної будови комп'ютера чи викликів операційної системи. На сьогодні BASIC продовжує бути мовою, яку досить часто застосовують для навчання програмуванню, незважаючи на певну критику зі сторони фахівців-програмістів.
  • Visual Basic.NET є вільно доступним для завантаження середовищем програмування .
  • SmallBASIC  — обмежена версія Visual Basic, яку було розроблено як «першу» мову програмування, з метою легкого її вивчення, у цій мові є всього лише 15 команд-операторів. За допомогою специфічних бібліотек об'єктів можна створювати різноманітні програми — від ігор до мережних. Система використовує Microsoft Visual Studio IDE, щоб забезпечити авто-завершення команд та контекстночутливу довідку.
  • Gambas — вільнопоширюваний аналог Visual Basic. Його використовують для програмування та вивчення BASIC у середовищі операційної системи Linux.
  • BASIC-256 — простий варіант BASIC, який було розроблено саме для вивчення дітьми основ комп'ютерного програмування. Для забезпечення розуміння програмного керування він використовує традиційні керуючі BASIC-структури (gosub, цикли, goto). BASIC-256 має вбудований графічний режим, який дозволяє учням створювати зображення на екрані за декілька хвилин.
  • SiMPLE — система розробки програм яку було створено щоб забезпечити можливостями простого програмування для кожного, особливо для непрофесіоналів. SiMPLE дещо схожа на AppleSoft BASIC. SiMPLE має вбудований компілятор, крім того SiMPLE дозволяє користувачам створювати власні бібліотеки функцій. «SiMPLE» — загальна назва трьох дещо різних мов програмуванння: Micro-SiMPLE, у якій використовуються тільки 4 команди-оператори, та Pro-SiMPLE і Ultra-SiMPLE, які мають по 23 оператори.
  • Baltie — навчальне графічне середовище та засіб програмування для дітей та молоді. Baltie не робить жодних особливих вимог до знань дітей, завдяки чому це середовище використовується в багатьох країнах для вивчення програмування в основній школі. Нова версія Baltie 4 повністю підтримує програмування в C#.
  • Kid's Programming Language (Phrogram) — мова програмування та інтегроване розвиваюче середовище розроблене 2006 року. Має розвинуті засоби для роботи з графікою та звуком, застосовуючи їх для розробки ігор та навчального програмного забезпечення. KPL є спрощеною структурною мовою програмування, у якій є такі компоненти, як класи та методи. Засіб розробки програм схожий на сучасні IDE, такі як Eclipse або Visual Studio.NET.
  • Pascal — найвідоміша мова програмування, яку було розроблено з саме з навчальною метою. Від кінця сімдесятих до вісімдесятих років Pascal був основною мовою при вивченні інформатики (програмування) як у Сполучених Штатах, так і в Європі. Його використання для навчання програмуванню і на сьогодні дуже велике, незважаючи на виключно освітнє спрямування цієї мови програмування, та на зростаючу конкуренцію з боку C, Java та Python.
  • AgentSheets — середовище для програмування, розробки ігор та моделювання явищ, інструмент, досить простий для розуміння учнями загальноосвітньої школи, та досить потужний, щоб дати змогу вченими космічного агентства НАСА створити модель корисного навантаження корабля «Шатл». За допомогою AgentSheets можна створювати як ігри (анімація, взаємодія, звук, синтез та розпізнавання мови (на комп'ютерах Mac)) та наукові застосунки (побудова зображень та графіків, роздрук електронних таблиць, побудова 3D-зображень (Mac)).
  • Alice — безкоштовне середовище програмування в якому програмується поведінка керованого об'єкта. Середовище має сучасний інтерфейс IDE та змогу працювати з 3D-об'єктами. Потенційні користувачі — учні, проте фахівці визнають його навчальне та розвиваюче значення.
  • Stagecast Creator — візуальна система програмування. Користувачі розміщують об'єкти на екрані та формують для них правила поведінки. Таким чином можна створювати презентації, динамічні моделі явищ, ігри, діалогові історії.

Застосування навчальних мов програмування не є альтернативою вивченню традиційних мов програмування у старшій школі — вони є лише засобом пропедевтики, засобом формування алгоритмічного стилю мислення учнів (за А. П. Єршовим).

Розподіл за віком[ред.ред. код]

Клас Рівень Мова програмування
1-2 відсутні навички LightBot, Bill the Robot, Сходинки, ПервоЛого, Karel, Baltie 2, Stagecast Creator
3-4 відсутні навички RoboMind, Scratch, Etoys, Logo, Stagecast Creator, Guido van Robot, Сходинки
5-8 низький рівень Scratch, Logo, Etoys, BASIC, Baltie 3, Phrogram, Stagecast Creator, AgentSheets, Alice
5-8 достатній рівень Pascal,Visual BASIC, Greenfoot, Squeak
Старша школа низький рівень Pascal, Visual BASIC, Greenfoot, Squeak
Старша школа достатній рівень будь які мови програмування

Література[ред.ред. код]

1. Андреева Е. В. Методика обучения основам программирования на уроках информатики // http://edu.1september.ru/?course=7002&page=1

2. Бабаева Ю. Д., Войскуновский А. Е. Психологические последствия информатизации // Психологический журнал. — 1998. — Т. 19(1). — С. 89-100.

3. Босова Л. Л. Пропедевтическая подготовка школьников в области информатики и ИКТ: опыт, современное состояние, перспективы. — М.: БИНОМ. Лаборатория знаний, 2009.

4. Веряев А. А., Шалаев И. К. От образовательных сред к образовательному пространству: понятие, формирование, свойства // Педагог. — 1998. — № 4. — С. 9-14.

5. Выготский Л. С. Педагогическая психология / Под ред. В. В. Давыдова. — М.: Педагогика, 1991. — 480 с

6. Ершов А. П., Звенигородский Г. А., Первин Ю. А. Школьная информатика (концепции, состояния, перспективы). // Информатика и образование. 1995. № 1.

7. Занков Л. В. Обучение и развитие. — М.: Педагогика, 1975. 440 с.

8. Зелінський С. С. Концепція інформаційно-освітнього середовища в процесі інформатизації системи вищої професійної освіти // Вісник Житомирського державного університету. Випуск 47. Педагогічні науки

9. Использование компьютерных игр для обучения программированию // http://www.compress.ru/article.aspx?id=14479&iid=687

10. Кихтенко Т. И., Несговорова Г. П. Методика начального обучения программированию на задачах обработки символьной информации // http://www.nsu.ru/archive/conf/nit/96/sect4/node9.html

11. Лапчик, М. П. Методика преподавания информатики: учебное пособие для студ. вузов, обуч. по спец. 030100 — Информатика / Под ред. М. П. Лапчика. — М. : Академия, 2001. — 624 с.

12. Макарова Н. В. Информатика (объектно-информационная концепция): Программа для учащихся с 6-го или 7-го по 11-й класс. — СПб.:Питер, 1999.

13. Первин Ю. А. Концепция курса раннего обучения информатике // Информатика и образование 2003. № 3-4.

14. Рубан О., Скляр І. Алгорітміка. Факультативний курс для 6-7 класів. — К. : Шкільний світ, 2004. — 128 с

15. Соколова И. В. О формировании концепции раннего обучения информатике: социально-педагогический подход // Труды Большого Московского семинара по методике раннего обучения информатике / Сост. и научн.ред. И. В. Соколова и Ю. А. Первин. — М.: Издательство РГСУ, 2008.

16. Якименко О. В. Применение программ-тренажеров в обучении программированию // http://ito.itdrom.com/files/ito_zip/120_11221453670.rtf

17. Correia, T., Natural Visual Programming Languages // http://www.di.unito.it/~barbara/MicRobot/AttiEuroLogo2007/proceedings/P-Correia.pdf

18. Gopnik, A. How We Learn // http://squeakland.org/content/articles/attach/how_we_learn.pdf

19. Kay, A. Background On How Children Learn // http://squeakland.org/content/articles/attach/how_children_learn.pdf

20. Maloney, J., Burd, L., Kafai, Y., Rusk, N., Silverman, B., and Resnick, M. (2004). Scratch: A Sneak Preview. Second International Conference on Creating, Connecting, and Collaborating through Computing. Kyoto, Japan, pp. 104-109.

Див. також[ред.ред. код]