Файл: Российской федерации федеральное государственное автономное образовательное учреждение высшего образования.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.12.2023
Просмотров: 366
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
19 комнате музея размещены
3D-модели предметов интерьера
Минералогического музея Института наук о Земле ЮФУ, созданные в ПО для создания трѐхмерной компьютерной графики Blender (рис. 1).
Доработка 3D-моделей происходила в студии Unity. При посещении музея пользователь может выбрать несколько видов экскурсий: экскурсия по всей экспозиции или экскурсия, содержащая только один класс минералов.
Для каждой экскурсии написан скрипт, подсказывающий пользователю дорогу во время экскурсии.
После посещения музея пользователю предлагается пройти тестирование по основной информации, полученной при посещении музея.
Тестирование представлено набором вопросов с одним или несколькими вариантами ответов. После ответа на последний вопрос пользователь вводит своѐ имя, которое будет сохранено с его результатами в файл формата csv, в котором будут также сохранены и результаты других пользователей.
Рис. 1. Комната виртуального музея
Литература
1. Агарков Ю. В., Агарков А. Ю. Концепция создания российского музейно- паркового комплекса естественной истории // Экологические проблемы и стратегия устойчивого развития агломерации город-курорт Сочи: сборник научных статей по материалам II научно-практической конференции
(Сочи, июнь 2016 г). – Сочи: Изд. Дом Sochi 23, 2016. С. 201–205.
2. Абрамян М. Э., Агарков Ю. В., Бортова Л. В., Тихонова Н. А. Проект вир- туального минералогического музея // Современные информа-ционные технологии: тенденции и перспективы развития. Материалы XXVIII научной конференции. Ростов н/Д, Таганрог: Изд-во ЮФУ, 2021. С. 20–22.
20
1 2 3 4 5 6 7 8 9 ... 28
ЭЛЕКТРОННЫЙ ЗАДАЧНИК ПО КУРСУ
«ОПЕРАЦИОННЫЕ СИСТЕМЫ»
Абрамян М. Э.
1,2
, Ли Шэнюй (李圣禹)
2
1
ФГАОУ ВО «Южный федеральный университет»,
Институт математики, механики и компьютерных наук
им. И. И. Воровича,
г. Ростов-на-Дону
2
Университет МГУ-ППИ в Шэньчжэне (КНР)
E-mail: mabr@sfedu.ru, lishengyu@mail.ru
Традиционным видом практических заданий по IT-дисциплинам являются задачи на разработку программ, связанных с изучаемыми технологиями, библиотеками и алгоритмами. Набор подобных задач по дисциплине «Операционные системы» приводится, например, в пособии
[1] и в завершающих разделах задачника [2]. Как сам процесс решения задач студентами, так и проверку решенных задач преподавателем можно упростить и ускорить, если при решении и проверке задач использовать специализированные программные средства — электронные задачники [3].
Примером электронного задачника по программированию является задачник Programming Taskbook. Хотя особенности задачника Programming
Taskbook не позволяют разработать его расширение для курса по операционным системам (поскольку текущая версия задачника реализована только для ОС Windows), принципы, лежащие в основе его архитектуры [4], были использованы при разработке задачника Unix
Taskbook, описываемого в представленном докладе.
Задачник реализован на языке C++ для Unix и включает ядро, обеспечивающее его основную функциональность, и расширяемый набор динамических библиотек, каждая из которых содержит набор задач по определенной теме.
Ядро задачника обеспечивает выполнение следующих действий:
компиляция учебной программы;
генерация нескольких наборов тестовых данных для проверяемого решения;
запуск учебной программы и передача ей подготовленного набора тестовых данных в виде параметров командной строки;
проверка результатов, полученных программой;
отображение информации, связанной с задачей и результатами ее проверки.
Каждая из динамических библиотек, предоставляет функции, предназначенные для следующих действий:
подготовка текста формулировки задачи;
21
генерация набора тестов с применением датчика случайных чисел;
генерация контрольных данных, соответствующих правильным результатам для каждого теста;
сравнение результатов, полученных учебной программой, с контрольными данными (для разных групп задач можно определить различные алгоритмы сравнения);
генерация дополнительной информации о результатах тестирования.
Текущая версия задачника включает динамические библиотеки с задачами по следующим темам (в скобках указывается количество задач):
Dir: работа с файловой системой Unix (9);
File: обработка однострочных символьных файлов (17);
Text: обработка многострочных текстовых файлов (16);
Shell: порождение процессов и их взаимодействие (9);
Thread: работа с потоками POSIX thread, их синхронизация (16).
Механизм взаимодействия учебной программы с задачником Unix
Taskbook отличается от механизма, реализованного в задачнике
Programming Taskbook. В то время как в задачнике Programming Taskbook взаимодействие осуществляется с помощью набора специальных функций ввода-вывода (функции ввода позволяют получить учебной программе исходные данных, подготовленные задачником, функции вывода передают задачнику для проверки результаты, полученные программой), в задачнике
Unix Taskbook не требуется применять специальные функции: вся информация, необходимая учебной программе, передается ей в виде параметров командной строки, а результаты ее работы выводятся в поток вывода (на экран или в файл), который анализируется задачником.
Таким образом, учебная программа «ничего не знает» о задачнике, она использует только средства языка C и его стандартных библиотек, и ее тестирование может быть выполнено независимо от него. Однако применение задачника существенно упрощает и ускоряет процесс тестирования за счет автоматизации подготовки необходимых тестовых данных, передачи информации о них учебной программе и проверки полученных результатов.
Способы проверки правильности учебных программ определяются изучаемой темой и могут быть весьма разнообразными. Например, в заданиях группы Dir задачник автоматически генерирует тестовое дерево вложенных каталогов с входящими в них файлами, после чего передает учебной программе имя корневого каталога созданного дерева и проверяет правильность анализа дерева каталогов, выполненного программой в соответствии с конкретным заданием.
В заданиях группы Shell учебная программа должна смоделировать выполнение определенной команды командного интерпретатора, причем
22 ей передаются различные варианты параметров, соответствующие параметрам моделируемой команды, а задачник проверяет правильность программы, сравнивая ее результаты (выводимые на экран или в файл) с результатами, которые должна вывести моделируемая команда интерпретатора при обработке тех же параметров.
Перед тестированием учебной программы задачник Unix Taskbook выполняет ее компиляцию, передавая компилятору gcc все необходимые настройки. Это ускоряет процесс тестирования учебной программы, а также упрощает интеграцию задачника в среды разработки. Текущая версия задачника интегрирована в редактор Visual Studio Code. Чтобы обеспечить компиляцию и проверку программы, загруженной в этот редактор, достаточно нажать комбинацию клавиш Ctrl+Shift+B.
Вывод всей информации осуществляется задачником Unix Taskbook на стандартный терминал; для повышения наглядности используется цветовое выделение.
Предусмотрена возможность отображения формулировки задания на русском, английском и китайском языке.
В числе дополнительных возможностей для преподавателя можно отметить режим тестирования нескольких учебных программ, размещенных в различных каталогах, что позволяет при однократном запуске задачника проверить правильность набора решений, выполненных различными студентами. Для задачника Unix Taskbook предполагается также реализовать средства для работы с удаленными репозиториями, аналогичные средствам, имеющимся в задачнике Programming Taskbook.
Для установки текущей версии задачника достаточно выполнить команду
/bin/bash -c "$(curl -fsSL https://github.com/KCNyu/
UnixTaskbook/releases/download/v1.0.0/install.sh)"
Литература
1. Вдовикина Н. В., Машечкин И. В., Терехин А. Н., Тюляева В. В.
Программирование в ОС UNIX на языке Си. М., 2009. 101 с.
2. Руденко Т. В. Сборник задач и упражнений по языку Си. М, 1999. 80 с.
3. Абрамян М. Э. Инструменты и методы разработки электронных образовательных ресурсов по компьютерным наукам: монография.
Ростов н/Д, Таганрог: Изд-во ЮФУ, 2018. 260 с.
4. Абрамян М. Э. Об архитектуре универсального электронного задачника по программированию // Информатизация образования и науки. 2015.
№ 3 (27). С. 134–150.
23
ЭЛЕКТРОННЫЙ ЗАДАЧНИК ПО ПАТТЕРНАМ
ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОЕКТИРОВАНИЯ
Абрамян М. Э.
1,2
, Лай Вэньтао (赖文涛)
2
1
ФГАОУ ВО «Южный федеральный университет»,
Институт математики, механики и компьютерных наук
им. И. И. Воровича,
г. Ростов-на-Дону
2
Университет МГУ-ППИ в Шэньчжэне (КНР)
E-mail: mabr@sfedu.ru, lventao@bk.ru
В докладе описывается первая версия электронного задачника по паттернам объектно-ориентированного проектирования Programming
Taskbook for OOP (PT for OOP).
Основной целью задачника является поддержка практической части университетских курсов, посвященных объектно-ориентированному про- граммированию. Он дает возможность изучить и реализовать на практике, при решении задач, 21 паттерн ООП из 23, описанных в классической книге [1].
Задачник содержит 44 задачи, объединенные в четыре группы.
Вводная группа OOP0Begin содержит 6 задач, демонстрирующих принципы и приемы объектно-ориентированного программирования:
создание классов и объектов, скрытие данных (инкапсуляция);
порождение новых классов из существующих (наследование);
обеспечение возможности единообразной обработки объектов разных типов, входящих в одну иерархию (полиморфизм);
использование информации о типе времени выполнения (RTTI);
обработка исключений;
шаблонные классы.
Задачи группы
OOP0Begin образуют серию, в которой последовательно выполняется разработка и модификация иерархии из двух классов, связанных с реализацией простой структуры данных «Стек».
Три основные группы задач соответствуют трем категориям паттернов, рассмотренным в [1] (в скобках указано количество задач, посвященных каждому паттерну):
OOP1Creat – порождающие паттерны: Factory Method (3),
Abstract Factory (2), Singleton (1), Prototype (2), Builder (2);
OOP2Struc – структурные паттерны: Adapter (4), Composite (2),
Decorator (2), Proxy (1), Bridge (1), Flyweight (1);
OOP3Behav – паттерны поведения: Observer (2), Strategy (2),
Template Method (2), Iterator (1), Command (2), State (2), Mediator (1),
Chain of Responsibility (2), Visitor (1), Interpreter (2).
24
В пределах каждой группы паттерны распределены в соответствии с частотой их использования, причем группа начинается с рассмотрения наиболее простых и распространенных паттернов (которые, в частности, подробно рассмотрены в известной книге [2]), а заканчивается наиболее сложными и редко используемыми.
В начальном задании, посвященном каждому паттерну, приводятся основные сведения о паттерне, в том числе диаграмма классов (взятая из
[1]) и ее краткое описание. Задание состоит в разработке системы классов, которые должны взаимодействовать в соответствии с изучаемым паттерном. В конце формулировки задания описываются тестовые данные и результаты, которые позволяют протестировать правильность разработанной системы классов.
Как правило, первое задание содержит описание модельной системы классов, связанной с обработкой простых наборов данных. Чтобы упростить понимание взаимосвязи различных компонентов паттерна и прояснить основные идеи, связанные с его реализацией, имена основных классов, их ключевых полей и методов выбираются совпадающими с именами, используемыми при словесном описании паттерна и в его диаграмме классов. Для большинства паттернов предусмотрено два задания, причем во втором задании обычно рассматривается конкретная, хотя и простая, задача с реальным содержанием. Например, для паттерна
Decorator строятся классы для генерации суперпозиции различных функций и вычисления их значений, а для паттерна Strategy — классы- валидаторы, обеспечивающие проверку правильности различных наборов текстовых данных.
Задачник PT for OOP является расширением базового варианта электронного задачника Programming Taskbook версии 4.22, поэтому в нем доступны все возможности, предоставляемые базовым вариантом; в частности, задания можно выполнять на любом языке и в любой среде программирования, поддерживаемой базовым вариантом задачника [3].
Одновременно с разработкой задачника по паттернам ООП была выполнена адаптация базового варианта задачника к среде Visual Studio
Code, ставшей за последние несколько лет очень популярной [4].
Благодаря специальным расширениям (extensions), эту среду можно настроить для большинства современных языков программирования.
Задачник версии 4.22 позволяет использовать среду Visual Studio Code для выполнения заданий на языках C++, C#, Java, Python, Ruby, Julia. Таким образом, используя единственную среду Visual Studio Code совместно с задачником PT for OOP, можно изучить особенности реализации классических паттернов ООП для разных языков.
В задачнике по паттернам ООП также использована возможность базового задачника Programming Taskbook, связанная с созданием файлов
25 дополнений [5]. В то время как формулировки заданий содержат общее описание паттерна, связанной с ним системы классов и наборов тестовых данных, файлы дополнений включают информацию об особенностях реализации паттерна для конкретного языка программирования. Кроме того, применение файлов дополнений позволяет создавать особые программы-заготовки для каждого задания на различных языках. В задачнике PT for OOP подобные программы-заготовки с фрагментами описания классов, связанных с изучаемым паттерном, предусмотрены для языков C++, C#, Java, Python и Ruby. Файлы дополнений являются обычными текстовыми файлами, поэтому любой преподаватель может их корректировать, добавляя или изменяя указания или тексты программ- заготовок для различных языков.
Предварительная версия задачника использовалась при проведении лабораторных занятий по дисциплине «Объектно-ориентированное программирование» (3 курс факультета вычислительной математики и кибернетики Университета МГУ-ППИ в Шэньчжэне) и по дисциплине
«Языки программирования» (1 год магистратуры мехмата ЮФУ, программа «Разработка компьютерных игр и мобильных приложений»).
Это позволило существенно увеличить количество выполненных заданий и упростило проверку их правильности. Кроме того, оказалось, что задачник удобно применять и на лекциях при изучении конкретных паттернов, поскольку обсуждение формулировок задач, программ-заготовок и тестовых данных позволяет осветить различные аспекты рассматриваемого паттерна и продемонстрировать его работу на наглядных примерах.
Литература
1. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно- ориентированного проектирования. Паттерны проектирования. СПб.:
Питер, 2015. 368 с.
2. Фримен Э., Робсон Э., Сьерра К., Бейтс Б. Head First. Паттерны проектирования. СПб.: Питер, 2018. 656 с.
3. Абрамян М. Э. Об использовании задачника Programming Taskbook в качестве платформы для разработки специализированных электронных задачников / Ершовская конференция по информатике 2014. 24–27 июня
2014 г., Санкт-Петербург. Секция «Информатика образования». Доклады и тезисы. — Новосибирск: Изд-во СО РАН, 2014. С. 1–8.
4. Johnson B. Visual Studio Code: End-to-End Editing and Debugging Tools for
Web Developers. Indianapolis: Wiley. 176 p.
5. Абрамян М. Э. Разработка компонентов электронных задачников по программированию для автоматизации проведения лабораторных занятий
// Информатизация образования и науки. 2020, № 4 (48). С. 12–28.
26
ТРЕХМЕРНАЯ РЕКОНСТРУКЦИЯ ДОРОЖНОГО ПОЛОТНА С
УДАЛЕНИЕМ ДВИЖУЩИХСЯ ДИНАМИЧЕСКИХ ОБЪЕКТОВ
Авилов А. М., Демяненко Я. М.
ФГАОУ ВО «Южный федеральный университет»,
Институт математики, механики и компьютерных наук
им. И. И. Воровича
E-mail: arseniy1099@gmail.com, demyanam@gmail.com
На данный момент существует несколько основных сценариев трех- мерной реконструкции, большинство из которых базируется на следующих входных данных: набор изображений одного и того же объекта с разных ракурсов и разреженная карта глубины. Так устроены современные
3D сканеры, беспилотные автомобили, современные пользовательские устройства. Комбинация из камеры или нескольких камер для получения
RGB изображений и лидара либо его альтернативы для получения разре- женной карты глубин совместно с удачным подбором ракурсов позволяет достаточно точно восстановить 3D объект. Данный подход хорошо заре- комендовал себя в ситуациях, когда нужно реконструировать форму от- дельного объекта, даже достаточно сложной формы, который будет в дальнейшем использоваться в качестве полигональной модели. В задаче реконструкции окружающей среды проблема несколько сложнее. Не все- гда имеющийся набор данных содержит всю необходимую информацию.
В рассматриваемой в данной работе постановке задачи предполагается ис- пользование монокулярной камеры без дополнительной информации о картах глубин на каждом кадре. Кроме того, объект, ведущий фотосъемку, движется по дорогам в режиме обычного автомобиля, который не совер- шает дополнительных маневров для получения недостающих ракурсов.
Это ограничивает возможности восстановления сцены с высокой точно- стью, однако польза таких ограничений заключается в применимости раз- рабатываемых методов с использованием более доступного оборудования в условиях, приближенных к реальным.
Данная работа состоит из двух модулей: один отвечает за предсказа- ние масок движущихся объектов, для их последующего удаления, а другой отвечает за предсказание карты глубины по значению, полученному в предыдущем модуле перемноженному с объем затрат (cost volume), полу- ченному из набора кадров и позиций камер для этих кадров.
Объем затрат (cost volume) — это тензор, который для текущего кадра и набора кадров, ближайших к текущему кадру, хранит средние фотомет- рические ошибки, проецируя пиксели текущего кадра на остальные [1].
Такая структура, поданная на вход нейронной сети, позволяет выделить некоторую геометрическую информацию, опираясь на которую можно