В вузах на технических специальностях существует множество предметов, затрагивающих тему сетевых технологий. В частности, в СПбГУ на математико-механическом факультете проводится курс по компьютерным сетям, также в рамках нескольких других учебных дисциплин есть темы, связанные с этой областью. Однако эти курсы предполагают изучение только теоретических материалов. Для обеспечения более эффективного обучения компьютерным сетям необходима практика, так как просто лекционного материала может быть недостаточно. Демонстрация работы компьютерных сетей может помочь в усвоении курса — обучающийся лучше понимает, как всё работает и где применяется на практике.
С появлением средств эмуляции и визуализации процесс практического изучения компьютерных сетей сильно упрощается, потому как не требует наличия физического оборудования. Для того чтобы обучающиеся могли самостоятельно увидеть, как работает сеть, как отправляются и принимаются пакеты, в Санкт-Петербургском государственном университете был создан веб-эмулятор компьютерной сети Miminet [1], реализованный на базе эмулятора Mininet [2].
Однако обучающийся в силу неопытности не всегда может придумать, какую сеть ему нужно построить и на какие аспекты работы компьютерных сетей ему следует обратить внимание. Намного эффективнее было бы, если бы у обучающегося была возможность настроить или исправить ту или иную сеть с уже заданной топологией. Это избавит его от необходимости самостоятельно придумывать примеры и позволит глубже погрузиться в тему сетевых технологий.
Кроме того, самостоятельная практическая работа играет важную роль в закреплении материала. Поэтому разработка и внедрение тренажеров с практическими заданиями по компьютерным сетям помогут сделать образовательный процесс более эффективным.
Также в дополнение к практическим заданиям было решено добавить и теоретические вопросы, которые помогут как при подготовке к экзаменам или техническим собеседованиям, так и при проверке собственных знаний.
В ходе данной работы были достигнуты следующие результаты.
• Рассмотрены образовательные платформы, имеющие курсы с заданиями по сетям: платформы Stepik, Открытое образование, Moodle; изучены инструменты для создания практических заданий по сетям Cisco Packet Tracer, GNS3 и Boson NetSim. В результате были выявлены требования к тренажеру.
• Создана архитектура тренажера, включая типы заданий и определение задания, прототип интерфейса. Выбраны технологии для реализации: фреймворк Flask (для создания API), инструментарий Bootstrap (для быстрой разработки веб-интерфейсов с единообразным дизайном.), библиотеки jQuery (для управления DOM-элементами и событиями на клиентской стороне) и SQLAlchemy (для взаимодействия с СУБД через ORM).
• Выполнена реализация системы:
• реализован интерфейс тренажера, создана функциональность страниц и обращения к API сервера;
• реализована логика проверки практических задач;
• создана административная панель, поддерживающая пользовательские роли.
• Тренажер был апробирован и интегрирован в Miminet и доступен на сайте1.
• Результаты работы были представлены на конференции «Современные технологии в теории и практике программирования» и опубликованы в сборнике её материалов .
Код доступен в GitHub репозитории, имя пользователя: ElenaBakova.