Аналитическая система диагностики и корректировки педагогического процесса в дошкольной образовательной организации
Использование стандартных методов исследования объектов для диагностики педагогического процесса. Процесс построения образовательного маршрута. Сущность информационно-аналитических систем. Методы, используемые при разработке аналитических систем.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 14.12.2019 |
Размер файла | 3,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Такие показатели достигаются за счет балансирования эффективности и сложности маршрута.
Также следует отметить, что сформированные варианты индивидуального образовательного маршрута имели разный набор заданий. Из этого можно сделать вывод, что использование генетического алгоритма дает хорошую вариативность решения.
Появление вариативности дает возможность применять метод экспертной оценки. Это позволит использовать один и тот же маршрут несколько раз, но при разных обстоятельствах. Такой подход будет способствовать накоплению банка готовых решений, что повлечет за собой сокращение временных затрат на построение общего плана занятий.
В данной реализации алгоритма было использовано 50 итераций. При таком варианте работы при каждом запуске построения маршрута получался разный набор данных. Такая же тенденция наблюдается и при запуске на 500, 5000, 50000 итераций. Сходимость начинает наблюдаться при 5000000 итераций.
Рисунок 44 Индивидуальный образовательный маршрут, сформированный на основе генетического алгоритма
Рисунок 45 Альтернативный образовательный маршрут, сформированный на основе генетического алгоритма
3.3 Выводы
По результатам тестирования можно сделать следующие выводы:
- Получен оптимальный маршрут из 10 заданий. Ранее это был полный набор заданий, удовлетворяющий выборке;
- Средняя выполняемость маршрута составляет 83,5%
- Средняя сложность маршрута составляет 1,9
- Средняя продолжительность работы 3571 млс (ранее 5831 млс)
- При каждом новом запуске составляется новый маршрут, что создает хорошую вариативность;
- Данные обрабатываются корректно. Их целостность не была нарушена в ходе работы системы;
- Формирование индивидуального маршрута выполняется корректно. Задания и упражнения подбираются в соответствии с результатами педагогической диагностики.
Заключение
Аналитическая система диагностики педагогического процесса является новым практичным инструментом для проведения мониторинга в дошкольной образовательной организации. При ее реализации были учтены федеральные государственные образовательные стандарты.
Функционал система позволяет использовать следующие возможности:
- Внесение, хранение и просмотр результатов диагностики;
- Хранение и просмотр данных всех воспитанников образовательной организации;
- Формирование списков групп;
- Формирование диагностических карт;
- Формирование индивидуальных образовательных маршрутов для воспитанников;
- Ведение статистики по группе;
- Просмотр заданий и упражнений, хранящихся в банке системы;
- Получение справочных данных.
Связка выбранных средств разработки позволила реализовать весь необходимый функционал.
Внедрение подсчета статистики позволило использовать новый способ формирования индивидуального образовательного маршрута дошкольника, который основан на генетическом алгоритме с использованием кроссовера и случайных мутаций.
В ходе тестирования было доказано, что механизм подсчета статистики работает корректно и не нарушает целостности хранимых в системе данных.
Причины, по которым был выбран генетический алгоритм, следующие:
- Получение оптимального решения;
- Исключение избыточности данных;
- Вариативность решений;
- Относительная простота в реализации;
- Возможное сокращение работы алгоритма.
В ходе реализации системы было проведено сравнение работы двух механизмов формирования индивидуального образовательного маршрута: простым отбором и с использованием генетического алгоритма.
Результаты сравнения представлены в таблице 6.
Таблица 6
Сравнение алгоритмов формирования образовательного маршрута
Показатель |
Простой отбор |
С использование генетического алгоритма |
|
Скорость работы |
5831 млс |
3571 млс |
|
Вариативность |
низкая |
высокая |
|
Сложность в реализации |
низкая |
средняя |
|
Сохранение целостности данных |
сохраняется |
сохраняется |
|
Количество заданий в решении |
Все задания, удовлетворяющее условиям отбора - избыточность |
10 |
|
Корректность подбора заданий |
корректно |
корректно |
Из сравнения можно сделать следующие выводы:
- Скорость работы алгоритмов отличается. Это происходит за счет сокращения времени на выгрузке данных в файл в формате xls;
- Первый вариант формирования маршрут не дает возможности получения нескольких решений. Генетический алгоритм имеет высокий уровень вариативности;
- Сложность реализации генетического алгоритма более высокая, но в тоже время имеется возможность внедрить уже существующие решения;
- Целостность и корректность данных не нарушается при работе двух вариантов формирования маршрута;
- С использованием генетического алгоритма индивидуальный маршрут получается более емким и не требует доработок с помощью экспертной оценки.
Исходя их всего выше сказанного, можно сказать, что использование генетического алгоритма способствует формированию более точного и оптимального индивидуального образовательного маршрута, позволяет получить высокую вариативность решений, а также сократить время работы алгоритма.
Формирование индивидуальных образовательных маршрутов является несравненным преимуществом над существующими аналогами системы.
Также спроектированная и разработанная данная информационная система для диагностики педагогического процесса в дошкольной образовательной организации отражает тенденции развития оценки качества современного образования. Позволяет педагогу экономить время на обработку данных и построение образовательных маршрутов.
Можно сделать вывод, что данная система сможет повысить уровень эффективности педагогического процесса в дошкольной образовательной организации, учитывая все аспекты современного образования.
Список использованных источников
1. Федеральный государственный образовательный стандарт дошкольного образования: приказ Министерства образования и науки. 17 октября 2013 года. № 1155.
2. Педагогическая диагностика детей по ФГОС ДО [Электронный ресурс]. Режим доступа: https://infourok.ru/pedagogicheskaya-diagnostika-detey-po-fgos-do-898130.html.
3. Будущее науки-2018: Сборник научных статей 6-й Международной молодежной научной конференции (25-26 апреля 2018 года), в 4-х томах, Том 2, Юго-Зап. гос. ун-т., Курск: ЗАО «Университетская книга», 2018, 443 с.
4. Актуальные проблемы науки и практики в различных отраслях народного хозяйства: сб. докладов Национальной научно-практической конференции. Часть 4. Технические науки. Пенза / [ред. кол.: А.И. Шеин и др.]: ПГУАС, 2018. 132 с.
5. Шоакбарова, С.И. Конспекты психолого-педагогических развивающих занятий для дошкольников//С.И. Шоакбарова. СПБ.: ООО «Издательство «ДЕТСТВО-ПРЕСС», 2013. 64 с.
6. Жданов, С.А. Информационные системы: учебник для студ. учреждений высш. образования/С.А. Жданов, М.Л. Соболева, А.С. Алфимова. М.:ООО «Прометей», 2015. 302 с.
7. Нестеров А.К. Информационно-аналитические системы в образовании [Электронный ресурс] // Образовательная энциклопедия ODiplom.ru. Режим доступа: http://odiplom.ru/lab/informacionno-analiticheskie-sistemy.
8. Эволюционное моделирование и его применение: монография / В.И. Аверченков, П.В. Казаков. 3-е изд., стереотип. М.: ФЛИНТА, 2016. 200 с.
9. Qt 5.3. Профессиональное программирование на С++. СПБ.:БХВ-Петербург, 2015. 928 с.
10. Краткое сравнение баз данных: MySQL, PostgreSQL, SQLite, Firebird [Электронный ресурс]. Режим доступа: http://a-panov.ru/2011/02/краткое-сравнение-баз-данных-mysql-postgresql-sqlite-firebird-part-1.
Приложение 1
Листинг алгоритма построения образовательного маршрута
QTime start = QTime::currentTime();
QAxObject* excel = new QAxObject( "Excel.Application", this );
QAxObject *workbooks = excel->querySubObject( "Workbooks" ); //получаем указатель на список книг
QAxObject *workbook = workbooks->querySubObject( "Open(const QString&)", "D:\\result\\rout.xlsx" ); // открываем файл с диска с уже созданным документом Excel и получаем указатель на книгу
QAxObject* sheets = workbook->querySubObject("Worksheets");
QAxObject* sheet = sheets->querySubObject("Item(int)", 1);
QString specilbox=ui->comboBox_6->currentText();
QString result;
for (int i = 0;i<specilbox.length();i++)
{if (specilbox[i]!='/')
{result[i]=specilbox[i];}
else break;}
QSqlQuery q;
q.prepare("select cr.id_crit, cr.name_crit, d.id_dom, "
"d.name_dom, pr.id_praxis, pr.name_praxis, "
"pr.descript_praxis "
"from criterions cr, marks m, praxis pr, "
"crit_praxis c_p, domains d "
"where m.id_crit = cr.id_crit and "
"cr.id_dom = d.id_dom and cr.id_crit = c_p.id_crit "
"and c_p.id_praxis = pr.id_praxis and "
"m.mark <= 2 and m.date_mark=:date and m.id_child ="+result);
q.bindValue(":date", ui->dateEdit_3->date());
int i = 2;
q.exec();
while (q.next())
{
QAxObject *range = sheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(i),QVariant(1));
range->dynamicCall("Clear()");
range->dynamicCall("WrapText",true);
range->dynamicCall("VerticalAlignment",-4160);
range->dynamicCall( "SetValue(const QVariant&)", QVariant(q.value(5).toString()));
QAxObject *range2 = sheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(i),QVariant(2));
range2->dynamicCall("Clear()");
range2->dynamicCall("WrapText",true);
range2->dynamicCall("VerticalAlignment",-4160);
range2->dynamicCall( "SetValue(const QVariant&)", QVariant(q.value(6).toString()));
QAxObject *range3 = sheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(i),QVariant(3));
range3->dynamicCall("Clear()");
range3->dynamicCall("WrapText",true);
range3->dynamicCall("VerticalAlignment",-4160);
range3->dynamicCall( "SetValue(const QVariant&)", QVariant(q.value(1).toString()));
QAxObject *range4 = sheet->querySubObject( "Cells(const QVariant&,const
QVariant&)",QVariant(i),QVariant(4));
range4->dynamicCall("Clear()");
range4->dynamicCall("WrapText",true);
range4->dynamicCall("VerticalAlignment",-4160);
range4->dynamicCall( "SetValue(const QVariant&)", QVariant(q.value(3).toString()));
i++;
}
excel->dynamicCall( "SetVisible(bool)", true );
Приложение 2
Блок-схема работы алгоритма подсчета статистики
Приложение 3
Процедура для обработки результатов статистики
CREATE PROCEDURE `statistic`(in v_id_prax int(11))
begin
declare v_count_done int;
declare v_count_not_done int;
declare v_count int;
declare v_result decimal(5,2);
//подсчет количества выполнений
select count(*)
into v_count_done
from prax_statistic
where id_prax = v_id_prax
and is_done = 'Y';
//подсчет количества невыполнений
select count(*)
into v_count_not_done
from prax_statistic
where id_prax = v_id_prax
and is_done = 'N';
//подсчет общего количества результатов
select count(*)
into v_count
from statistics
where id_prax = v_id_prax;
//если нет выполнений и есть невыолнения
if (v_count_done = 0 and v_count_not_done != 0) then
if (v_count > 0) then
update statistics
set statistic = 0
where id_prax = v_id_prax;
else
insert into statistics(id_prax, statistic)
values (v_id_prax, 0);
end if;
end if;
//если только выполнения
if (v_count_done != 0 and v_count_not_done = 0) then
if (v_count > 0) then
update statistics
set statistic = 100
where id_prax = v_id_prax;
else
insert into statistics(id_prax, statistic)
values (v_id_prax, 100);
end if;
end if;
//если нет данных
if (v_count_done = 0 and v_count_not_done = 0) then
if (v_count > 0) then
update statistics
set statistic = -1
where id_prax = v_id_prax;
else
insert into statistics(id_prax, statistic)
values (v_id_prax, -1);
end if; end if;
//расчет
if v_count_done > 0 and v_count_not_done > 0 then
set v_result = (v_count_done/(v_count_done + v_count_not_done)) * 100;
if (v_count > 0) then
update statistics
set statistic = v_result
where id_prax = v_id_prax;
else
insert into statistics(id_prax, statistic)
values (v_id_prax, v_result); end if; end if; end;
Приложение 4
(обязательное)
Листинг реализации генетического алгоритма
int CRoute::Solve() {
int fitness = -1;
srand((unsigned)time(NULL));
for(int i=0;i<MAXPOP;i++) {
for (int j=0;j<10;j++) {
population[i].alleles[j] = praxis[rand() % (40 + 1)];
}
}
if (fitness = CreateFitnesses()) {
return fitness;
}
int iterations = 0;
while (fitness != 0 || iterations < 50) {
GenerateLikelihoods();
CreateNewPopulation();
if (fitness = CreateFitnesses()) {
return fitness;
}
iterations++;
}
return -1;
}
int CRoute::Fitness(gene &gn) {
int total = (gn.alleles[0].stat + gn.alleles[1].stat + gn.alleles[2].stat + gn.alleles[3].stat +
gn.alleles[4].stat + gn.alleles[5].stat + gn.alleles[6].stat + gn.alleles[7].stat +
gn.alleles[8].stat + gn.alleles[9].stat + gn.alleles[10].stat)/10;
int level = (gn.alleles[0].level + gn.alleles[1].level + gn.alleles[2].level + gn.alleles[3].level +
gn.alleles[4].level + gn.alleles[5].level + gn.alleles[6].level + gn.alleles[7].level +
gn.alleles[8].level + gn.alleles[9].level + gn.alleles[10].level)/10;
return gn.fitness = abs((total - stat)/(level - lvl));
}
int CRoute::CreateFitnesses() {
float avgfit = 0;
int fitness = 0;
for(int i=0;i<MAXPOP;i++) {
fitness = Fitness(population[i]);
avgfit += fitness;
if (fitness == 0) {
return i;
}
}
return 0;
}
float CRoute::MultInv() {
float sum = 0;
for(int i=0;i<MAXPOP;i++) {
sum += 1/((float)population[i].fitness);
}
return sum;
}
void CRoute::GenerateLikelihoods() {
float multinv = MultInv();
float last = 0;
for(int i=0;i<MAXPOP;i++) {
population[i].likelihood = last = last + ((1/((float)population[i].fitness) / multinv) * 100);
}
}
int CRoute::GetIndex(float val) {
float last = 0;
for(int i=0;i<MAXPOP;i++) {
if (last <= val && val <= population[i].likelihood) return i;
else last = population[i].likelihood;
}
return 4;
}
gene CRoute::Breed(int p1, int p2) {
int crossover = rand() % 9+1;
int first = rand() % 100;
gene child = population[p1];
int initial = 0, final = 9;
if (first < 50) initial = crossover;
else final = crossover+1;
for(int i=initial;i<final;i++) {
child.alleles[i] = population[p2].alleles[i];
if (rand() % 101 < 5) child.alleles[i] = praxis[rand() % (40 + 1)];
}
return child;
}
void CRoute::CreateNewPopulation() {
gene temppop[MAXPOP];
for(int i=0;i<MAXPOP;i++) {
int parent1 = 0, parent2 = 0, iterations = 0;
while(parent1 == parent2 || population[parent1] == population[parent2]) {
parent1 = GetIndex((float)(rand() % 101));
parent2 = GetIndex((float)(rand() % 101));
if (++iterations > 25) break;
}
temppop[i] = Breed(parent1, parent2);
}
for(int i=0;i<MAXPOP;i++) population[i] = temppop[i];
}
Приложение 4
Листинг алгоритма формирования маршрута
QTime start = QTime::currentTime();
QAxObject* excel = new QAxObject( "Excel.Application", this );
QAxObject *workbooks = excel->querySubObject( "Workbooks" ); //получаем указатель на список книг
QAxObject *workbook = workbooks->querySubObject( "Open(const QString&)", "D:\\result\\rout.xlsx" ); // открываем файл с диска с уже созданным документом Excel и получаем указатель на книгу
QAxObject* sheets = workbook->querySubObject("Worksheets");
QAxObject* sheet = sheets->querySubObject("Item(int)", 1);
QString specilbox=ui->comboBox_6->currentText();
QString result;
for (int i = 0;i<specilbox.length();i++)
{if (specilbox[i]!='/')
{result[i]=specilbox[i];}
else break;}
QSqlQuery qm;
qm.prepare("select pr.id_praxis, ps.statistic, pr.level_id "
"from criterions cr, marks m, praxis pr, "
"crit_praxis c_p, domains d, statistics ps "
"where m.id_crit = cr.id_crit and "
"cr.id_dom = d.id_dom and cr.id_crit = c_p.id_crit "
"and c_p.id_praxis = pr.id_praxis and "
"m.mark <= 2 and m.date_mark=:date and m.id_child ="+result +
" and pr.level_id <=:lvl and ps.id_prax = pr.id_praxis order by ps.statistic desc, pr.level_id desc " );
qm.bindValue(":date", ui->dateEdit_3->date());
QSqlQuery qn;
qn.exec("SELECT level_id FROM prax_level where name = '"+ ui->comboBox_8->currentText()+"'");
if (qn.first())
//
{ qm.bindValue(":lvl",qn.value(0).toInt());}
int k = 0;
qm.first();
while (qm.next())
{ if (k<40)
{
praxis[k].id = qm.value(0).toInt();
std::cout<<qm.value(0).toInt()<<std::endl;
praxis[k].level = qm.value(2).toInt();
praxis[k].stat = qm.value(1).toFloat();
k++;}
}
CRoute dp(70,qn.value(0).toInt());
gene gn;
int ans;
ans = dp.Solve();
if (ans != -1) {
{
gn = dp.GetGene(ans);
}
}
std::cout<<gn.alleles[0].id<<std::endl;
QSqlQuery q;
q.prepare("select cr.id_crit, cr.name_crit, d.id_dom, "
"d.name_dom, pr.id_praxis, pr.name_praxis, "
"pr.descript_praxis "
"from criterions cr, marks m, praxis pr, "
"crit_praxis c_p, domains d "
"where m.id_crit = cr.id_crit and "
"cr.id_dom = d.id_dom and cr.id_crit = c_p.id_crit "
"and c_p.id_praxis = pr.id_praxis and pr.id_praxis in (" + QVariant(gn.alleles[0].id).toString() + ", "
+ QVariant(gn.alleles[1].id).toString() + ", " + QVariant(gn.alleles[2].id).toString() + ", "
+ QVariant(gn.alleles[3].id).toString() + ", " + QVariant(gn.alleles[4].id).toString() + ", "
+ QVariant(gn.alleles[5].id).toString() + ", " + QVariant(gn.alleles[6].id).toString() + ", "
+ QVariant(gn.alleles[7].id).toString() + ", " + QVariant(gn.alleles[8].id).toString() + ", "
+ QVariant(gn.alleles[9].id).toString() + ") and "
"m.mark <= 2 and m.date_mark=:date and m.id_child =" + result);
q.bindValue(":date", ui->dateEdit_3->date());
int i = 2;
if (q.exec()) std::cout<<"da"<<std::endl;
while (q.next())
{
QAxObject *range = sheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(i),QVariant(1));
range->dynamicCall("Clear()");
range->dynamicCall("WrapText",true);
range->dynamicCall("VerticalAlignment",-4160);
range->dynamicCall( "SetValue(const QVariant&)", QVariant(q.value(5).toString()));
QAxObject *range2 = sheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(i),QVariant(2));
range2->dynamicCall("Clear()");
range2->dynamicCall("WrapText",true);
range2->dynamicCall("VerticalAlignment",-4160);
range2->dynamicCall( "SetValue(const QVariant&)", QVariant(q.value(6).toString()));
QAxObject *range3 = sheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(i),QVariant(3));
range3->dynamicCall("Clear()");
range3->dynamicCall("WrapText",true);
range3->dynamicCall("VerticalAlignment",-4160);
range3->dynamicCall( "SetValue(const QVariant&)", QVariant(q.value(1).toString()));
QAxObject *range4 = sheet->querySubObject( "Cells(const QVariant&,const QVariant&)",QVariant(i),QVariant(4));
range4->dynamicCall("Clear()");
range4->dynamicCall("WrapText",true);
range4->dynamicCall("VerticalAlignment",-4160);
range4->dynamicCall( "SetValue(const QVariant&)", QVariant(q.value(3).toString()));
i++;}
excel->dynamicCall( "SetVisible(bool)", true );
Размещено на Allbest.ru
Подобные документы
Специфика педагогической диагностики в дошкольной образовательной организации. Обзор программных продуктов для поддержки педагогического процесса в дошкольном образовательном учреждении. Проектирование схемы базы данных, пользовательского интерфейса.
дипломная работа [2,7 M], добавлен 10.07.2017Понятие и виды информационно-аналитических систем. Разработка информационной системы, предназначенной для учета корреспонденции отдела канцелярии, с использованием передовых информационных технологий и современных вычислительных средств и средств связи.
отчет по практике [295,4 K], добавлен 07.03.2012Создание информационно-аналитической системы компьютерного салона, организующей операции с продажей компьютеров и комплектующих к ним (принтеров, мониторов и т.д.), на основе справочной информации, содержащейся в четырнадцати взаимосвязанных таблицах.
контрольная работа [4,8 M], добавлен 11.01.2009Основные принципы построения информационно-поисковых систем. Архитектура современных информационно-поисковых систем WWW. Принцип работы поисковых систем. Процесс поиска, информационный язык, перевод, дескриптор, критерий соответствия, индексирование.
курсовая работа [70,2 K], добавлен 10.06.2014Использование библиотеки готовых компонентов как основы процесса построения моделей организационных систем. Характеристика качественных методов принятия решений. Применение порядковой классификации в процессе UFO-моделирования систем телемеханики.
магистерская работа [732,7 K], добавлен 26.04.2011Анализ и способы построения online геоинформационных систем. Разработка набора инструментальных средств для создания информационно-справочной системы с географической привязкой в виде интернет-сервиса. Функциональное назначение программного продукта.
дипломная работа [2,8 M], добавлен 11.04.2012Методы организации процесса обработки информации; основные направления реализации внутримашинного информационного обеспечения. Принципы построения и эффективного применения технологий баз и банков данных как основных компонентов автоматизированных систем.
дипломная работа [186,8 K], добавлен 30.05.2013Команды, используемые при решении уравнений и их систем, неравенств и их систем в системе аналитических вычислений Maple. Выражения, соединенные знаком равенства. Проверка типа переменной. Решение одного уравнения относительно заданной переменной.
лабораторная работа [41,7 K], добавлен 15.07.2009Изучение объектов или процессов любой физической природы как систем. Методология познания частей на основании целого. Комплекс подсистем, его свойства и связи. Основные признаки процесса. Функциональное, морфологическое и информационное описание процесса.
контрольная работа [120,3 K], добавлен 12.12.2010Система "человек-машина" для автоматизированного сбора и обработки информации. Два вида информационных систем: информационно-справочные (пассивные) и информационно-советующие (активные). Критерии и подходы к классификации для управляющих сложных систем.
реферат [21,3 K], добавлен 27.02.2009