Scientific journal
Modern problems of science and education
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 1,006

APPLICATION OF MATHEMATICAL MODELING METHODS IN TEACHING STUDENTS SOFTWARE DEVELOPMENT TOOLS

Kozlov S.V. 1 Bykov A.A. 2
1 Smolensk state university
2 Branch of FGBOU VO "National Research University "MPEI"
The article discusses the features of studying modern methodologies and technologies for developing software applications by university students. The relevance of this issue is due to the continuous expansion of their areas of application, the emergence of new and the improvement of classical software engineering approaches. In this regard, there is a disproportion between the volume of the studied subject material and the time allotted for training. To ensure a high level of professional achievements of students, it is proposed to use mathematical modeling tools. They act as tools for the formation of optimal individual and group learning trajectories. The authors consider the possibility of using the Galois correspondence as a method of functional modeling in group learning. Particular attention is paid to the problem of preparing students for programming system modules in mini-groups, mastering the collective principles of working on a project. The effectiveness of teaching modern methods of software development is ensured by automated instrumental analysis of the current level of students educational achievements. To do this, within the framework of experimental activities, the functional tools of the «Advanced Tester» software package are introduced into the educational process. They allow you to simulate a training schedule, distributing in an optimal way individual and group teaching methods when studying software development technologies. The results of experimental work carried out on independent samples of students at Smolensk State University confirm the effectiveness of using the Galois correspondence as a mathematical modeling method to form strategies for teaching students how to develop modern software applications.
diagnostics
educational process
mathematical modeling
compliance of galois
graph model
it-technologies
software application
automated training systems

В настоящее время компьютерные программные приложения используются практически во всех областях жизни и деятельности человека [1, 2]. При этом требования к их эргономике, надежности, функционалу и эффективности постоянно растут [3, 4]. В связи с этим разработка и стандартизация программных средств обусловливают непрерывное внедрение новейших методов и приложений IT-технологий [5, 6]. Ввиду этого обучение основам проектирования современных информационных комплексов и программ носит особо важный характер. Подготовка будущего инженера-программиста должна обеспечивать прочные знания и умения как применения классических инструментов разработки программного обеспечения, так и владения навыками методологий, получивших широкое распространение в отдельных направлениях в последние годы.

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

Одним из таких инструментов, применяемых в обучении, могут выступать различные средства математического моделирования учебных ситуаций. При этом наиболее успешно себя зарекомендовали средства функционального анализа [7], моделирования с использованием алгебраических структур [8] и интеллектуального анализа латентных структурных компонентов [9], определяющих поведение системы в целом. Они позволяют исследовать параметры состояния текущего обучения и сформировать оптимальную стратегию изучения учебного материала дисциплины. В данном случае в преподавании дисциплины о современных технологиях и методологиях разработки программных приложений открываются перспективы более глубокого самостоятельного изучения одного из направлений приложения IT-инструментов при проектировании и создании компьютерных средств. Инструменты математического моделирования дают возможность обоснованного выбора ориентиров совершенствования студентами своих навыков в области профессиональной деятельности, в которой они могут раскрыть свой потенциал программиста наиболее эффективно. Безусловно, выбрать даже в рамках часов для самостоятельной работы более двух направлений углубленного изучения подходов разработки программных приложений сложно. Однако методы математического моделирования позволяют расставить приоритеты в последовательности дальнейшего обучения программированию. Это может быть отражено в курсовых проектах студентов или области производственных практик.

Цель исследования: описание и проверка эффективности использования методов математического моделирования, в частности соответствия Галуа, как инструментов формирования стратегий обучения студентов разработке программных приложений.

Научная новизна состоит в применении методов функционального анализа, а именно соответствия Галуа, как средства математического моделирования образовательных траекторий при обучении студентов современным инструментам разработки программного обеспечения.

Материал и методы исследования. Развитие IT-технологий на рубеже XX–XXI вв. и в последнее десятилетие XXI в., масштабы их проникновения в разные системы жизнеобеспечения, практической и профессиональной деятельности людей таковы, что специалисты по разработке различных видов программного обеспечения востребованы все больше. В связи с этим объем учебного материала области IT-приложений и его содержание должны отражать фундаментальные предметные знания и охватывать современные тенденции проектирования и программирования компьютерных средств. Кроме того, необходимо учитывать личностные запросы в получении профессиональных знаний, которые позволят эффективно обучить и в дальнейшем наиболее продуктивно использовать возможности специалистов области программной инженерии.

Теоретико-методологической основой исследования служат совокупность методологий развития личности, теория деятельности, системные подходы личностно-ориентированного обучения, а также вопросы и концепции диагностики и мониторинга личностного и профессионального развития с помощью средств математического моделирования. Данными вопросами теоретического обоснования и практического применения, в частности, занимались В.С. Аванесов, Д.Н. Богоявленский, Е.В.Бондаревская, Л.С. Выготский, С.П.Грушевский, А.Н. Майоров, М.И.Махмутов, В.М. Монахов, И.В.Роберт, Н.Ф. Талызина, И.В. Слободчиков, М.Б. Челышкова, И.С. Якиманская.

Комплекс средств этих подходов составляет методологическую базу исследования, которая определяет совокупность диагностических инструментов для изучения личностного и профессионального развития студентов. Среди них методы математического моделирования не только выступают инструментом обработки больших массивов информации, но и играют ключевую роль при экстраполировании и интерполировании полученных данных для формирования индивидуальных и групповых образовательных траекторий [10]. При этом методология функционального моделирования на основе использования соответствия Галуа [11] представляет собой инструмент многофакторного анализа латентных характеристик процесса обучения разработке программных приложений.

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

Освоение технологий и методологий проектирования и разработки программного обеспечения сначала строится на изучении классических методов, таких как нисходящее проектирование или расширение ядра. Затем оно продолжается применением объектно-ориентированных подходов, которые в совокупности классическими инструментами составляют основу каскадной, инкрементной и эволюционной моделей разработки программных средств. Именно изучение этих базовых понятий и способов реализации программного кода составляет информационный ресурс входной диагностики в системе общего мониторинга с использованием методов математического моделирования данных.

Для проведения начального диагностического этапа комплексной экспериментальной деятельности в автоматизированной системе «Advanced Tester» [12] был сгенерирован граф учебного материала, который отражает все базовые структурные элементы области разработки программных приложений и связи между компонентами системы. Для этого в систему были внесены исходные данные о количестве элементов знаний, влиянии одних компонентов на другие, степени связей между ними и другие характеристики. Также в среде «Advanced Tester» был реализован комплекс тестовых заданий, необходимых для оценки знаний и умений студентов, полученных ими при освоении стартового модуля учебной дисциплины по разработке компьютерных программ и систем. Использование ресурсов и инструментов интеллектуальной системы «Advanced Tester» осуществлялось с помощью электронной среды на базе платформы дистанционного обучения Moodle. Следует отметить, что модули автоматизированной системы «Advanced Tester» можно аналогичным образом встраивать и в другие программные комплексы, в том числе и как ресурс интернет-платформ [13], и как компонент мобильных приложений. Иными словами, данная система является кроссплатформенным средством математического моделирования с использованием инвариантного модуля на базе положений теории графов и инструментом мониторинга, основу модуля которого составляют метрики современной теории тестирования и диагностики различных параметров функционирования.

Информация об учебных достижениях студентов, полученная на настоящем этапе, позволила оценить уровень их знаний об алгоритмах и структурах компьютерной обработки. Это, в свою очередь, открыло возможность определения характера применения студентами умений для решения конкретной задачи практики по разработке программных сред. Студентам были предложены задания различной сложности – от базового уровня до высокого уровня. Они были направлены на отработку навыков использования как классических подходов программной инженерии, так и объектно-ориентированного программирования. Затем на основании анализа полученных результатов в автоматизированной среде «Advanced Tester» строились индивидуальные траектории изучения дальнейшего учебного материала. В зависимости от продемонстрированного уровня способностей формировалась последовательность изучения современных методологий разработки программных средств. Осваивать учебный материал индивидуально предлагалось в рамках самостоятельной работы по дисциплине.

Оставшаяся часть часов аудиторной работы распределялась следующим образом. На основании анализа групповых данных были сформированы мини-группы для реализации в рамках учебной деятельности проекта с использованием одной из новейших методологий разработки. Например, изучались такие современные подходы, как технологии Agile [14] и XP [15]. Аудиторные часы делись пропорционально этапам жизненного цикла программных средств. Обучение учитывало такие основные этапы, как заказ, поставка, разработка, эксплуатация и сопровождение. Это позволяло студентам проследить весь цикл разработки программного продукта – от постановки целей и задач до выведения его на IT-рынок. Именно такой подход обосновывался тем, что студент получал целостное представление о создании программного средства и понимал степень и значимость каждого шага его реализации. Каждый студент в рамках группового подхода в обучении овладевал одной из современных методологий программной инженерии и имел представление о других новейших методах. Освоение других методологий выносится на индивидуальное изучение исходя из объема материала и часов самостоятельной работы учебной дисциплины. По результатам работы над проектом студенты проводят публичную защиту и презентацию разработанного программного средства.

Распределение по мини-группам основывается на анализе текущих достижений студентов, который предполагает выявление общих закономерностей в индивидуальных траекториях при изучении учебного предмета. Так, в системе «Advanced Tester» сначала проводится статистический анализ индивидуальных показателей усвоения компонентов знаний и умений в соответствии с графовой моделью материала дисциплины. Затем генерируется обобщенный групповой граф, который отражает совокупные тенденции обучения. Характеристики графа соотносятся с индивидуальными уровнями студенческих достижений по разработке программных средств. Дальнейшее исследование базируется на применении соответствия Галуа как инструмента выявления латентных графовых компонентов, определяющих степень владения предметными навыками. Именно на основе исследования зависимостей между ними с помощью математического аппарата импликативных матриц моделируется состав мини-групп для дальнейшего обучения. Также заметим, что при определении ролей при реализации задач проекта тоже используется этот функциональный подход, только с учетом текущих индивидуальных возможностей студентов по владению базовыми навыками разработки программного обеспечения.

Таким образом, алгоритм применения методов математического моделирования при обучении разработке программного обеспечения включал следующие этапы.

1. Моделирование графовой модели учебного материала и формирование фонда оценочных средств в автоматизированной информационной системе «Advanced Tester».

2. Обучение студентов фундаментальным принципам и приемам классической разработки программных систем и выявление исходного уровня учебных достижений для овладения современными методами и технологиями.

3. Построение индивидуальных образовательных траекторий и моделирование обобщенного группового графа учебного материала с помощью соответствия Галуа.

4. Формирование состава мини-групп по изучению отдельных современных технологий разработки программного обеспечения, моделирование групповых траекторий обучения с помощью математического аппарата соответствия Галуа и импликативных матриц.

5. Определение коррекционных показателей, уточняющих дальнейшие индивидуальные образовательные траектории в рамках часов самостоятельной работы учебной дисциплины.

Итоговыми показателями изучения учебной дисциплины являются базовые навыки владения классическими методами разработки программных средств, результаты выполнения и защиты группового проекта и итоговое тестирование студентов, охватывающее знания и умения современной методологии программной инженерии. Завершающее тестирование по предмету также проводится в системе «Advanced Tester». При этом оно позволяет не только формально оценить профессиональный уровень достижений каждого студента, но и в единой системе мониторинга соотнести исходные данные обучения с его итоговыми показателями. Кроме того, данный подход открывает возможности анализа работы студентов в мини-группах, что является базовой составляющей коллективной разработки программных средств на современном этапе развития IT-технологий.

Результаты исследования и их обсуждение. Эксперимент по использованию в обучении разработки программных приложений средств и методов математического моделирования проводился в Смоленском государственном университете. В экспериментальной работе принимали участие студенты физико-математического факультета направлений подготовки «Прикладная математика и информатика», «Прикладная информатика в логистике» и «Педагогическое образование» с профилем подготовки по математике и информатике. Экспериментальное исследование осуществлялось при обучении в курсах «Разработка и стандартизация программных средств и информационных технологий» и «Методологии разработки программного обеспечения» для непедагогических специальностей и «Технологии разработки программного обеспечения» для будущих учителей математики и информатики. Состав экспериментальной и контрольной выборки групп студентов определялся случайно равномерно. На каждом направлении профильного обучения студентов информатике в контрольной подгруппе обучение учебной дисциплине проводилось с применением традиционных подходов и методов, а в экспериментальной подгруппе – с использованием средств математического моделирования – автоматизированной информационной системы «Advanced Tester». В состав экспериментальных групп суммарно входили 43 человека, в состав контрольных групп – 41 человек.

В каждой из подгрупп на входе в обучение были проведены диагностическое тестирование уровня учебных знаний и умений студентов, пять промежуточных диагностических семестровых срезов, презентация и защита группового проекта, а также итоговая диагностическая работа. Для определения уровня индивидуальных и групповых достижений студентов использовалась тестовая система оценки и контроля знаний и умений. Задача педагогического эксперимента заключалась в определении эффективности применения методов математического моделирования, а именно соответствия Галуа, как инструментов формирования стратегий обучения студентов разработке программных приложений. Для обоснования целесообразности использования методов математического моделирования при разработке программного обеспечения исследовались результаты проверочных работ, количественный анализ которых проводился по формуле , где S1 – вопросы по теории, а S2, S3, S4, S5 – задания практики, оцененные по десятибалльной системе. Данные итоговой диагностики учебных достижений по знаниям классических и современных подходов разработки программных приложений и умениям и навыкам их применения в жизненном цикле программных средств представлены в таблице.

Результаты формирующего этапа эксперимента по разработке программных приложений

Группа

Число студентов, достигших уровня усвоения знаний

Всего

 

Высокий

Повышенный

Базовый

Контрольная группа

7

26

8

41

Экспериментальная группа

20

19

4

43

Всего

27

45

12

84

Результаты формирующего этапа эксперимента по разработке программных приложений также отражены на рисунке.

Результаты формирующего этапа эксперимента по разработке программных приложений

Качественный анализ условий и результатов эксперимента. На основании представленных табличных данных и данных на диаграмме можно констатировать, что количественное распределение оценок в контрольной группе подтверждает закон нормального распределения. В экспериментальной группе показатели освоения предметных знаний смещены в область высоких результатов. Процентное соотношение учебных достижений высокого уровня в экспериментальной группе выше, чем в контрольной группе. Относительное соотношение учебных достижений базового уровня обратное, оно выше у студентов контрольной группы. Это объясняется, на наш взгляд, тем, что использование методов математического моделирования, а именно соответствия Галуа, при формировании индивидуальных и групповых образовательных траекторий способствует более эффективному распределению учебной нагрузки и, как следствие, более глубокому пониманию и широкому охвату предметного материала. Использование функциональных системных модулей и их инструментов для автоматизации процессов математического моделирования позволяет точно учесть текущий уровень учебных достижений и сформировать траекторию обучения с учетом профессиональных запросов студентов. При этом отметим, что достижение в контрольной группе более низких по сравнению с экспериментальной группой результатов также объясняется тем, что обучение в студенческой группе индивидуально. Оно не учитывает необходимости ввиду специфики современных подходов к разработке программного обеспечения владения навыками коллективного проектирования, программирования и тестирования компьютерных средств. Результаты обучения в контрольной группе характеризуют образовательный процесс именно таким образом: студенты имеют общее представление о современных методологиях разработки программных приложений, но не владеют в полной мере ни одной из них. При этом студенты из экспериментальной группы освоили один из современных подходов разработки программного обеспечения полностью. Таким образом, гипотеза, выдвинутая в исследовании, об эффективности обучения студентов разработке программных приложений с применением методов математического моделирования, в частности соответствия Галуа, находит свое подтверждение в результатах экспериментальной работы.

Заключение

В соответствии с данными проведенного педагогического эксперимента можно сделать выводы о целесообразности применения соответствия Галуа как метода математического моделирования при формировании образовательных траекторий. Во-первых, на этапе овладения навыками использования классических методов разработки программ инструменты математического моделирования автоматизированной системы «Advanced Tester» позволяют формировать индивидуальные траектории обучения. Они являются эффективным средством моделирования, оценки и построения прогнозов достижения целей, поставленных в обучении разработке программных приложений. Во-вторых, на этапе освоения коллективных методологий проектирования и программирования математическое моделирование выступает унифицированным средством формирования мини-групп обучения в соответствии с текущим уровнем профессиональных навыков студентов. Оно позволяет на основе системного анализа совокупных показателей обучения, а не вероятностным образом, распределить студентов на группы для дальнейшего обучения одной из современных методологий разработки программных приложений. Таким образом, специфика области учебной дисциплины и профессиональные запросы студентов учитываются оптимальным способом.

В заключение отметим, что практика использования различных средств и методов математического моделирования в обучении должна расширяться. Большинство методологий моделирования универсальны относительно предметной области. В связи с этим данные методы могут быть востребованы во многих учебных дисциплинах как средство автоматизации обработки данных учебных достижений в целях оптимизации образовательных траекторий. При этом они могут успешно применяться для организации как индивидуального, так и группового обучения.