Научная статья на тему 'Проекто-центрированное обучение по направлению «Программная инженерия»'

Проекто-центрированное обучение по направлению «Программная инженерия» Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
71
23
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АКАДЕМИЧЕСКИЙ ПРОГРАММНЫЙ ПРОДУКТ / ПРОФЕССИОНАЛЬНЫЙ ПРОГРАММНЫЙ ПРОДУКТ / АКТИВНОЕ ОБУЧЕНИЕ / ОЦЕНИВАНИЕ РЕЗУЛЬТАТОВ ОБУЧЕНИЯ / ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ АЛГЕБРЫ / ACADEMIC SOFTWARE / PROFESSIONAL SOFTWARE / ACTIVE LEARNING / ASSESSMENT OF LEARNING OUTCOMES / COMPUTATIONAL METHODS OF ALGEBRA

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Константинов Андрей Алексеевич

Характеризуется проекто-центрированная модель обучения с точки зрения студентов УлГТУ, обучающихся по направлению бакалавриата «Программная инженерия». Материал основан на опыте реализации этой модели обучения кафедрой «Информационные системы» в рамках дисциплины «Численные методы» на факультете информационных систем и технологий (ФИСТ). Приведены результаты проектной работы и консолидированное мнение студента об эффективности модели

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Константинов Андрей Алексеевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Characterized by project-centered training model from the point of view of UlSTU students enrolled in bachelor courses "Software engineering". The material is based on the experience of the implementation of this training model of the Department "Information systems" in the discipline "Numerical methods" at the faculty of information systems and technologies (FIST). The results of the project work and the consolidated opinion of the student about the effectiveness of the model

Текст научной работы на тему «Проекто-центрированное обучение по направлению «Программная инженерия»»

УДК 004.41/.42

А. А. КОНСТАНТИНОВ

ПРОЕКТО-ЦЕНТРИРОВАННОЕ ОБУЧЕНИЕ ПО НАПРАВЛЕНИЮ «ПРОГРАММНАЯ ИНЖЕНЕРИЯ»

Характеризуется проекто-центрированная модель обучения с точки зрения студентов УлГТУ, обучающихся по направлению бакалавриата «Программная инженерия». Материал основан на опыте реализации этой модели обучения кафедрой «Информационные системы» в рамках дисциплины «Численные методы» на факультете информационных систем и технологий (ФИСТ). Приведены результаты проектной работы и консолидированное мнение студента об эффективности модели.

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

Введение

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

Возникает вопрос: «Где получить опыт?» Естественно, ответ ожидают от преподавателей кафедры, понимающих устремления студентов.

Кафедра «Информационные системы» (ИС) в Ульяновском государственном техническом университете (УлГТУ) практикует свою собственную модель обучения.

Студенческий проект по направлению «Программная инженерия» - это разработка, реализация и всесторонние испытания «академического программного продукта» (АПП). Эта работа способствует развитию специалиста ещё на учебном уровне. Развитие навыков на этом уровне создаёт перспективы

© Константинов А. А., 2017

приближения к уровню, типичному для профессионального программного продукта (ППП).

Статья проф. И. В. Семушина [1] отвечает на вопросы ЧТО и КАК делают российские вузы в их стремлении доводить до зрелости вычислительные и программистские навыки у тех, кто осваивает программную инженерию.

Целью данной работы является обратная связь - консолидированный отклик студентов ФИСТ (кафедра ИС) как на указанную статью, так и на результат, какой они видят для себя от опоры на ту модель проекто-центрированного обучения (ПЦО), которая в статье И. В. Семушина представлена.

В данной публикации:

- раздел 1 интегрирует сведения о различных практиках обучения, основанных на проектах;

- раздел 2 характеризует то, какие выгоды получают студенты ФИСТ (кафедра ИС), благодаря практической реализации модели ПЦО в курсе «Численные методы»;

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

Материалом для данной работы послужил опыт создания реального академического программного продукта под названием «Стандартные алгоритмы ¿^-разложения со случайными или плохо обусловленными матрицами».

1. Проекто-центрированное обучение

Беспрецедентные возможности в науке, технологиях, инженерии и математике на пороге 21-го века поставили под вопрос классические

методики обучения типа «мел & разговор». Исследования в области образования затрагивают многие концепции, подходы и практики. Среди наиболее обсуждаемых тем в мире выделяются:

• Project-Based Learning, PjBL,or Project-Oriented Learning.

Ссылки на следующих авторов по этим темам известны по работе [1]: Heitmann 1996; Schachterle and Vinther 1996; Perrenet, Bouhuijs, and Smits 2000; Powell and Weenk 2000; Thomas 2000; Hadim' and Esche 2002; Liu and Hsiao 2002; Frank, Lavy, and Elata 2003; Mills and Treagust 2003; Semoushin, Tsyganova, and Ugarov 2003; Noguez and Espinosa 2004; Tien, Chu, and Liu 2004; Forcheri et al. 2007; McDermott, Nafalski, and Gol 0000; Lehmann et al. 2008; Bell 2010; Barge 2010; Davies, de Graaff, and Kolmos 2011; Sarper 2013; Stevens 2013; Wade 2013; Harrigan 2014; de Graaff, Farreras, and Arexolaleiba 2015.

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

Методика ПЦО ставит в центр обучения выполнение студентом сложного, трудоёмкого проекта. Именно такие проекты характерны для профессиональной деятельности. Перед студентом стоит задача продумать все требования, все детали проекта, оценить возможные варианты реализации и точно осуществить один из них, как на реальном проекте.

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

После выполнения проекта, студент получает большой опыт выполнения трудоёмких проектов.

По статистике 55% выпускников не могут решать реальные задачи. Данный подход к

обучению значительно снижает этот уровень.

Перейдём к практической составляющей модели проекто-центрированного обучения.

2. Практический опыт

Была поставлена задача: создать и отладить программу для решения системы линейных алгебраических уравнений вида Ax= f. Функционал программы описан ниже.

Данная задача выполнена в рамках лабораторной работы. Создано приложение, которое выполняет сложные вычисления с квадратными матрицами:

выполняет LU-разложения по компактной схеме Краута;

выполняет решение СЛАУ; находит определитель матрицы; находит обратную матрицу; вычисляет погрешность вектора решений и обратной матрицы;

выводит данные расчётов на форму, выполняет построение графиков и записывает все данные в файл.

Проект выполнен по дисциплине «Численные методы», на создание программы ушло примерно 24-36 часов. Для реализации проекта выбран язык программирования C#. Количество строк кода составило около 950-1000 строк, не считая комментариев и строк, созданных автоматически средой программирования Visual Studio. Программа содержит в себе несколько методов:

основной метод, который вызывает другие; метод генерирования матриц; метод LU разложения матриц, который состоит из таких, как метод поиска максимального элемента по строке и перестановки строк, метод факторизации, который выполняет все действия, согласно методу Краута;

метод решения СЛАУ, который состоит из методов нахождения промежуточных переменных и окончательных;

метод поиска обратной матрицы; метод вычисления определителя матрицы; метод подсчёта ошибок решения; метод подсчёта ошибок нахождения обратной матрицы;

метод вывода данных на форму.

Удобство программы определялось личными предпочтениями. Было сделано множество проверок и защит для удобства использования программы.

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

до 0,001 секунды для матриц размерности от 2 до 20;

0,01 для матриц размерности от 20 до 40;

от 0,02 до 0,07 для матриц размерности от 40 до 60;

от 0,07 до 0,4 для матриц размерности от 60 до

80;

от 0,5 до 1,01 для матриц размерности от 80 до 100.

Для матриц большей размерности время, соответственно, больше.

В проекте обращено внимание на минимальное использование памяти компьютера. Разложение Ьи выполняется в том же массиве, где хранилась исходная матрица.

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

Отметим, что программа выводит очередную строку с данными по мере выполнения расчётов, каждый эксперимент выводится на новую строку.

При выборе опции «Случайная матрица» генерируются числа от -200 до +200. При выборе плохо обусловленной матрицы поле с десятью матрицами становится активным, и можно выбрать любую из десяти матриц.

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

В программе приходится задавать идеальный вектор решений, от него генерировать правую часть уравнений и затем сравнивать точное решение с тем, что получено программным путём. Соответственно, значения будут расходиться. В эту погрешность решения свой вклад вносит и неточность представления вещественных чисел в конечной разрядной сетке компьютера. Например, дробь 2/3 будет представлена как 0,666... 667. Если же говорить о вычислительном эксперименте в целом, то оказалось, что значения погрешностей расчёта вектора решений и обратной матрицы варьируются от Е-180 до Е+250. При этом малые погрешности типичны для режима «случайные матрицы», поскольку такие матрицы иногда оказываются хорошо обусловлены. Большие погрешности относятся только к режиму «плохо обусловленные матрицы» и вызываются тем, что определитель таких матриц и одновременно ведущие элементы

системы близки к нулю (в алгоритме возникает деление «почти на ноль»).

Программа должна быть сделана очень качественно и точно.

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

Проекты такого типа требуют строгого распределения времени и точного следования запланированному графику выполнения заданий. Курсовые проекты, которые выполнялись до этого проекта, не требовали высокой точности вычислений, там акцент был сделан на функционал и удобство использования. Здесь же акцент в первую очередь сделан на точность расчётов, то есть на правильность реализации алгоритмов.

Заключение

Проекто-центрированный подход к обучению очень хорош с точки зрения практики [2, 3]. Данный метод желательно применять во всех высших учебных заведениях страны. Студенты получат большой опыт выполнения проектов, что положительно повлияет на профессиональную деятельность.

К сожалению, время, отводимое учебным планом бакалавриата на дисциплину «Численные методы», не позволяет в полной мере воспользоваться методикой ПЦО, детально разработанной в учебных пособиях [2] и [3]. У студентов нет возможности, ввиду ограничений времени, выполнить в течение семестра ещё два проекта по теме 2: «Положительно-определенные матрицы и разложения Холесско-го» и по теме 3: «Ортогональные преобразования». Поэтому широкие возможности этой методики остаются недоиспользованы.

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

Мнение студентов третьего курса групп ПИбд и ИСЭпбд в большинстве случаев совпадает с мнением автора статьи. Студентам интересно выполнять проекты подобного типа.

Благодаря выполнению такого проекта, повышается правильность написания программного

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

Благодарности. Автор считает своим приятным долгом поблагодарить коллег, кто внимательно прочитал данную статью, а также проф. Семушина И. В. как научного руководителя проекта и талантливого наставника.

10.1080/03043797.2017.1385594. To link to this article: http://dx.doi.org/10.1080/03043797.2017. 1385594.

2. Вычислительная линейная алгебра в проектах на C# : учебное пособие / И. В. Семушин, Ю. В. Цыганова, В. В. Воронина, В. В. Угаров, А. И. Афанасова, И. Н. Куличенко. -Ульяновск : УлГТУ, 2014. - 427 с.

3. Семушин И. В. Вычислительные методы алгебры и оценивания : учебное пособие. -Ульяновск : УлГТУ, 2011. - 366 с.

СПИСОК ЛИТЕРАТУРЫ

1. I. V. Semushin, J. V. Tsyganova, V. V. Ugarov & A. I. Afanasova (2017): The WHATs and HOWs of maturing computational and software engineering skills in Russian higher education institutions, European Journal of Engineering Education, DOI:

Константинов Андрей Алексеевич, студент группы ПИбд-31, кафедра «Информационные системы» УлГТУ.

Поступила 06.12.2017 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.