Практика применения свободного программного обеспечения в преподавании дисциплин физико-математической и технической направленности (Павел Макаров, OSEDUCONF-2024)

Материал из 0x1.tv

Докладчик
Павел Макаров

Данная статья представляет собой результат обобщения опыта преподавания различных дисциплин физико-математической и технической направленности студентам двух вузов города Сыктывкара: Сыктывкарского государственного университета имени Питирима Сорокина (СыктГУ) и Сыктывкарского лесного института (СЛИ) на протяжении 2011—2024 г.

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

Видео

Презентация

Thesis

Введение

Использование свободного программного обеспечения (СПО) в образовании вообще и в высшей школе в частности не является в последнее время чем-то уникальным. В качестве примеров можно привести множество работ[1][2] [3] [4] [5] [6] [7] [8] в которых описан опыт применения СПО при обучении студентов.

Таким же образом изначально развивалась и данная работа. Первыми шагами на этом пути было решение автора при преподавании студентам СыктГУ направлений «Физика» и «Радиофизика» в 2011—2012 учебном году дисциплины «Программирование на Си» использовать СПО вместо повсеместно распространённых проприетарных сред разработки.

При этом, естественно, возник вопрос доступности выбранного инструментария в компьютерных классах СыктГУ. Решением данной проблемы на начальном этапе было выбрано свободное распространение в компьютерной сети СыктГУ образа виртуальной машины с предварительно установленной ОС Debian GNU\textbackslash Linux и всем необходимым начинающему программисту инструментарием (vim, gcc, glibc, gdb, make).

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

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

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

Таким образом, в смысле широты охвата содержание данной работы близко к материалам, описанным в источниках[9][10][11][12], но существенно отличается как по фактическому наполнению, так и по используемым техническим решениям.

Текущее состояние проекта

Таким образом, на текущий момент проект представляет собой сервер, работающий под управлением ОС Ubuntu и доступный для удалённой работы студентов в любое время и из любой точки. Для доступа к серверу может использоваться любое устройство с установленным браузером и доступом к сети Интернет. Технически это реализовано с помощью Shell-in-A-Box. Также поддерживается доступ к серверу по протоколу SSH.

При этом в работе с сервером активно используются следующие особенности.

  1. Cкрипты, автоматизирующие добавление и удаление пользователей системы, согласно спискам академических групп.
  2. Web-сервер (Apache), применяемый для методического обеспечения работы студентов.
  3. Установлен набор разработчика: интерпретатор Python, трансляторы языков C и C++ (gcc и g++), ассемблеры (gas, nasm), стандартная библитека Си glibc, библитека MathGL, система сборки make, отладчик gdb, система контроля версий git.
  4. Для выполнения качественной графики установлены gnuplot и Asymptote.
  5. Установлены системы компьютерной математики Maxima и Octave.
  6. В качестве сред для обработки статистических данных используются R и ROOT.
  7. Для подготовки отчётов установлен TeXLive.
  8. Написано прикладное ПО, позволяющее проводить тестирование студентов по тем или иным курсам прямо на сервере.
  9. Вся деятельность пользователей протоколируется, автоматически ведутся журналы сеансов работы.


Заключение

Подводя итоги, можно сказать, что описываемый в рамках данной работы подход был широко апробирован автором при преподавании самых разнообразных предметов студентам бакалавриата и магистратуры пяти направлений: «Физика», «Радиофизика», «Математика и компьютерные науки», «Прикладная математика и информатика» и «Информационные системы и технологии».

К числу охваченных таким образом дисциплин можно отнести следующие: «Программирование на Си», «Технология программирования», «Объектно-ориентированное программирование», «Теоретическая механика», «Квантовая механика», «Численные методы решения волновых уравнений», «Учебная практика», а также курсовое проектирование, научная работа студентов и выполнение ими выпускных квалификационных работ.

Таким образом, работу данного проекта можно считать достаточно успешной. К преимуществам разработанной методики относятся:

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


Примечания и ссылки

  1. Иванова Н. Ю. Опыт использования OpenOffice.org в курсе «Программное обеспечение ЭВМ» на математическом факультете МПГУ // Четвёртая конференция «Свободное программное обеспечение в высшей школе»: тезисы докладов. Переславль, 30 января — 1 февраля 2009. c. 69—71.
  2. Зайцев И. В. О преподавании курса по алгоритмизации на основе языка JavaScript и открытого ПО // Четвёртая конференция «Свободное программное обеспечение в высшей школе»: тезисы докладов. Переславль, 30 января — 1 февраля 2009. c. 96—98.
  3. Лагунов А. Ю. Выбор среды разработки для обучения студентов программированию на языке JAVA // Четвёртая конференция «Свободное программное обеспечение в высшей школе»: тезисы докладов. Переславль, 30 января — 1 февраля 2009. c. 99—101.
  4. Юмова К. Л. Об одном подходе к преподаванию дисциплины «Информатика» при переходе на свободное программное обеспечение // Вестник Бурятского государственного университета. 2013. Вып. 15. с. 70—73.
  5. Алексеев Е. Р., Мандрыкина Д. С. Использование свободных компиляторов при изучении технологий параллельного программирования // Объединённая конференция «СПО: от обучения до разработки»: материалы конференции. Переславль-Залесский, 19—22 мая 2022. c. 56—60. Использование свободных компиляторов при изучении технологий параллельного программирования (Дарья Мандрыкина, OSEDUCONF-2022)
  6. Алексеев Е. Р., Гончаров С. В. Свободные библиотеки интервальных вычислений при подготовке бакалавров и магистров направления «Математика и компьютерные науки» в Кубанском государственном университете // Объединённая конференция «СПО: от обучения до разработки»: материалы конференции. Переславль-Залесский, 19—22 мая 2022. c. 60—65. Свободные библиотеки интервальных вычислений при подготовке бакалавров и магистров направления «Математика и компьютерные науки» в Кубанском государственном университете (Станислав Гончаров, OSEDUCONF-2022)
  7. Балашов В., Курячий Г. Как мы добывали огонь. Организация аудиторного практикума по курсу «ЯП Python</tt»> на останках дистанционного обучения // Восемнадцатая конференция «Свободное программное обеспечение в высшей школе»: материалы конференции. Переславль-Залесский, 27—29 января 2023. c. 60—62. Как мы добывали огонь. Организация аудиторного практикума по курсу «ЯП Python» на останках дистанционного обучения (Георгий Курячий, OSEDUCONF-2023)</span> </li>
  8. Смирновский А. Опыт использования СПО OpenFOAM для обучения основам вычислительной гидродинамики в СПбПУ // Восемнадцатая конференция «Свободное программное обеспечение в высшей школе»: материалы конференции. Переславль-Залесский, 27—29 января 2023. c. 31—33. Опыт использования СПО OpenFOAM для обучения основам вычислительной гидродинамики в СПбПУ (Александр Смирновский, OSEDUCONF-2023)
  9. Чичкарев Е. А., Чичкарев К. Е. Интегрированный пакет математических расчётов <tt>S.A.G.E.</tt>: использование в преподавании // Четвёртая конференция «Свободное программное обеспечение в высшей школе»: тезисы докладов. Переславль, 30 января — 1 февраля 2009. c. 79—82.
  10. Алексеев Е. Р., Грушевский С. П. Опыт использования свободного программного обеспечения при подготовке учителей математики и информатики в Кубанском Государственном Университете // Объединённая конференция «СПО: от обучения до разработки»: материалы конференции. Переславль-Залесский, 19—22 мая 2022. c. 30—34. Опыт использования свободного программного обеспечения при подготовке учителей математики и информатики в Кубанском Государственном Университете (Евгений Алексеев, OSEDUCONF-2022)
  11. Волканов Д. Ю., Курячий Г. В. Цепочка кафедральных курсов, использующих свободное программное обеспечение // Объединённая конференция «СПО: от обучения до разработки»: материалы конференции. Переславль-Залесский, 19—22 мая 2022. c. 65—67. Цепочка кафедральных курсов, использующих свободное программное обеспечение (Дмитрий Волканов, OSEDUCONF-2022)
  12. Панюкова А. А. Применение СПО в серии дисциплин основного, общего гуманитарного и социально-экономического цикла для IT-специалистов // Объединённая конференция «СПО: от обучения до разработки»: материалы конференции. Переславль-Залесский, 19—22 мая 2022. c. 73—75. Применение СПО в серии дисциплин основного, общего гуманитарного и социально-экономического цикла для IT-специалистов (Александра Панюкова, OSEDUCONF-2022)
  13. </ol>