Практика применения свободного программного обеспечения в преподавании дисциплин физико-математической и технической направленности (Павел Макаров, OSEDUCONF-2024)
- Докладчик
- Павел Макаров
Данная статья представляет собой результат обобщения опыта преподавания различных дисциплин физико-математической и технической направленности студентам двух вузов города Сыктывкара: Сыктывкарского государственного университета имени Питирима Сорокина (СыктГУ) и Сыктывкарского лесного института (СЛИ) на протяжении 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.
При этом в работе с сервером активно используются следующие особенности.
- Cкрипты, автоматизирующие добавление и удаление пользователей системы, согласно спискам академических групп.
- Web-сервер (Apache), применяемый для методического обеспечения работы студентов.
- Установлен набор разработчика: интерпретатор Python, трансляторы языков C и C++ (gcc и g++), ассемблеры (gas, nasm), стандартная библитека Си glibc, библитека MathGL, система сборки make, отладчик gdb, система контроля версий git.
- Для выполнения качественной графики установлены gnuplot и Asymptote.
- Установлены системы компьютерной математики Maxima и Octave.
- В качестве сред для обработки статистических данных используются R и ROOT.
- Для подготовки отчётов установлен TeXLive.
- Написано прикладное ПО, позволяющее проводить тестирование студентов по тем или иным курсам прямо на сервере.
- Вся деятельность пользователей протоколируется, автоматически ведутся журналы сеансов работы.
Заключение
Подводя итоги, можно сказать, что описываемый в рамках данной работы подход был широко апробирован автором при преподавании самых разнообразных предметов студентам бакалавриата и магистратуры пяти направлений: «Физика», «Радиофизика», «Математика и компьютерные науки», «Прикладная математика и информатика» и «Информационные системы и технологии».
К числу охваченных таким образом дисциплин можно отнести следующие: «Программирование на Си», «Технология программирования», «Объектно-ориентированное программирование», «Теоретическая механика», «Квантовая механика», «Численные методы решения волновых уравнений», «Учебная практика», а также курсовое проектирование, научная работа студентов и выполнение ими выпускных квалификационных работ.
Таким образом, работу данного проекта можно считать достаточно успешной. К преимуществам разработанной методики относятся:
- Независимость от используемого в вузе аппаратного и программного обеспечения.
- Доступность системы.
- Универсальность подхода при освоении различных дисциплин.
- Удобство работы как студентов, так и преподавателя.
- Гибкость в настройке и использовании.
Примечания и ссылки
- ↑ Иванова Н. Ю. Опыт использования OpenOffice.org в курсе «Программное обеспечение ЭВМ» на математическом факультете МПГУ // Четвёртая конференция «Свободное программное обеспечение в высшей школе»: тезисы докладов. Переславль, 30 января — 1 февраля 2009. c. 69—71.
- ↑ Зайцев И. В. О преподавании курса по алгоритмизации на основе языка JavaScript и открытого ПО // Четвёртая конференция «Свободное программное обеспечение в высшей школе»: тезисы докладов. Переславль, 30 января — 1 февраля 2009. c. 96—98.
- ↑ Лагунов А. Ю. Выбор среды разработки для обучения студентов программированию на языке JAVA // Четвёртая конференция «Свободное программное обеспечение в высшей школе»: тезисы докладов. Переславль, 30 января — 1 февраля 2009. c. 99—101.
- ↑ Юмова К. Л. Об одном подходе к преподаванию дисциплины «Информатика» при переходе на свободное программное обеспечение // Вестник Бурятского государственного университета. 2013. Вып. 15. с. 70—73.
- ↑ Алексеев Е. Р., Мандрыкина Д. С. Использование свободных компиляторов при изучении технологий параллельного программирования // Объединённая конференция «СПО: от обучения до разработки»: материалы конференции. Переславль-Залесский, 19—22 мая 2022. c. 56—60. Использование свободных компиляторов при изучении технологий параллельного программирования (Дарья Мандрыкина, OSEDUCONF-2022)
- ↑ Алексеев Е. Р., Гончаров С. В. Свободные библиотеки интервальных вычислений при подготовке бакалавров и магистров направления «Математика и компьютерные науки» в Кубанском государственном университете // Объединённая конференция «СПО: от обучения до разработки»: материалы конференции. Переславль-Залесский, 19—22 мая 2022. c. 60—65. Свободные библиотеки интервальных вычислений при подготовке бакалавров и магистров направления «Математика и компьютерные науки» в Кубанском государственном университете (Станислав Гончаров, OSEDUCONF-2022)
- ↑
Балашов В., Курячий Г. Как мы добывали огонь. Организация аудиторного практикума по курсу «ЯП Python</tt»> на останках дистанционного обучения // Восемнадцатая конференция «Свободное программное обеспечение в высшей школе»: материалы конференции. Переславль-Залесский, 27—29 января 2023. c. 60—62. Как мы добывали огонь. Организация аудиторного практикума по курсу «ЯП Python» на останках дистанционного обучения (Георгий Курячий, OSEDUCONF-2023)</span>
</li>
- ↑ Смирновский А. Опыт использования СПО OpenFOAM для обучения основам вычислительной гидродинамики в СПбПУ // Восемнадцатая конференция «Свободное программное обеспечение в высшей школе»: материалы конференции. Переславль-Залесский, 27—29 января 2023. c. 31—33. Опыт использования СПО OpenFOAM для обучения основам вычислительной гидродинамики в СПбПУ (Александр Смирновский, OSEDUCONF-2023)
- ↑ Чичкарев Е. А., Чичкарев К. Е. Интегрированный пакет математических расчётов <tt>S.A.G.E.</tt>: использование в преподавании // Четвёртая конференция «Свободное программное обеспечение в высшей школе»: тезисы докладов. Переславль, 30 января — 1 февраля 2009. c. 79—82.
- ↑ Алексеев Е. Р., Грушевский С. П. Опыт использования свободного программного обеспечения при подготовке учителей математики и информатики в Кубанском Государственном Университете // Объединённая конференция «СПО: от обучения до разработки»: материалы конференции. Переславль-Залесский, 19—22 мая 2022. c. 30—34. Опыт использования свободного программного обеспечения при подготовке учителей математики и информатики в Кубанском Государственном Университете (Евгений Алексеев, OSEDUCONF-2022)
- ↑ Волканов Д. Ю., Курячий Г. В. Цепочка кафедральных курсов, использующих свободное программное обеспечение // Объединённая конференция «СПО: от обучения до разработки»: материалы конференции. Переславль-Залесский, 19—22 мая 2022. c. 65—67. Цепочка кафедральных курсов, использующих свободное программное обеспечение (Дмитрий Волканов, OSEDUCONF-2022)
- ↑ Панюкова А. А. Применение СПО в серии дисциплин основного, общего гуманитарного и социально-экономического цикла для IT-специалистов // Объединённая конференция «СПО: от обучения до разработки»: материалы конференции. Переславль-Залесский, 19—22 мая 2022. c. 73—75. Применение СПО в серии дисциплин основного, общего гуманитарного и социально-экономического цикла для IT-специалистов (Александра Панюкова, OSEDUCONF-2022)
</ol>