Проект интегрированной среды для обучения программированию
Оценка качества подготовки программистов и снижение трудозатрат на подготовку и проверку их лабораторных работ. Разработка проекта по автоматизации процесса обучения программированию с помощью интегрированной среды оценки структуры и качества программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.06.2012 |
Размер файла | 2,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Название поля |
Тип данных |
Описание |
|
Номер_задания |
int |
Первичный ключ - уникальный идентификатор |
|
Тема |
varchar(MAX) |
Тема задания |
|
Номер_преподавателя |
int |
Внешний ключ - идентификатор преподавателя |
|
Шаблон |
varchar(MAX) |
Шаблон условия задания |
|
Эталонное_дерево |
BLOB |
Шаблонное эталонное дерево |
Таблица 2.6 Таблица ЛАБОРАТОРНАЯ_РАБОТА
Название метода (свойства) |
Тип возвращаемого значения |
Описание |
|
Номер_лабораторной_работы |
int |
Первичный ключ - уникальный идентификатор |
|
Номер_задания |
int |
Внешний ключ - идентификатор задания |
|
Условие |
varchar(MAX) |
Сгенерированное условие варианта задания |
|
Номер_обучаемого |
int |
Внешний ключ - идентификатор обучаемого |
|
Эталонное_дерево |
BLOB |
Дерево эталонной программы в формате XML |
|
Оценка |
int |
Балл за выполнение лабораторной работы |
|
Навык |
int |
Оценка навыка программиста |
2.6 Общий алгоритм программного продукта
В табл. 2.7-2.16 приведены сведения об основных классах системы, их взаимодействии, методах и свойствах. Диаграмма классов представлена в приложении 1.
IntelleSense - класс, реализующий вспомогательное всплывающее окно (табл. 2.7).
Таблица 2.7 IntelleSense
Название метода (свойства) |
Тип возвращаемого значения |
Описание |
|
Type |
IntelleSenseType |
Тип всплывающего окна |
|
Close |
void |
Закрытие всплывающего окна |
|
Do |
void |
Выполнение действий в зависимости от типа |
|
IsOpen |
boolean |
Проверка на открытость окна |
|
Open |
Открытие всплывающего окна |
Presenter - один из классов, реализующих паттерн «Модель-Вид-Презентер», перехватывающих события семантического редактора, осуществляющий проверку вводимых данных и вызывающий изменения в семантической модели и отображении (табл. 2.8).
Таблица 2.8 Presenter
Название метода (свойства) |
Тип возвращаемого значения |
Описание |
|
BackspaceSymbol |
void |
Проверяет возможность удаления предыдущего символа. В зависимости от проверки либо удаляет символ, либо откатывает изменения, либо вызывает интеллектуальный подсказчик |
|
ColorRun |
void |
Изменяет цвет элемента в зависимости от типа |
|
DeleteSymbol |
void |
Проверяет возможность удаления следующего символа. В зависимости от проверки либо удаляет символ, либо откатывает изменения, либо вызывает интеллектуальный подсказчик |
|
Error |
void |
Выводит сообщение об ошибке в строку состояния |
|
GetLineNumber |
int |
Возвращает номер строки, на которой находится элемент |
|
InsertEnter |
void |
Вставляет новый пустой оператор |
|
InsertNewOperator |
void |
Анализирует введенное ключевое слово, создает минимальное тело нового оператора |
|
InsertSymbol |
void |
Вставляет символ в выражение, предварительно проверив корректность вставки |
|
LoadProgram |
void |
Загружает сохраненную программу |
|
MoveTabs |
void |
Устанавливает курсор на первое слово оператора в случае щелчка мыши по символу табуляции |
|
SaveProgram |
void |
Сохраняет текущую программу |
FormEditor - главная форма программы, содержащая текстовый редактор, таблицу ошибок, дерево проекта, консоль, панель инструментов, меню и строку состояния (табл. 2.9). Текстовый редактор является видом в паттерне «Модель-Вид-Презентер».
Таблица 2.9 FormEditor
Название метода (свойства) |
Тип возвращаемого значения |
Описание |
|
сursorRun |
Run |
Элемент, на который необходимо установить курсор |
|
dictionary |
LangDictionary |
Текущий словарь |
|
paragraph |
Paragraph |
Текущий параграф |
|
Project |
SemanticTree |
Семантическое дерево программы |
|
selectedOperators |
List<Operator> |
Список выделенных операторов |
|
SetTabHeader |
void |
Устанавливает заголовок программы |
SemanticTree - один из классов, реализующих паттерн «Модель-Вид-Презентер». Является моделью данных - семантическим деревом (табл. 2.10).
Таблица 2.10 SemanticTree
Название метода (свойства) |
Тип возвращаемого значения |
Описание |
|
Path |
string |
Полный путь к файлу программы |
|
Root |
Operator |
Корневой элемент семантического дерева |
|
DeleteOperator |
void |
Удаляет указанный оператор(-ы) из семантического дерева |
|
GetOperator |
Operator |
Возвращает оператор, содержащий указанный элемент |
|
InsertOperator |
void |
Вставляет новый оператор |
|
ReplaceOperator |
void |
Заменяет существующий оператор новым оператором |
LangDictionary - класс, представляющий собой список определенных словарей (табл. 2.11).
Таблица 2.11 LangDictionary
Название метода (свойства) |
Тип возвращаемого значения |
Описание |
|
Dictionary |
Dictionary<string, string> |
Используемый словарь |
|
English |
Dictionary<string, string> |
Словарь английских ключевых слов |
|
Russian |
Dictionary<string, string> |
Словарь русских ключевых слов |
|
SetDictionary |
void |
Устанавливает используемый словарь |
Memory - абстрактный класс, реализующий модель памяти системы. Наследники данного класса - Heap и Stack
Таблица 2.12 Memory
Название метода (свойства) |
Тип возвращаемого значения |
Описание |
|
Arrays |
List<RunningArray> |
Список объявленных массивов |
|
Variables |
List<RunningVariable> |
Список объявленных переменных |
|
Clear |
void |
Очищает память |
|
GetArrayValue |
string |
Возвращает значение элемента массива |
|
GetVariableValue |
string |
Возвращает значение переменной |
|
SetArrayValue |
void |
Устанавливает значение элемента массива |
|
SetVariableValue |
void |
Устанавливает значение переменной |
Parser - статический класс, реализующий функции синтаксического разбора выражений (табл. 2.13).
Таблица 2.13 Parser
Название метода (свойства) |
Тип возвращаемого значения |
Описание |
|
ParseArray |
string |
Разбирает индекс массива |
|
ParseExpression |
string |
Разбирает выражение |
|
ParseFunction |
string |
Разбирает вызов функции |
|
ParseParametrs |
string |
Разбирает параметры функции |
Interpreter - класс, реализующий интерпретатор языка высокого уровня (табл. 2.14).
Таблица 2.14 Interpreter
Название метода (свойства) |
Тип возвращаемого значения |
Описание |
|
CurrentOperator |
Operator |
Интерпретируемый оператор |
|
Call |
void |
Вызов функции |
|
Error |
void |
Выдает сообщение об ошибке времени выполнения |
Operator - абстрактный класс, представляющий собой базовый класс для всех операторов языка программирования высокого уровня (табл. 2.15).
Таблица 2.15 Operator
Название метода (свойства) |
Тип возвращаемого значения |
Описание |
|
Assignment |
Run |
Элемент присваивания “:=” |
|
BodyWord |
Run |
Элемент, после которого должна происходить вставка элементов тела оператора |
|
Child |
Operator |
Дочерний оператор |
|
EndEnterWord |
Run |
Элемент, после которого происходит переход на новую строку следующего оператора |
|
EndNameWord |
Run |
Элемент, повторяющий имя NameWord в конце оператора |
|
EndWord |
Run |
Ключевое слово «конец» |
|
EnterWord |
Run |
Элемент, после которого происходит переход на новую строку внутрь тела оператора |
|
Expression |
Run |
Выражение (значение справа) |
|
FirstWord |
Run |
Первый элемент. По умолчанию - ключевое слово KeyWord |
|
KeyWord |
Run |
Ключевое слово оператора |
|
Left |
Run |
Значение слева в операторе присваивания |
|
NameWord |
Run |
Имя оператора |
|
Next |
Operator |
Следующий оператор |
|
Previous |
Operator |
Предыдущий оператор |
|
SelectionWord |
Run |
Элемент, выделяемый при вставке нового оператора |
|
SpaceWord |
Run |
Пробел |
|
Type |
Run |
Тип объекта |
|
ChangeRun |
void |
Изменяет текст элемента |
|
Clone |
Operator |
Создает копию оператора |
|
FindParent |
Operator |
Возвращает родителя оператора |
|
HasRun |
boolean |
Проверяет, принадлежит ли элемент оператору |
|
Interpret |
void |
Виртуальный метод интерпретации оператора |
|
isEditable |
boolean |
Проверяет возможность редактирования указанного элемента |
Классы-наследники базового класса Operator представлены в таблице 2.16.
Таблица 2.16 Классы-наследники базового класса Operator
Название класса |
Описание |
|
NullOperator |
Пустая строка |
|
Module |
Объявление модуля |
|
Function |
Объявление функции |
|
Procedure |
Объявление подпрограммы |
|
Variable |
Объявление переменной |
|
Constant |
Объявление константы |
|
Else |
Оператор «иначе» |
|
Do |
Цикл с предусловием |
|
Return |
Выход из функции с возвратом значения |
|
If |
Ветвление |
|
Assign |
Присвоение |
|
Call |
Вызов функции или подпрограммы |
|
Array |
Объявление массива |
|
Record |
Объявление группы |
2.7 Руководство пользователя
Главная форма программы представлена на рис 2.2.
Форма содержит меню, панель управления, строку состояния и разделена на четыре области: семантический редактор, семантическое дерево, список ошибок и консоль.
Существует возможность корректировать размер областей. Для этого необходимо кликнуть на соответствующий разделить и, удерживая левую кнопку мыши, переместить его в необходимое положение. Содержание двух задействованных форм автоматически перестроится.
Рис. 2.2. Главная форма системы.
На рисунке 2.3 представлено меню пользователя.
Рис. 2.3. Меню «Файл».
Чтобы сохранить программу, необходимо нажать Файл->Сохранить и выбрать путь для сохранения. Для загрузки XML файла программы, необходимо нажать Файл -> Загрузить и выбрть файл программы. Чтобы выйти из системы нужно нажать Файл -> Выйти или кликнуть на кнопке X в правом верхнем углу формы.
На рисунке 2.4 представлена панель управления пользователя
Рис. 2.4. Панель управления.
Она содержит выпадающий список, с помощью которого можно переключать язык программы и кнопку для запуска программы на выполнение.
На рисунке 2.5. представлена строка состояния
Рис. 2.5. Строка состояния.
В строке состояния выводятся все ошибки, подсказки и уведомления, связанные с семантикой программы. На рисунке 2.6. представлено семантическое дерево программы. Оно демонстрирует работу модели внутри программы и служит для наглядного представления программы.
Рис. 2.5. Семантическое дерево программы.
На рисунке 2.6 представлен семантический редактор.
Рис. 2.6. Семантический редактор.
Для ввода оператора необходимо набрать ключевое слово оператора (подраздел 1.1.1):
Рис. 2.7. Добавление оператора «функция».
Чтобы удалить оператор, необходимо поставить курсор на любое ключевое слово оператора, либо выделить оператор целиком и нажать кнопку Del или Backspace. Оператор «модуль» удалять нельзя. При нажатии Del или Backspace на ключевом слове оператора, открывается подсказчик, который позволяет выбрать полное удаление оператора, либо замену оператора его телом (рис. 2.8).
Рис. 2.8. Интеллектуальный подсказчик при удалении.
Интеллектуальный подсказчик вызывается и при наборе ключевого слова (рис. 2.9). Осуществить ввод оператора можно нажатием клавиши Enter, либо двойным щелчком мыши.
Рис. 2.9. Интеллектуальный подсказчик при вводе ключевого слова.
Навигация между элементами подсказчика осуществляется стрелками вверх и вниз; при нажатии на любые другие кнопки подсказчик закрывается. При удалении выделенных операторов операторы удаляются сразу и целиком. Удаление пустых операторов происходит без подсказчика.
Чтобы добавить новый пустой оператор, необходимо нажать клавишу Enter. В зависимости от положения курсора новый оператор будет вставлен до или после оператора или как первый или последний дочерний элемент (рис 2.10, а-г).
а) б) в) г)
Рис 2.10. Вставка нового пустого оператора (а - первым дочерним элементом; б - последним дочерним элементом; в - до оператора; г - после оператора)
Для редактирования оператора необходимо поставить курсор на редактируемый элемент оператора и произвести редактирование. Нельзя редактировать ключевые слова, удалять пробелы и служебные символы, вводить название переменной или типа меньше одной буквы. Можно выделять редактируемые элементы оператора с помощью клавиши Tab. При очередном нажатии на клавишу Tab выделение переходит на следующий подходящий элемент. Комбинация Shift+Tab осуществляет тот же алгоритм, но в обратном порядке.
При выделении части оператора выделяется оператор целиком вместе с его телом. Невозможно выделить или удалить часть оператора. Все манипуляции происходят только с оператором целиком.
Для копирования выделенного текста или оператора(-ов) необходимо нажать комбинацию клавиш Ctrl+C. Для вставки - Ctrl+V. Существует возможность вырезать оператор с помощью комбинации Ctrl+X.
При наборе программы на русском языке символы [, ], |, <, >, `, “ могут быть набраны без переключения раскладки клавиатуры с помощью комбинации Ctrl+совпадающий русский символ. Переключение языка производиться с помощью выпадающего списка панели инструментов (рис. 2.11).
Рис 2.11. Переключение языка.
Область «Консоль» служит для вывода данных программы (рис. 2.12).
Рис 2.12. Консоль.
Таблица «Ошибки» содержит описание семантических ошибок программы (рис. 2.13). Одновременно с занесением ошибки в таблицу редактор красным цветом выделяет ошибки в коде.
Рис 2.12. Семантическая ошибка системы.
2.8 Сообщения системы
При работе в редакторе все ошибки выдаются в строке состояния на красном фоне. Список возможных ошибок приведен в таблице 2.17.
Таблица 2.17 Возможные ошибки
Ошибка |
Необходимое действие |
|
Нельзя удалить модуль |
Удалить тело модуля |
|
Нельзя редактировать ключевое слово |
Проверить, не стоит ли курсор на ключевом слове, и сдвинуть к ближайшему редактируемому элементу |
|
Некорректное имя |
Проверить введенное имя переменной. Имя может состоять из букв, цифр и символа «_» и должно начинаться с буквы |
|
Нельзя удалять ключевые слова и пробелы |
Если необходимо удалить оператор, нажать клавишу Del или Backspace на ключевом слове, либо на выделенном операторе |
|
Нельзя вставить строку |
Найти ближайший оператор, до или после которого можно вставить строку |
|
XML файл поврежден |
Постараться проверить XML и исправить ошибки, после чего загрузить повторно |
|
This program request Microsoft .NET Framework v 4.0 |
Установите необходимую платформу, согласно подразделу 2.3. |
3. ПРОГРАММА И МЕТОДИКА ИСПЫТАНИЙ
Проверка программного продукта должна доказать правильность выполнения следующих операций:
· построение семантического дерева путем ввода конструкций;
· сохранение и загрузка программы;
· изменение языка программы;
· выполнение программы.
Проверка семантического редактора:
1. Запустить программу IDE.exe, откроется главная форма программы
(см. рис. 2.2).
2. Ввести в пустую строку после главной функции ключевое слово «переменная», после вставки оператора задать тип = «целое», имя_переменной = «и».
3. Нажать Enter на последнем слове оператора «переменная».
4. Ввести в пустую строку после переменной ключевое слово «присвоить», после вставки оператора задать имя_переменной = «и», выражение = «1». Два раза нажать Enter на последнем слове оператора «присвоить».
5. Ввести ключевое слово «цикл», после вставки оператора задать
выражение = «и < 10». Набор символа «<» произвести с помощью русской раскладки клавиатуры нажатием Ctrl+б.
6. Ввести в пустую строку после заголовка цикла ключевое слово «вывести», после вставки оператора задать выражение = «стр(и) + “! = ” + стр(Факториал(и)) + “\n”». Символы “,”,\ ввести с помощью русской раскладки клавиатуры.
7. Ввести ключевое слово «переменная», после вставки оператора задать тип = «целое», имя_переменной = «и».
8. Нажать Enter на последнем слове оператора «вывести».
9. Выделить ключевое слово «присвоить», скопировать в буфер обмена нажатием клавиш Ctrl+C, установить курсор последней вставленной пустой строке и вставить скопированный оператор нажатием Ctrl+V. После вставки оператора задать выражение = «и+1».
10. Два раза нажать Enter на последнем слове оператора «функция Главная».
11. Ввести ключевое слово «функция», после вставки оператора задать
тип = «целое», имя_функции = «Факториал», аргументы = «целое б».
12. Нажать Enter на последнем слове заголовка оператора «функция Факториал».
13. Ввести ключевое слово «если», после вставки оператора задать
выражение = «б == 0».
14. Ввести в пустую строку после заголовка ветвления ключевое слово «вернуть», после вставки оператора задать выражение = «1».
15. Нажать Enter на последнем слове оператора «если».
16. Ввести ключевое слово «вернуть», после вставки оператора задать
выражение = «Факториал(б - 1) * б».
17. Введена программа вычисления факториала для чисел [1;9].
18. Выполнить программу, нажав кнопку «Запуск».
19. В консоли выведется:
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
20. Сохранить введенную программу, нажав Файл -> Сохранить и выбрав путь к файлу. Убедиться, что файл создан. Проверить структуру XML файла.
21. Загрузиться тестовый пример из папки с системой, нажав Файл -> Загрузить и выбрав файл «Пузырьковая сортировка.xml». В семантическом редакторе появится загруженная программа, а в справа отобразится семантическое дерево.
22. Выполнить программу, нажав кнопку «Запуск».
23. В консоли в первой строчке выведется десять случайных целых чисел из диапазона [0;50]. Во второй строчке выведутся эти же числа, отсортированные в порядке возрастания
24. Внести изменения в программу, поменяв выражение в операторе «если» на «а[и1] < а[ж]».
25. Выполнить программу, нажав кнопку «Запуск».
26. Система выдаст ошибку: «Переменная "и1" не объявлена» и выделит красным цветом исправленное выражение.
27. Заменить «и1» в выражении на и.
28. Выполнить программу, нажав кнопку «Запуск».
29. В консоли в первой строчке выведется десять случайных целых чисел из диапазона [0;50]. Во второй строчке выведутся эти же числа, отсортированные в порядке убывания.
30. Изменить язык, выбрав «English» в выпадающем списке панели инструментов.
31. Все ключевые слова и встроенные типы данных станут английскими. Названия операторов и имена переменных останутся русскими.
32. Закрыть систему, нажав Файл -> Выйти.
33. Тест завершен.
Заключение
В результате проведенной работы был разработан проект интегрированной среды для обучения программированию, а также созданы язык программирования высокого уровня, семантический редактор и интерпретатор системы. Разработанный продукт удовлетворяет всем целям, поставленным при разработке проекта, и охватывает следующий спектр задач:
· простой интерфейс с поддержкой русского языка;
· отображение динамических подсказок;
· автоматическое форматирование текста;
· язык высокого уровня;
· семантическая модель программы;
· семантический редактор как основа интегрированной среды для обучения;
· интерпретатор языка высокого уровня.
Применение данной системы при обучении программированию позволит повысить уровень подготовки программистов и снизить трудозатраты на подготовку и проверку лабораторных работ.
Разработанный проект получил грант Фонда содействия развитию малых форм предприятий в научно-технической сфере «УЧАСТНИК МОЛОДЕЖНОГО НАУЧНО-ИННОВАЦИОННОГО КОНКУРСА» (У.М.Н.И.К.) на реализацию в 2011 году.
По теме проекта опубликовано четыре научных статьи.
Планируется внедрение разрабатываемой системы на кафедре АСОИУ АГТУ.
Литература
1. Лаптев В.В., Толасова В.В. Язык программирования для обучения. // Вестник Астраханского государственного технического университета. Серия: Управление, вычислительная техника и информатика. Научный журнал, № 1/2009. - Астрахань: Издательство АГТУ, 2009 г., с.178-182.
2. Лаптев В.В., Толасова В.В. Требования к обучающей среде для обучения программированию // Инновационные технологии в управлении, образовании, промышленности «АСТИНТЕХ-2010» [Текст]: материалы Международной научной конференции 11-14 мая 2010г.: в 3 т. - Астрахань: Астраханский государственный университет, Издательский дом «Астраханский университет», 2010. - Т.1. - 206 с., с. 46-49.
3. Лаптев В.В., Тырнава Али, Толасова В.В. Об унификации агрегатных типов данных при обучении программированию. // Вестник Астраханского государственного технического университета. Научный журнал, № 4(39)/2007. - Астрахань: Изд-во АГТУ, 2007 г., с.216-221 .
4. Вирт Н. Построение компиляторов - М.: ДМК Пресс, 2010. - 192с.
5. Павловская Т.А. C#. Программирование на языке высокого уровня. Учебник для вузов. - СПб.: Питер, 2007.
6. Фаулер М., Скотт К. UML. Основы / Пер. с англ. - СПб: Символ-Плюс, 2002. - 192 с., ил.
7. Троелсен. Э. С# и платформа .NET. Библиотека программиста - СПБ.: Питер, 2004. - 796с.
8. Мак-Дональд М. Windows Presentation Foundation в .NET 3.5 с примерами на C# 2008 для профессионалов. Expert's Voice / Пер. с англ. - Вильямс, 2008 - 1020 с.
9. Станек У. Р. Microsoft SQL Server 2005. Справочник администратора / Пер. с англ. - М.: Издательство «Русская Редакция», 2008. - 544 с.: ил.
Приложение 1. Диаграмма классов
Размещено на Allbest.ru
Подобные документы
"Moodle" - модульная объектно-ориентированная динамическая среда обучения, ее использование для разработки систем дистанционного обучения. Общее представление о дистанционном практикуме по программированию. Разработка структуры данных и алгоритмов.
дипломная работа [1,2 M], добавлен 09.11.2016Обзор литературы по темам "JavaScript", "PHP" и "Java". Методические разработки лабораторных работ: документы HTML, фреймы, строка состояния и таймер. Основы синтаксиса и обработка запросов с помощью PHP. Объектно-ориентированное программирование в Java.
дипломная работа [106,2 K], добавлен 14.10.2012Проектирование программы в среде Delphi для тестирования знаний студентов по программированию, с выводом оценки по окончанию тестирования. Разработка экранных форм и алгоритма программы. Описание программных модулей. Алгоритм процедуры BitBtn1Click.
курсовая работа [365,0 K], добавлен 18.05.2013Разработка головоломки на основе гравюры Альбрехта Дюрера "Магический квадрат". Главные составные части среды программирования Delphi, особенности ее стандартных компонентов и процесса сохранения программы. Компоненты и алгоритмы создаваемой программы.
курсовая работа [147,1 K], добавлен 05.02.2015Разработка программной среды для вычислительных машин. Создание приложений для быстрого проведения сложных вычислений. Метод расчета оценок для контрольных работ. Объектно-ориентированный подход к программированию. Создание графической оболочки.
курсовая работа [99,2 K], добавлен 04.02.2012Описание программного продукта, решающего задачу по автоматизации сбора данных, связанных с деятельностью кружка по программированию. Изучение и совершенствование навыков программирования на различных языках среди студентов и школьников старших классов.
дипломная работа [418,3 K], добавлен 10.07.2017История интегрированной среды разработки, версии Delphi. Организация библиотеки компонентов. Страница Additional, ряд часто используемых компонентов общего назначения. Исполняемый файл программы "Архиватор текстовых файлов", интерфейс приложения.
курсовая работа [1019,0 K], добавлен 16.05.2017Введение в Microsoft Visual Studio. Диалоговое окно "Восстановленные файлы" интегрированной среды разработки. Веб-обозреватель интегрированной среды разработки. Диалоговое окно "Проверка подлинности прокси-сервера". Сохранение и восстановление файлов.
реферат [22,0 K], добавлен 29.05.2013Выбор инструментальной среды разработки программного обеспечения системы. Алгоритм создания теста и ввода его исходных данных. Анализ экономической эффективности применения программного обеспечения "Тестирования знаний обучающихся программированию".
дипломная работа [3,2 M], добавлен 11.09.2014Сущность метода проектов и виды проектной деятельности. Изучение особенности wiki-среды и системы связывания метода проектов с программными механизмами, такими как MediaWiki. Оценка степени влияния использования wiki-среды на качество процесса обучения.
курсовая работа [1,2 M], добавлен 23.06.2014