Создание виртуальных лабораторных работ с использованием Python библиотеки Streamlit

вагонов как мера повышения конкурентоспособности железных дорог / К.В. Аношкин, В.Н. Зубков, Н.Н. Мусиенко // Транспорт и логистика: Развитие в условиях глобальных изменений потоков: Сборник научных трудов

VII международной научно-

практической конференции, Ростов-на-Дону, 01-02 февраля 2023 года. -Ростов-на-Дону: Ростовский

государственный университет путей сообщения, 2023. - С. 39-43.

9. Протокол заседания технико-технологического совета СКЖД от 25 апреля 2023 года.

Аннотации:

В статье произведен анализ плана формирования и подвода поездов на станцию Новороссийск и разработаны меры по их совершенствованию.

Ключевые слова: припортовая станция, «бросание» и подъем поездов, нарушение срока доставки грузов, планирование подвода поездов, план формирования поездов, логистические пакеты, ДИЛС.

The article analyzes the plan for the formation and supply of trains to the Novorossiysk station and develops measures to improve them.

Keywords: port station, "throwing" and lifting trains, violation of the delivery time of goods, train supply planning, train formation plan, logistics packages, DILS.

УДК 378.147.88

РАДКОВСКИЙ С.А., канд. техн. наук, доцент (Донецкий институт железнодорожного

транспорта)

ДИКОВ А. О., ассистент

Создание виртуальных лабораторных работ с использованием Python библиотеки Streamlit

Radkovskiy S.A., Candidate of Technical Science, Associate Professor

Creating virtual labs using the Streamlit Python library

Введение

На сегодняшний день в Донецком институте железнодорожного

транспорта возникла необходимость обеспечить студентов возможностью выполнять лабораторные и

практические работы дистанционно, без доступа к устройствам и учебным стендам.

Одним из перспективных методов

осуществления дистанционного

обучения является создание

виртуальных лабораторных работ при помощи различных языков

программирования.

Анализ последних исследований и публикаций

Дистанционное обучение

применяется в случаях, когда очное

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

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

лабораторных работ с использованием различных стендов.

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

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

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

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

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

организацию материалов, заданий, коммуникации и оценивания.

Виртуальные лаборатории и симуляции. Создание виртуальных лабораторий, где студенты могут проводить эксперименты в виртуальной среде, и использование симуляций позволяют производить практическую работу без необходимости физического присутствия в лаборатории [1-4].

Цель работы

Целью статьи является

предложение по разработке и применению виртуальных

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

совершенствовать учебный процесс и готовить высококачественных

специалистов в области эксплуатации устройств автоматики на

железнодорожном транспорте.

Основная часть

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

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

затруднительным. Виртуальные

лаборатории позволяют студентам выполнять опасные или сложные эксперименты без физического

присутствия. Это минимизирует риски и обеспечивает безопасность студентов.

Использование виртуальных

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

количество раз. Это дает студентам возможность многократно повторять эксперименты и улучшать свои навыки.

Виртуальные лаборатории часто предоставляют возможность

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

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

Симуляции часто предоставляют возможность индивидуальной

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

студентам доступ к дополнительной информации и обучающим материалам.

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

обеспечении для моделирования и симуляции.

Использование интегрированных сред разработки, которые позволяют создавать модели и симуляции различных процессов и систем, физических явлений в различных областях (MATLAB/Simulink,

LabVIEW, COMSOL Multiphysics).

Создание веб-приложений с использованием языков

Использование платформ для создания виртуальных и дополненных реальностей (Unity, Unreal Engine), а также специальных библиотек (AR.js, A-Frame).

Облачные платформы

предоставляют ресурсы для создания и развертывания виртуальных

лабораторий (Amazon Web Services (AWS), Microsoft Azure).

Интерактивные блокноты, которые могут использоваться для создания виртуальных лабораторий в области анализа данных и машинного обучения (Google Colab, Jupyter Notebooks).

Существуют платформы,

предоставляющие готовые виртуальные лаборатории по различным предметам (Labster, Labster VR). Кроме того, в сети имеются готовые онлайн-проекты, предоставляющие бесплатные

интерактивные симуляции в физике, химии, биологии и математике (PhET Interactive Simulations).

Свой проект можно построить, применяя специализированные

инструменты и языки

программирования, например, Python с

библиотеками для научных

вычислений: NumPy, SciPy, Matplotlib.

Возможно также использовать системы управления обучением (LMS) по типу Moodle, Canvas, Blackboard, которые позволяют интегрировать виртуальные лаборатории в онлайн-курсы и отслеживать активность студентов.

Каждый способ имеет свои сильные стороны, но также существуют определенные недостатки, которые сдерживают их применение.

Создание качественных

виртуальных лабораторий, особенно при использовании виртуальной реальности или симуляций высокого уровня, может потребовать

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

учреждений с ограниченным бюджетом.

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

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

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

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

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

специализированных веб-фреймворков для разработки.

На данный момент существует огромное количество различных веб-фреймворков, все они схожи между собой, но также имеют свои индивидуальные особенности и предназначены для разных задач. Фреймворки делятся на 3 вида. Backend-фреймворки используют для разработки серверной части сайта, которая обрабатывает данные и отвечает за работу IT-продукта, к таким относятся Laravel, Ruby on Rails, Dgango, Streamlit и Flask и др.. Frontend-фреймворки нужны для разработки клиентской части - внешнего вида приложений и сайтов, которые пользователи открывают в браузере, к таким относятся Vue.js, CSS и Bootstrap и др. И наконец универсальные Fullstack-фреймворки, с помощью которых программисты решают задачи и с серверной, и с клиентской частью, к таким относятся Meteor, Nuxt и др.

Анализ возможностей,

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

использования Streamlit,

представляющего собой библиотеку для Python, которая используется для создания веб-приложений с

минимальными усилиями. Она позволяет быстро превратить обычные скрипты Python в интерактивные веб-приложения без необходимости в глубоких знаниях веб-разработки. Streamlit призвана упростить процесс создания простых приложений с пользовательским интерфейсом [5-6].

Streamlit предоставляет простой и понятный API, который позволяет быстро добавлять интерактивные элементы, такие как кнопки, текстовые поля, графики и таблицы, к вашим скриптам Python. При его использовании автоматически

обновляется интерфейс при изменении

входных данных, что делает приложения реактивными. Данная библиотека хорошо интегрируется с популярными библиотеками для визуализации данных, такими как Matplotlib, Plotly и Altair. Имеется возможность развернуть свои приложения Streamlit на веб-сервере или в облаке, чтобы другие пользователи могли ими пользоваться. Кроме того, использование Streamlit предполагает наличие минимальных знаний в программировании и веб-разработке. Для более быстрого вхождения разработаны специальные курсы и видео-уроки.

Рассмотрим создание виртуальных лабораторных работ по предмету "Электропитание устройств

железнодорожной автоматики

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

последовательным, параллельным или смешанным соединением элементов.

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

Рис. 1. Схема электрической цепи с двумя источниками ЭДС

Рассмотрим один из способов расчета цепей с двумя источниками ЭДС, именуемый методом наложения токов [7-8]. Данный способ основан на аддитивном свойстве токов, в соответствии с которым ток в цепи равен алгебраической сумме токов, которые создает каждый источник

питания независимо друг от друга. Данный метод применим для расчета любой линейной цепи. Рассчитаем токи по следующим формулам

/1 = £1/(^1 + Я2), /2 = Е2/(Я± + Я2), 1 = 11-12

В данном случае суммарный ток I будет определять теоретический зарядный ток аккумулятора.

Однако зачастую заряд аккумулятора производится в буферном режиме (рис. 2).

Рис. 2. Схема заряда аккумулятора в буферном режиме

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

( /3 = /1 + /2

<Е± — Е2 = /1  — 12

V = 1± • + 13 • И3

Решая данную систему уравнений, находим значения токов в каждой цепи исходя из следующих выражений:

^ _ 2

Я^Яз + ^ + Яд)^

< _ Ег - 11{Я1 + Я3)

72 " ^

V 13=11+12

Рассчитывая по приведенной формуле ток /2, определяем тем самым

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

В некоторых лабораторных работах необходимо было

смоделировать выходные

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

Например, в лабораторной работе "Исследование сигнализатора

заземления СЗИ-1" зависимость между сопротивлением изоляции и током утечки можно описать уравнением прямой (рис. 3).

0.8

0.7

0.6

0.5

т 0.4

ш

It 0.3

0.2

0.1

•Напряжение 21 В Напряжение 24 В Напряжение 27 В

01Л01Л01Л01Л01Л01Л01Л01Л01Л01Л

OWOTCOCOr^r^lDlûl/l^^'îtOfOfNNHH 1

Сопротивление изоляции

Рис. 3. Зависимость тока утечки от сопротивления изоляции СЗИ-1

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

соответствующие формулы был включен элемент случайности. Данная функция моделировалась с помощью

модуля random. Например,

random.uniform(-1, 1) генерирует случайное число вещественного типа в диапазоне от -1 до 1 включительно (рис.

4).

Рис. 4. Генерация элемента случайности

В некоторых лабораторных работах необходимо информировать студента, что один из параметров или характеристик превысил какое-то пороговое значение. Эту ситуацию можно смоделировать следующим примером, если уоиг_уапаЬ1е превышает 1Ьге8Ьо1ё_уа1ие, то будет

выведено сообщение об ошибке с использованием st.error (рис. 5).

Особенностью работы Streamlit является автоматический пересчет всех значений при изменении состояния элементов графического

взаимодействия (кнопок, слайдеров, чек-боксов и т.д.). Для удобства сохранения текущих данных и

0

возможности их дальнейшего использования, например, в построении графиков зависимости, можно

использовать st.session_state и сохранять данные в массиве (рис. 6.).

1 2

3

4

5

6

7

8 9

# Задаем пороговое значение threshold_value = 10

# Переменная, значение которой нужно проверить your_variable = 15

# Проверяем, превышает ли переменная пороговое значние if your_variable > threshold value:

st.error(f'Ошибка: Значение {your_variablej превышает порог')[

Рис. 5. Превышение порогового значения

1

2

3

4

5

6

7

8 9

10 11 12

13

14

15

# Инициализируем массив в сессионном состоянии if 'data_array' not in st.session_state:

st.session_state.data_array = []

# Добавляем слайдер

slider_value = st.slider

# Вычисляем второй значение (половину значения слайдера) half_slider_value = slider_value / 2

# обработчик событий для слайдера if st.button("Добавить в массив"):

# Добавляем кортеж в массив

st.session_state.data_array.append((slider_value, half_slider_value

st.5иссе55(Г'Добавлено в массив: ({slider_value", {half_slider_valu

Рис. 6. Использование st.session_state и сохранение данных в массиве.

Во многих случаях студентам будет полезным сразу же проверить свои измерения и посмотреть их графическую интерпретацию. Для этого в лабораторные работы была введена функция построения графиков (рис. 7).

Для ознакомления с

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

Скриншот интерфейса для снятия данных в одной из лабораторных работ выглядит следующим образом (рис. 8).

if st.button("Построить график"):

# Извлекаем значения из массива для построения графика} x_values = [item[0] for item in st.session_state.data_array] y_values = [item[l] for item in st.session_state.data_array]

# Строим график

fig, ax = plt.subplotsQ ax.plot

# Добавляем сетку ax.grid

# Отображаем график st.pyplot

Рис. 7. Построение графиков зависимостей

Рис. 8. Интерфейс одной из виртуальных лабораторных работ

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

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

Выводы

Использование виртуальных

лабораторий и симуляций в дистанционном обучении обогащает образовательный опыт, обеспечивает студентам практические навыки и способствует более глубокому пониманию теоретического материала. Веб-приложения для виртуальных лабораторий с использованием Streamlit создаются в виде обычных Python-скриптов. Формат этих скриптов довольно прост и напоминает структуру обычных научных вычислений на Python. Разработчикам только нужно добавить интерактивные элементы и функции визуализации данных с использованием API Streamlit. Имеется возможность развернуть свои приложения Streamlit на веб-сервере или в облаке, чтобы другие пользователи могли ими пользоваться. Кроме того, применение Streamlit предполагает наличие минимальных знаний в программировании и веб-разработке, что значительно повышает мотивацию использования данного фреймворка. Это позволит

совершенствовать учебный процесс и готовить высококачественных

специалистов в области эксплуатации устройств автоматики на

железнодорожном транспорте.

Список литературы:

1. Белов, М.А. Опыт

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

компьютерной лаборатории на основе технологии облачных вычислений [Текст] / М.А. Белов, О.Е. Антипов // Проблемы и перспективы развития образования в России: сб. науч. тр. VI Международ. науч.-практ. конф. -Новосибирск: ЦРНС, 2010.

2. Бочков, В.Е. Учебно-методический комплекс как основа и элемент обеспечения качества дистанционного образования [Текст] / В. Е. Бочков // Качество. Инновации. Образование. - 2004. - N 1. - С. 53-61.

3. Абдуллаев, С.Г. Оценка эффективности системы дистанционного обучения [Текст] / С.Г. Абдуллаев // Телекоммуникации и информатизация образования. - 2007. -N 3.- С. 85-92.

4. API reference. [Электронный ресурс]. - Режим доступа: URL: https://docs.streamlit. io/library/api-reference (дата обращения: 02.12.2023).

5. Белов, М. А. Принципы проектирования виртуальной компьютерной лаборатории на основе технологии облачных вычислений [Текст] / М. А. Белов, О. Е. Антипов // Современные проблемы и пути их решения в науке, транспорте, производстве и образовании 2010: сб. науч. тр. Международ. конф. - Одесса: УКРНИИМФ, 2010.

6. Атабеков, Г. И. Теоретические основы электротехники. Линейные электрические цепи [Текст] / Г.И. Атабеков. - 7-е издание. - СПб: Лань, 2009. - 592 c.

7. Бессонов, Л. А. Теоретические основы электротехники. В 2 т. Том 1. Электрические цепи: учебник для вузов [Текст] / Л.А. Бессонов. - 12-е изд., испр. и доп. - М.: Издательство Юрайт, 2023. - 831 с. - Высшее образование). -ISBN 978-5-534-10731-9. [Электронный ресурс]. - Режим доступа: URL: https://urait.ru/bcode/517560 (дата обращения:02.12.2023).

8. Исследование выпрямительных устройств [Электронный ресурс]. -Режим доступа: URL: https://fu83e8v2ytzqjewasbbht6.streamlit.a pp/ (дата обращения: 02.12.2023).

9. Исследование преобразователя частоты [Электронный ресурс]. - Режим доступа: URL: https://tvpbt9nm3yyuclwskx6ckm.streamli t.app/ (дата обращения: 02.12.2023).

10. Исследование сигнализатора заземления [Электронный ресурс]. -Режим доступа: URL: https://yvxejnuygdensnrofmb7tt.streamlita pp/ (дата обращения: 02.12.2023).

Аннотации:

Работа посвящена особенностям разработки виртуальных лабораторных работ

для повышения качества образования.

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

Ключевые слова: виртуальные лабораторные работы, python, streamlit, измерения, веб-разработка.

The work is devoted to the features of developing virtual laboratory work to improve the quality of education.

Possible methods of implementation are proposed, and the choice of frameworks used in the development of a software product is justified.

Keywords: virtual laboratory work, python, streamlit, measurements, web development.

УДК 004.+656.254

ДИДРИХ Л. А., преподаватель дисциплин профессионального цикла высшей квалификационной категории

Квантовая криптография

Diedrich L.A., teacher of professional cycle disciplines of the highest qualification category

Quantum cryptography

Введение

Relevance Indicator Quantum cryptography, quantum communication and quantum communications solve the problem in such a way that nature itself prohibits the interception of restricted information.

Hence, it is the quantum network that makes the transmission of information as

secure and reliable as possible.

Анализ последних исследований и публикаций

The following publications can be found in the scientific literature:

Physicists from MIPT together with colleagues from France conduct experiments proving that impurity atoms in