Міжнародная канферэнцыя распрацоўнікаў і карыстальнікаў свабодных праграм

Использование свободного программного обеспечения при подготовке бакалавров и магистров направления "Прикладная математика и информатика"

Е.Р. Алексеев, к.т.н., доцент, доцент кафедры ИТО КубГУ, Краснодар, Россия

LVEE 2019

This article presents the experience of using open-source software in the training of bachelors of Applied Mathematics and Informatics and masters of Technologies of Parallel Programming and High-performance Calculations .

Свободное программное обеспечение широко использовалось при подготовке бакалавров и магистров направления «Прикладная математика и информатика» в Вятском Государственном Университете 1.

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

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

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

Операционные системы – классический курс для специалистов в области прикладной математики и информатики.

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

Автором разработаны лабораторные работы на базе свободного ПО:

  • файловая система unix-подобных операционных систем;
  • установка ОС семейства Linux на компьютер, первоначальная настройка рабочего стола;
  • команды терминала Linux;
  • знакомство с репозиторием программного обеспечения (ПО), установка программ в ОС Linux;
  • управление пользователями в Linux;
  • средства создания загрузочной флешки;
  • компиляция и отладка программ в ОС Linux (знакомство с компилятором gcc, отладчик gdb, сборка приложений с помощью утилиты make);
  • разработка кроссплатформенных приложений, программирование алгоритмов управления процессами;
  • утилиты сборки дистрибутива.

В качестве курсового проекта студентам предлагалось собрать специализированный дистрибутив семейства Linux (distributiv.wordpress.com). Курс заканчивался экзаменом.

Параллельные вычисления. Курс предназначен для знакомства студентов третьего курса с параллельным программированием. Дополнительно к языку С(С++) изучается современный язык Фортран – язык разработки конвейерных, параллельных и высокоэффективных вычислений. Студенты знакомятся с технологиями параллельного программирования MPI и OpenMP (языки программирования С/C++ и Фортран). Разрабатывают параллельные MPI-программы для решения классических задач вычислительной математики. Лабораторные и практические занятия проводились в специализированных лабораториях на компьютерах под управлением ОС Lubuntu с использованием компиляторов gcc, g++, gfortran, библиотека MPICH. Лабораторные работы ориентированы как на использование на локальных компьютеров, так и на работу с вычислительным кластером.

Также на базе свободного ПО был разработан практикум для курса “Администрирование в вычислительных сетях”. Студенты практически изучали следующие темы: настройка и использование FTP-сервера;клиент и сервер ssh;настройка и использование samba.

По итогам обучения в бакалавриате студент получал довольно широкие знания, и становился довольно квалифицированным пользователем unix-подобных ОС (Debian, Ubuntu).

Практически все специальные дисциплины магистратуры проводятся на компьютерах с использованием ОС семейства Linux.

Архитектура параллельных вычислительных систем – базовый курс для подготовки магистров (профиль «Технологии параллельного программирования и высокопроизводительные вычисления»). Кроме изучения теоретических вопросов архитектуры современных вычислительных систем, магистранты самостоятельно «строят» локальный вычислительный кластер, который и используется для проведения лабораторных работ по курсу.

Технологии параллельных вычислений. Магистранты подробно изучают параллельное программирование с использованием технологий MPICH, OpenMP и CUDA. Кроме этого магистранты изучают технологии автораспараллеливания и комассивы. Используются компиляторы g++, gfortran, icpc, ifort. Технической базой являлись кластер ВятГУ, компьютеры в лаборатории математического моделирования (процессоp I7, ОЗУ – 16 Гб, поддержка CUDA), локальный кластер, построенный магистрантами в курсе «Архитектура параллельных вычислительных систем». Завершается курс экзаменом и защитой курсового проекта. Во время выполнения которого магистранты решают сложную вычислительную задачу с использованием различных технологий параллельного программирования, оценивают быстродействие программ с использованием различных технологий и делают выводы о выборе оптимальной технологии для решения данной задачи.

Параллельные численные методы. Завершающий курс по параллельным вычислениям в магистратуре, в котором магистранты с использованием технологии параллельного программирования разрабатывают параллельные приложения решения задач вычислительной математики с использованием технологий MPI, OpenMP, Co-array на языках С и Фортран. Используются свободно-распространяемые средства разработки и компиляторы компании Intel.

Обучение параллельным вычислениям ориентированно на локальные компьютеры лаборатории математического моделирования и вычислительный кластер. На вычислительном кластере студентами и магистрантами используется 16 вычислительных узлов, на которых развёрнута операционная система Ubuntu 14.04 c необходимым ПО. Свободные компиляторы являются основным инструментом для разработки параллельных приложений при подготовке дипломов бакалаврами и написании магистерских диссертаций.

Опыт использования свободного ПО и построения учебных курсов на их основе позволяет сделать следующие выводы 2:

  1. Использование свободного программного обеспечение позволяет очень гибко строить учебные курсы.
  2. Студенты используют легальное программное обеспечение, выполняют требования российского и международного законов.
  3. Многолетний опыт использования автором свободного программного при подготовке студентов позволяет говорить о глубоком уровне компьютерной подготовки выпускников.
  4. Изучение ОС семейства Linux наряду с Windows, делает выпускника более подготовленным к практической деятельности.

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

ЛИТЕРАТУРА

1 Евгений Алексеев. Свободное программное обеспечение при подготовке бакалавров и магистров на кафедре фундаментальной информатики и прикладной математики Вятского Государственного Университета// Двенадцатая конференция «Свободное программное обеспечение в высшей школе»: Материалы конференции / Переславль, 27–29 января 2017 года. М.: Basealt, 2017. – C. 110-112.

2 Алексеев Е.Р., Лутошкин Д.А., Стародумов В.В. Опыт использования свободного программного обеспечения при подготовке специалистов высшей квалификации в университетах бывшего СССР // Информационные системы и технологии в моделировании и управлении : сборник материалов IV Всероссийской научно-практической конференции с международным участием (21-23 мая 2019 г.). – Симферополь, ИТ «АРИАЛ», 2019. – C. 255-261.

Abstract licensed under Creative Commons Attribution-ShareAlike 3.0 license

Назад