Научная статья на тему 'Использование домашних заданий по программированию для развития практических компетенций курса "геометрическое моделирование"'

Использование домашних заданий по программированию для развития практических компетенций курса "геометрическое моделирование" Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
157
19
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЕОМЕТРИЧЕСКОЕ МОДЕЛИРОВАНИЕ / ЭЛЕКТРОННОЕ ОБУЧЕНИЕ / JAVA / ДОМАШНИЕ ЗАДАНИЯ ПО ПРОГРАММИРОВАНИЮ / GEOMETRIC MODELING / ELECTRONIC EDUCATION / PROGRAMMING HOME ASSIGNMENTS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Макаров Евгений Маратович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The article describes using programming home assignments for developing competencies in the course “Computer geometry and geometric modeling” for students majoring in mathematics. Assignments consist of writing parts of programs in Java in the following topics: affine and projective transforms, hierarchical modeling and cubic splines. Advantages of programming homeworks over traditional problem solving without computer are discussed.

Текст научной работы на тему «Использование домашних заданий по программированию для развития практических компетенций курса "геометрическое моделирование"»

Использование домашних заданий по программированию для развития практических компетенций курса «Геометрическое моделирование»

Макаров Евгений Маратович Ph.D. (Computer Science), старший преподаватель кафедры алгебры, геометрии и дискретной математики, Институт информационных технологий, математики и

механики,

Нижегородский государственный университет им. Н.И. Лобачевского, пр. Гагарина, 23, г. Нижний Новгород, 603950, (831)4623361 evgeny.makarov@itmm.unn.ru

Аннотация

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

The article describes using programming home assignments for developing competencies in the course "Computer geometry and geometric modeling" for students majoring in mathematics. Assignments consist of writing parts of programs in Java in the following topics: affine and projective transforms, hierarchical modeling and cubic splines. Advantages of programming homeworks over traditional problem solving without computer are discussed.

Ключевые слова

геометрическое моделирование, электронное обучение, java, домашние задания по программированию

geometric modeling, electronic education, java, programming home assignments

Введение

В данной статье описывается опыт Нижегородского государственного университета им. Н.И. Лобачевского по использованию средств электронного обучения для развития компетенций в рамках курса «Компьютерная геометрия и геометрическое моделирование», изучаемого на направлениях «Математика» и «Математика и компьютерные науки». Компетентностный подход к образованию ставит целью развитие у обучаемых не только знаний, но и связанных с ними умений, навыков, способностей и личностных качеств. Разработка методологии развития этих характеристик является важной задачей, стоящей в настоящее время перед российским образованием [1-4].

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

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

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

В данной статье описывается использование домашних заданий по теме «геометрическое моделирование», выполняемых с использованием языка программирования Java. Вместе с заданием преподаватель предоставляет студентам заготовку программы, которую они должны дописать и отладить. Данный подход не требует от студентов обширных знаний языка и его библиотек. Если на младших курсах изучались языки С или С++, то необходимую информацию для выполнения работ можно предоставить за два-три занятия. С другой стороны, использование компьютера имеет много преимуществ, которые описаны в следующем разделе. Например, оно позволяет студентам сразу же определить правильности используемых ими формул.

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

Использование домашних заданий по программированию в развитии компетенций

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

построения выпуклой оболочки;

построение диаграммы Вороного (разбиения плоскости на области, каждая из которых ближе к одной из данных точек, чем к любой другой);

построение триангуляции Делоне (разбиения выпуклого многоугольника на треугольники, как можно более близкие к правильным);

нахождение пересечений между множествами отрезков (например, между дорогами и реками);

планирование движения робота.

Данная статья имеет дело со второй частью курса. Геометрическое моделирование изучает методы и алгоритмы математического представления объектов реального мира. Эта область является развитием начертательной геометрии. Типичные задачи геометрического моделирования включают:

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

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

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

Геометрическое моделирование применяется в создании большого спектра программных продуктов, от систем автоматизированного проектирования до компьютерных игр. Однако курс геометрического моделирования, изучаемый на направлении «Математика», имеет целью обучение не столько программированию компьютерной графики, сколько математическим методам описания и представления объектов реального мира. Для этого, в частности, он должен активно использовать ранее изученные студентами сведения из линейной алгебры и дополнять их [11], в отличие от многих учебников компьютерной графики, которые стремятся изложить материал наиболее простым языком.

Как ФГОС 3+ по направлению «Математика» для бакалавров, так и более новый ФГОС 3++, который существенно опирается на профессиональные стандарты, содержат ряд компетенций, которые могут развиваться в курсе геометрического моделирования:

ОПК-4: способность находить, анализировать, реализовывать программно и использовать на практике математические алгоритмы, в том числе с применением современных вычислительных систем (ФГОС 3+);

ПК-5: способность использовать методы математического и алгоритмического моделирования при решении теоретических и прикладных задач (ФГОС 3+);

ОПК-4: способность решать задачи профессиональной деятельности с использованием существующих информационно-коммуникационных технологий и с учётом основных требований информационной безопасности (ФГОС 3++).

В рамках данной дисциплины компетенция ПК-5 допускает следующие показатели:

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

знать определения и основные свойства кривых и поверхностей Безье, сплайнов и сплайн поверхностей;

уметь переводить мировые координаты двумерной или трёхмерной фигуры в экранные;

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

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

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

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

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

иллюстрации в виде набора проекций трёхмерной фигуры под разными углами [12, с. 155]. Однако гораздо удобнее, когда студент может вращать фигуру на своём компьютере. Например, это позволяет опытным путём найти углы, при которых проекция принимает один из частных видов (изометрия, диметрия). Некоторые различия, например, разницу между обычными и нормализованными сплайнами, трудно уловить на иллюстрации, и для этого может потребоваться ряд экспериментов.

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

Поскольку выполнение заданий на компьютере занимает значительное время и требует планирования, оно позволяет лучше проверять личностные качества, такие как умение управлять своим временем (компетенция УК-6 в ФГОС 3++). Если программный проект является значительным по объёму и выполняется небольшой командой студентов, данное задание позволяет вырабатывать и контролировать способность осуществлять социальное взаимодействие и реализовывать свою роль в команде (УК-3).

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

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

Выбор языка Java продиктован его высокой популярностью и тем, что он похож на C++, который изучается на младших курсах в ННГУ, являясь в то же время более простым. Кроме того, компилятор, библиотеки и средства разработки на Java являются бесплатными, и Java обладает собственной библиотека Swing для создания графического интерфейса, которая одинаково работает в разных операционных системах.

Согласно нашему опыту, чтобы дать студентам, ранее изучавшим C++, достаточно информации для написания программ с графическим интерфейсом на Java, достаточно двух-трёх лекций.

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

Поскольку часть времени курса всё-таки тратится на объяснение особенностей языка и работы в интегрированной среде разработки, а также на объяснение заданий, часть материала выделена для самостоятельного изучения студентами. Для этого был создан сайт https://unncg2018.wordpress.com, куда выкладываются все материалы курса: конспекты и слайды лекций, традиционные домашние задания, задания по программированию и методические пособия.

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

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

Описание заданий по программированию

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

Рис. 1. Аффинные отображения

В качестве ознакомительного задания студентам нужно написать программу, рисующую фигуру на рис. 1. Квадрат задаётся в мировых координатах с угловыми точками (0, 0) и (1, 1). Во-первых, применяя подходящее преобразование координат, его нужно изобразить в центре окна со стороной, скажем, 400 пикселей и, во-вторых, применяя к нему в цикле аффинное преобразование, нужно нарисовать вложенные квадраты. Студентам даётся заготовка программы, где отсутствуют части, связанные с аффинными преобразованиями.

На выполнение этого задания даётся неделя.

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

возвращающий требуемое аффинное преобразование в зависимости от значений переменных, в которых содержится состояние кнопок.

На эту и последующие работы даётся две недели._

Положение • Внизу слева О Внизу справа О Вверху слева О Вверху справа О В центре

Масштаб

□ фиксированный масштаб 0 Фиксированное отношение

Рис. 2. Перевод мировых координат в экранные

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

п 90 60 30

1 ° -30

-60

-90

■90 -60 -30 О 30 60 90 Виды проекций

0 Центральная

1-V

О 5 10 15 20

Параллельная Ортогональная О Изометрическая О Диметрическая ® Триметрическая Косоугольная

О Фронтальная изометрическая О Фронтальная диметрическая О Произвольная диметрическая

Рис. 3. Проекции

Теоретические основы проекций, включая отдельные формулы, доступны в конспектах лекций на сайте курса, поэтому задача студентов состоит в следующем:

найти углы поворота, соответствующие некоторым типам проекций (диметрическая, фронтальная изометрическая, фронтальная диметрическая);

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

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

Особенностью данного задания является то, что оно разработано, максимально учитывая ГОСТ 2.317 [14], описывающий различные виды аксонометрических проекций. Из пяти видов проекций, описанных в ГОСТе, четыре представлены в программе. Формулы, полученные в процессе работы над этим заданием, позволяют понять значение некоторых параметров. Так, в ГОСТе коэффициент искажения по осям x и z при прямоугольной диметрической проекции установлен равным 0,94. Из полученных формул следует, что его значение равно V8/3 ~ 0,9428. Подобные примеры позволяют студентам почувствовать, что изучаемая ими теория имеет непосредственное отношение к практике (в данном случае к стандарту, определяющему правила составления чертежей всех отраслей промышленности и строительства) и способна объяснить используемые соглашения. Следующая работа посвящена составлению изображений с помощью принципа иерархического моделирования. Его идея заключается в том, что каждый из составляющих изображение объектов рисуется в своей естественной системе координат. Перед рисованием каждого объекта к графическому контексту применяется аффинное преобразование, которое задаёт требуемое положение и размер объекта.

Рис. 4. Иерархическое моделирование

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

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

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

—■ Непрерывность О со

О С1 ® С2

Длина отрезка парам. ® Длина хорды О Единица

1

Показ контр, точек ® Да

■ 1 ч О Нет

1

"•^^Зторые производные по х у У

Рис. 5. Сплайн

Последнее домашнее задание по программированию посвящено кубическим сплайнам. Сплайн (рис. 5) — это кусочно-полиномиальная кривая, которая проходит через заданные точки (узлы). На рисунке узлы отмечены кружочками, и их можно двигать мышью. В кубическом сплайне вторая производная должна быть непрерывна во внутренних узлах.

В Java сплайн рисуется с помощью кривых Безье, которые широко используются в языках программирования и графических редакторах. В каждом внутреннем узле у кривой есть левая и правая контрольные точки, изображённые квадратиками. Они определяют, в каком направлении кривая входит и выходит из данного узла. Когда требуется, чтобы кривая была просто непрерывна (кнопка C0) или имела непрерывную первую производную (кнопка C1), контрольные точки можно двигать мышью. Однако непрерывность второй производной (кнопка C2) приводит к тому, что искомая кривая является единственной, поэтому контрольные точки в этом режиме двигать нельзя (кроме контрольных точек первого и последнего узлов, задающих краевые условия).

Таким образом, данная программа является тренажёром по темам «Кривые Безье» и «Сплайны». Студенты могут увидеть на практике, как положение контрольных точек влияет на поведение кривой. Например, можно экспериментально

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

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

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Программа «Сплайны» состоит из 16 файлов, но, как и в предыдущих заданиях, код, рисующий пользовательский интерфейс, а также технические классы, отвечающие за маркеры узлов и контрольных точек, предоставляется преподавателем. Код, который нужно прочитать и дописать, находится в одном файле. От студентов требуется изучить комментарии и изменить отдельные методы (функции). На рис. 6 показан пример готового метода с комментарием, а на рис. 7 показан пример метода, который нужно закончить.

Для решения системы линейных уравнений студенты могут воспользоваться свободно распространяемой библиотекой Commons Math [16]. Система уравнений в данном случае является трёхдиагональной, поэтому её также можно решить методом прогонки вместо общего алгоритма Гаусса. Метод прогонки изучается в курсе численных методов, который проходится в том же семестре. Поэтому за дополнительные баллы студенты могут запрограммировать решение системы уравнений методом прогонки.

/**

* Возвращает координату X левой контрольной точки,

* соответствующей i-му узлу. Слово "левая" подразумевает, что

* сплайн идёт слева направо, то есть возвращается координата

* предпоследней опорной точки кубической кривой Безье,

* соединяющей (i-^-й и i-й узлы. Первый узел (i == 0) не

* имеет левой контрольной точки.

*

* @param i номер узла

* @return абсцисса узла левой контрольной точки узла с номером i

*/

public double getLeftX(int i) { if (i < 1 || i >= numNodes)

throw new InvalidPointException(i, 1, numNodes - 1);

return nodes.get(i).getLeft().getX();

}_

Рис. 6. Сплайны: пример комментария

/**

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

* второй производной и устанавливает контрольные точки во

* внутренних узлах соответствующим образом. Можно пользоваться

* полями segmentLengths и totalLength, потоому что в

* paintComponent() метод computeLengths() вызывается до

* makeC2().

*/

private void makeC2() {

// Для более короткой записи int n = numNodes; double[] l = segmentLengths;

// Допишите этот метод }_

Рис. 7. Сплайны: пример задания

Заключение

В данной статье описан опыт Нижегородского государственного университета им. Н.И. Лобачевского по использованию домашних работ по программированию в курсе «Компьютерная геометрия и геометрическое моделирование». Задания заключаются в написании частей программ, соответствующих темам курса: аффинным и проективным отображениям, иерархическому моделированию и кубическим сплайнам. Описано, как выполнение работ лучше способствует развитию компетенций, чем традиционное решение задач.

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

повышение доли материала, предназначенного для самостоятельного изучения студентами;

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

завершение ведущихся работ по созданию программы для обучения аффинным отображениям и преобразованиям координат [10]. Данную программу можно будет использовать как тренажёр, а также как средство проверки навыков на зачёте;

добавление тестов;

интеграцию с системой Moodle, развёрнутой в университете.

Литература

1. Кузенков О., Захарова И. Взаимосвязь между проектом METAMATH и продолжающейся реформой высшего образования в России // Образовательные технологии и общество. — 2017. — Т. 20, № 3. — С. 279—291. — URL: https://elibrarv.ru/item.asp?id=29438091.

2. Гергель В., Кузенков О. Разработка самостоятельно устанавливаемых образовательных стандартов Нижегородского госуниверситета в области информационно-коммуникакционных технологий // Школа будущего. — 2012. — № 4. — С. 100—105. — URL: https://elibrarv.ru/item.asp?id=17926157.

3. Zakharova I., Kuzenkov O. Experience in Implementing the Requirements of the Educational and Professional Standards in the Field of ICT in Russian Education // CEUR Workshop Proceedings Selected Papers of the 11th International Scientific-Practical Conference Modern Information Technologies and IT-Education, SITITO 2016. — 2016. — С. 17—31. — URL: https://elibrary.ru/item.asp?id=29475837.

4. Кузенков О., Тихомиров В. Использование методологии "TUNING" при разработке национальных рамок компетенций в области ИКТ // Современные информационные технологии и ИТ-образование. — 2013. — № 9. — С. 77—87. — URL: https ://elibrary.ru/item. asp?id=23020512.

5. Кузенков О. А., Кузенкова Г. В., Киселева Т. П. Использование электронных средств обучения при модернизации курса «Математическое моделирование процессов отбора» // Образовательные технологии и общество. — 2018. — Т. 21, № 1. — С. 435—448. — URL: https://elibrary.ru/item.asp?id=32253185.

6. Кузенков О., Кузенкова Г., Бирюков Р. Разработка фонда оценочных средств с использованием пакета MathBridge // Образовательные технологии и общество. — 2016. — Т. 19, № 4. — С. 465—478. — URL: https://elibrary.ru/item.asp?id=27163069.

7. Modernization of Math-Related Courses in Engineering Education in Russia Based on Best Practices in European and Russian Universities / I. Soldatenko [и др.] // Engineering Education on Top of the World: Industry-University Cooperation, SEFI 2016. — 2016. — С. 131. — URL: https://elibrary.ru/item.asp?id=29262526.

8. ИТ-образование с применением интеллектуальной обучающей среды / П. Басалин [и др.] // Современные информационные технологии и ИТ-образование. — 2017. — т. 13, № 4. — С. 105—111. — URL: http://sitito.cs.msu.ru/index.php/SITITO/article/view/312/256.

9. Грезина А., Панасенко А. Изучение курса физики в Институте информационных технологий, математики и механики ННГУ на базе системы электронного обучения // Образовательные технологии и общество. — 2018. — т. 21, № 1. — С. 487—493. — URL: https://elibrary.ru/item.asp?id=32253189.

10. Грезина А., Панасенко А. Использование современных технологий в преподавании физики при подготовке бакалавров // Современные информационные технологии и ИТ-образование. — 2018. — т. 4, № 1. — С. 293— 303. — URL: https://elibrary.ru/item.asp?id=35050068.

11. Макаров Е. М. Общие системы координат в курсе компьютерной геометрии // Современные информационные технологии и ИТ-образование. — 2018. — Т. 14, № 4. — С. 817—826.

12. Роджерс Д., Адамс Д. Математические основы машинной графики. — М.: Мир, 2001.

13. Макаров Е. М. Использования Java для проверки компетенций по геометрическому моделированию // Образовательные технологии и общество. — 2018. — Т. 21, № 1. — С. 494—505. — URL: https://www.j-ets.net/ETS/russian/depository/v21 i1/pdf/20.pdf.

14. ГОСТ 2.317—2011. Единая система конструкторской документации. Аксонометрические проекции. — Введен 01.01.2012. — М. : Стандартинформ, 2011. — 12 с. — (Межгосударственный стандарт).

15. Макаров Е. М. Элементы двумерной графики в Java. — Нижегородский государственный университет им. Н.И. Лобачевского, 2017. —URL: http://www.unn.ru/books/met files/graphics-java.pdf.

16. Commons Math: The Apache Commons Mathematics Library / The Apache Software Foundation. — 2016. — URL: http://commons.apache.org/proper/commons-math/index.html.

i Надоели баннеры? Вы всегда можете отключить рекламу.