Учитель Лиспа

Джон P. Андерсон, Бранен Дж. Рейзер

Лисп — одного из основных языков программирования искусственного интеллекта (ИИ).

В университетах, подобных Университету Карнеги — Меллона, где мы работаем, остро оидущается потребность в курсах программирования на языке Лисп. Для многих студентов Лисп оказывается первым языком программирования, с которым они знакомятся. Однако Лисп весьма труден для изучения как по причине символьного характера этого языка и использования в нем рекурсии, так и вследствие необходимости усваивать при его изучении абстрактные методы программирования, свойственные ИИ. Спектр проблем, затрагиваемых на курсах по обучению Лиспу, чрезвычайно широк, а уровень подготовки — высокий. Некоторые студенты считают, что такой курс вполне можно рассматривать как введение в область ИИ, тогда как другим кажется, что они ничего нового не усвоили.

Наблюдая за тем, как студенты приобретают навыки такого рода, пришли к выводу, что индивидуальное обучение гораздо более эффективно, нежели обычные групповые занятия в университетской аудитории. При аудиторном обучении студенты прослушивают лекции, занимаются по учебникам и в одиночку трудятся над домашними заданиями.
При индивидуальном обучении к студенту прикрепляется опытный преподаватель, под руководством которого учащийся работает с учебником и решает задачи. При изучении Лиспа сравнительный анализ показал, что студенты, занимающиеся с педагогами, за 11 учебных часов усваивают такой материал, на который при аудиторных занятиях требуется 43 учебных часа. Как выяснилось, в том и в другом случае время уходило в основном не на изучение учебных пособий или инструкций, а на непосредственные попытки написания программ на языке Лисп. Роль индивидуального учителя в том и состоит, чтобы наибольший опыт и знания студент приобретал именно при решении задач.

Специалисты по психологии обучения пришли к выводу, что индивидуальное обучение предпочтительно при изучении самого разнообразного материала. Так, в одном исследовании на примере изучения двух дисциплин — теории вероятностей и картографии — сравнивались группы студентов, изучавших один и тот же предмет в течение одинакового периода времени, но одни занимались с педагогами индивидуально, а другие — обычным аудиторным методом. На контрольных экзаменах 98% индивидуально обучавшихся студентов показали в среднем более высокие результаты, чем студенты, занимавшиеся в аудитории. Интересно отмстить, что особенно полезным индивидуальное обучение оказалось для слабых студентов, тогда как для сильных результат был относительно скромным.

Таким образом, необходимо создать на основе ЭВМ такого «учителя», который так же хорошо обучал бы студентов языку Лисп, как опытный преподаватель-человек. Система GREATERP — результат попытки применить методы искусственного интеллекта и психологию обучения для создания весьма эффективного обучающего устройства. (GREATERP - аббревиатура от Goal-Restricted Environment for Tutoring and Educational Research on Programming - система целенаправленного исследованию по преподавания программирования. Кстати, GRE-АTERР название одного из стандартных предикатов языка Лисп).

Такой учитель сам по себе является большой программой, реализованной на диалекте Лиспа, Franz LISP, предназначенном для работы на ЭВМ типа VAX. Приступив к испытаниям системы в аудиториях нашего университета, мы убедились в том, что она способствует более быстрому и глубокому усвоению студентами методов программирования на языке Лисп.

Система GREATERP—это лишь один из нескольких машинных учителей, созданных в нашем университете. В рамках специального проекта, предусматривающего создание машинных преподавателей, в настоящее время у нас разрабатываются программы для обучения университетскому курсу алгебры и геометрии. Планируется также создание подобных систем для обучения формальной логике и таким языкам программирования, как Паскаль и Пролог. «Учитель Лиспа» служит иллюстрацией общего подхода к использованию методов, заимствованных из области искусственного интеллекта, для создания программ, связанных с обучением.