Реферат: Практические навыки и дистанционное обучение

Моисеенко С.И., Майстренко А.В.

Донской Государственный Технический Университет

Современные информационные технологии сделали получение образования доступным вне стен учебных заведений или, по крайней мере, создали предпосылки для этого. В Интернет можно найти курсы лекций и другие учебные материалы по разным областям знаний. Также нет недостатка в системах тестирования, позволяющих в той или иной мере оценить уровень полученных знаний. Однако ни одна система тестирования, на наш взгляд, не сможет оценить степень умения или, если хотите, мастерства. А ведь это то, что требуется от специалиста практически в любой области. Разве можно заранее сказать, что человек, сдавший тест по языку программирования, умеет писать "хорошие" программы. Основной недостаток дистанционного обучения, как нам представляется, заключается в отсутствии аналогов того, чем в классическом обучении являются практические или лабораторные занятия, на которых и приобретаются навыки практической работы. При отсутствии общего подхода к построению обучающих систем такого рода, авторами сделана попытка восполнить этот пробел дистанционного обучения в частной области, а именно, в области изучения языка SQL.

Популярность реляционной модели привела к тому, что к настоящему времени реляционные СУБД доминируют на рынке программного обеспечения обработки данных. Более того, многие нереляционные системы оснащаются реляционным пользовательским интерфейсом. В то же время стандартным интерфейсом взаимодействия с реляционными базами данных является язык SQL, которому, по большому счету, нет альтернативы. Это обусловлено как наличием стандарта (недавно появилась последняя версия этого стандарта, известная как SQL3), так и дальнейшим развитием этого языка в направлении поддержки распределенной обработки и объектно-ориентированных баз данных.

Эти соображения явились мотивацией для создания интерактивной обучающей системы языку SQL, где основной упор был сделан на активном изучении посредством выполнения упражнений.

Первая реализация этого информационного ресурса (http://sql.ipps.ru) посвящена оператору выборки данных SELECT, являющемуся наиболее сложным и часто используемым оператором языка SQL. В дальнейшем планируется добавить другие операторы манипуляции данными, а также операторы описания схемы данных.

Рис. 1. Интерфейс системы дистанционного обучения языку SQL (http://sql.ipps.ru/exercises.php).

Схема взаимодействия пользователя с системой сводится к следующему. Для каждого упражнения приводится описание базы данных и на естественном языке (русском или английском, по выбору пользователя) формулируется задание на выборку. Пользователь должен написать оператор SELECT, реализующий выборку требуемых данных. Проверка запроса пользователя осуществляется, если нажать кнопку "Выполнить" (рис.1). Если запрос синтаксически правилен, но сформулирован неверно логически, будут возвращены данные запроса пользователя и данные правильного запроса. Одни только правильные данные можно получить, если нажать кнопку "Показать правильный результат". Кроме того, если установить флажок "Без проверки", можно писать любые запросы на получение данных из учебной базы данных; при этом проверка запроса пользователя не выполняется.

Задания имеют разный уровень сложности, что, по мнению авторов, делает сайт полезным не только новичкам, но и опытным разработчикам приложений баз данных и администраторам СУБД. На сегодняшний день на сайте представлено порядка 70 упражнений, большая часть которых заимствована из книги известного специалиста в области баз данных Дж. Ульмана [Джеффри Д.Ульман, Дженнифер Уидом., 2000].

В качестве примера рассмотрим одно из простых заданий (стоимость вопроса 1 балл) для базы данных "Компьютерная фирма", схема которой показана на рис. 2.

Рис. 2. Схема данных учебной БД "Компьютерная фирма".

Задание звучит так: "Найдите всех производителей принтеров; вывести: Maker". Правильным решением может быть такой запрос:

SELECT DISTINCT Maker FROM Products WHERE type='printer'

Пусть результатом выполнения данного запроса является следующая одностолбцовая таблица:

Maker
HP
Epson
Canon

Заметим, что такие же строки будут возвращены, если мы сформулируем запрос иначе:

SELECT DISTINCT Maker FROM Product WHERE Maker In ('HP','Epson','Canon'),

что, естественно, является неправильным выполнением задания.

Оба запроса возвращают одинаковые данные, однако, если мы добавим в таблицу Products запись с еще одним производителем принтеров, то, очевидно, что первый запрос будет по-прежнему давать правильный результат, а последний - нет. Такие синтаксически верные, но логически не отвечающие условию упражнения запросы, оцениваются системой как неправильные.

Для отслеживания таких ошибок в системе "Упражнения по SQL" используется контрольная БД, имеющая такую же логическую схему, как и доступная пользователю БД, но содержащая другой набор данных. Система признает запрос правильным, если результаты проверки на двух базах данных совпадут с данными, возвращаемыми "эталонным" запросом. Следует отметить, что мы не можем здесь сравнивать саму синтаксическую конструкцию запроса, поскольку запрос на получение одних и тех же данных на языке SQL можно сформулировать разными способами, что свидетельствует о гибкости данного языка и облегчает работу пользователя.

Система реализована в трехуровневой архитектуре клиент-сервер. На промежуточном уровне роль сервера приложения выполняет Web-сервер (в нашем случае IIS), который посредством интерпретатора PHP взаимодействует с сервером баз данных (MS SQL Server). Клиентом, естественно, является браузер.

Рассмотрим несколько подробнее серверную часть системы. Мы используем три базы данных: Exercises, Alt_Exercises и Main (Рис. 3).

Рис. 3. Базы данных обучающей системы.

При этом каждая из баз данных Exercises и Alt_Exercises содержит все учебные БД, на которых выполняются упражнения (пример одной из таких баз представлен на рис. 2). Как было отмечено ранее, Alt_Exercises содержит контрольные данные и имеет такую же структуру, как и Exercises.

В БД Main (Рис.4) хранится служебная закрытая от пользователя информация. Таблица Users содержит сведения о пользователях. Правильные ответы записываются в таблицу Results. Благодаря этому можно выяснить рейтинг каждого из зарегистрировавшихся пользователей. Ответы гостей системой не сохраняются.

Рис.4 Схема данных БД Main.

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 221
Бесплатно скачать Реферат: Практические навыки и дистанционное обучение