- Учебный язык программирования
-
Уче́бный язык программи́рования — язык программирования, предназначенный для обучения. В качестве таковых разрабатывались такие языки как BASIC[1] и Паскаль[2]. Из разработанного для обучения языка ABC вырос Python[3]. Популярным языком, разработанным специально для образования является LOGO[4]. Специально для российских школ разработана языковая среда КуМир[5]. Набирает популярность созданный в Массачусетском технологическом институте язык визуального программирования Scratch и тому подобные среды программирования[6].
Содержание
Требования к учебному языку программирования
Учебный язык должен обеспечивать простоту, ясность и удобочитаемость конструкций. Излишняя гибкость, «вседозволенность» синтаксиса может затруднить понимание программ. С этим связаны преимущества использования в образовательном процессе языков семейства Pascal перед Си-подобными языками.[7][8]
При выборе языка программирования не играют роль такие факторы, как его новизна, эффективность реализации (в виде компилятора или интерпретатора). Фактор распространённости имеет как психологическое значение (влияя на мотивацию учащихся), так и практическое (востребованность получаемых знаний без необходимости переучивания)[9].
Учебный язык программирования должен обеспечивать плавный переход от псевдокода к собственно программированию. Полезным в обучении может быть возможность использования национальной лексики для ключевых слов и идентификаторов[7].
Альтернативой относительно трудоёмким для изучения комплексным языкам программирования общего назначения могут составить простые миниязыки, в которых, для наглядности, имеется графический исполнитель, вроде черепашки в Лого — первом и одном из самых известных таких языков.[10]
Языки разработанные для российской школы
Для преподавания элементов программирования в рамках курсов информатики было разработан ряд учебных языков программирования с русскими ключевыми словами. В группе академика А. П. Ершова был выработан подход с изучением двух языков программирования — более простого, предназначенного в основном для управления графическим исполнителем, и более продвинутого универсального. В качестве такой пары были разработаны языки Робик и Рапира.[11] Основными российскими образовательными языками являются:
- Робик (включает ряд графических исполнителей: Муравей, Маляр и др.)
- Рапира (предназначен для изучения после Робика)
- Школьный алгоритмический язык и его реализация Е-практикум
- КуМир (современный диалект школьного алгоритмического языка, включает графические исполнители Чертёжник и Робот)
Для начального обучения программированию могут также использоваться простые языки управления графическими исполнителями, такими как Кукарача в системе Роботландия или Кенгурёнок Ру[11].
Бейсик
BASIC, англ. Beginner’s All-purpose Symbolic Instruction Code — стал в начале 60-х первым, получившем распространение языком программирования для обучения начинающих. Однако он получил резкую критику за несоответствие принципам структурного программирования и лёгкость создания спагетти-кода. Известно высказывание Эдсгера Дейкстры — «Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации». Под влиянием этой критики создатели Бейсика Джон Кемени и Томас Курц в 1975 расширили язык структурными средствами и отказались от практики использования GOTO. В 80-х годах они создали обновлённый вариант языка, названный True BASIC (англ.)русск.[12]. Современные распространённые диалекты Бейсика (QBasic, Visual Basic) имеют microsoftовское подтверждение, однако и они имеют мало общего с прародителем, являясь вполне современными структурными языками программирования[11]. Специально для целей обучения созданы следующие диалекты Бейсика.
- BASIC-256[13] довольно близкий к «классическому» бейсик[14], созданный в ответ на статью Дэвида Брина «Почему Джонни не умеет программировать»[15].
- Microsoft Small Basic[16] — своего рода Visual Basic .NET «для самых маленьких».
В школьное образование также внедряется «Visual Basic для Linux» Gambas[17], Доступна бесплатная образовательная экспресс-версия Visual Basic .NET[18].
Другие
Примечания
- ↑ Андрей Колесов. Basic — этапы большого пути Авторский вариант. Статья была опубликована c незначительной литературной правкой в журнале «Наука и жизнь» № 10/2000, с. 18—20.
- ↑ Wirth N. Recollections about the development of Pascal (HOPL II), 3.3
- ↑ The Making of Python, A Conversation with Guido van Rossum, Part I. by Bill Venners, January 13, 2003
- ↑ Язык Лого на сайте «История компьютера»
- ↑ Система программирования КуМир → Учебники
- ↑ Александр Казанцев Школа. Исполнители и алгоритмы // Linux Format. — январь 2010 г.. — № 126-127 (1).
- ↑ 1 2 С. С. Кобилов Образовательная информатика: подход к обучению, выбор учебных языков и создание программных систем. — Самаркандский государственный университет.
- ↑ Эссе «Язык Си и начальное обучение программированию», А. В. Столяров
- ↑ Выбор языка для обучения программированию, Лобачев Александр Александрович, Куликова Ольга Валентиновна, ИТО-2008
- ↑ Mini-languages: a way to learn programming principles
- ↑ 1 2 3 Леонов А.Г., Первин Ю.А. Роль и место темы «Элементы программирования» в общем школьном информатическом образовании. // Компьютерные инструменты в образовании. Информатизация образования. — СПб.: ЦПО, 1999. — № 5. — С. 14-23.
- ↑ Дейкстра Эдсгер на сайте «История комьютера»
- ↑ Джеймс М. Рено Хотите научиться программировать? = So You Want To Learn to Programm? / пер. с англ. С. Ирюпин, В. Чёрный. — М.: Альт Линукс, 2011. — 320 с. — ISBN 978-5-905167-06-5
- ↑ В нём, к примеру, отсутствуют процедуры и функции. Другой, подобный современный диалект — Basic4GL (англ.)русск.
- ↑ Brin, David (Sept 14, 2006). «Why Johnny can't code». Salon Magazine. Проверено 4/12/09.
- ↑ Small Basic для начинающих
- ↑ Использование свободного программного обеспечения в образовании, Самарина А.Е., Смоленский государственный университет
- ↑ Visual Basic Express Edition
- ↑ Psychology, 1990, 3. The Misconception Problem: Prolog, pp. 186-190
Литература
- Patrick Mendelson, T. R. G. Green and Paul Brna Ch. 2.5. Programming Languages in Education: The Search for an Easy Start // Psychology of Programming / M. Hoc, T.R.G. Green, R. Samurçay and D.J. Gilmore (eds.). — Academic Press, 1990. — P. 175-200. — ISBN 0-12-350772-3
Ссылки
- Александр Казанцев Школа. Исполнители и алгоритмы // Linux Format. — январь 2010 г.. — № 126-127 (1).
- Educational programming languages в каталоге ссылок Open Directory Project (dmoz).
Категория:- Языки программирования для образования
Wikimedia Foundation. 2010.