Введение 3
1. Система интернет-олимпиад по физике и модели виртуальных лабораторий BARSIC 7
1.1 Программный комплекс distolymp 7
1.2 Модели виртуальных лабораторий BARSIC и их взаимодействие с сервером 8
1.3 Пути переноса моделей виртуальных лабораторий BARSIC на платформу Android 9
2. Написание Android-моделей виртуальных лабораторий на языке Java 10
2.1 Структура проекта 10
2.2 Библиотека ABarsicLib 11
2.3 Парсер выражений 14
2.4 Модель виртуальной лаборатории «Тележка на наклонном рельсе» 15
2.5 Проигрыватель моделей виртуальных лабораторий ABarsicPlayer 17
3. Система кросс-компиляции моделей виртуальных лабораторий BARSIC на платформу Android 26
3.1 Структура кросс-компиляции 26
3.2 Библиотека ABarsicLib в системе кросс-компиляции 27
3.3 Схема запуска кросс-компилированных моделей 28
3.4 Оболочечные компоненты 29
4. Объединение проектов для платформы Android 33
4.1 Объединение проектов 33
4.2 Тестирование объединенного проекта 34
Выводы 35
Литература 36
Приложения 39
Листинг 3. Код измененных методов класса Button 39
Листинг 4. Код измененных методов класса TextEdit 40
Листинг 5. Код измененных методов класса Subwindow 43
Начиная с 2005 года, СПбГУ проводит интернет-олимпиаду школьников по физике [1] среди 7-11 классов. Интернет-олимпиада школьников по физике с каждым днём становятся всё более востребованной по следующим причинам.
В рамках любой олимпиады школьникам следует предложить решить задачи и выполнить лабораторные работы. Задачи служат для проверки теоретических знаний. Экспериментальные умения и навыки проверяются в лабораторных работах. Умения и навыки по проведению физических экспериментов очень важны для будущего физика-исследователя.
Однако на практике, в абсолютном большинстве олимпиад по физике требуется решить только задачи, а экспериментальная часть в лучшем случае может присутствовать лишь на заключительном этапе. Такое положение дел связано с большой сложностью обеспечения участников экспериментальными установками, ведь для проведения массовых олимпиад практически нереально обеспечить для тысяч человек однотипное оборудование, необходимые площади, персонал, обслуживающий это оборудование (сборку, настройку, наблюдение за правильностью использования).
Вопрос о проведении экспериментальной части олимпиады полностью снимается, если использовать вместо настоящих установок их компьютерные модели. Виртуальные физические установки, в отличие от настоящих, не требуют значительных материальных затрат и не могут выйти из строя. Программное обеспечение виртуальных лабораторий разрабатывается так, чтобы поведение виртуальных установок не отличалось от поведения их реальных аналогов.
Дальнейшее развитие интернет-олимпиады школьников по физике зависит от возможности работы программного обеспечения олимпиады на различных программных платформах. На данный момент прохождение заданий олимпиады возможно только на настольных компьютерах под управлением операционной системы семейства Windows, либо под управлением Linux с помощью дополнительного ПО Wine и установки браузерного ядра Gecko. Задействование мобильных устройств поможет значительно расширить аудиторию олимпиады. Согласно статистике, представленной на сайте Рейтинг@Mail.ru [2, 3], по состоянию на 1 мая 2017 года более 53% пользователей выходят в интернет с мобильных устройств. Более 76% мобильных устройств работают под управлением операционной системы Android.
Встал вопрос о переносе интернет-олимпиады по физике на платформу Android.Ранее Монаховым В.В. и др. [4] рассматривалась возможность создания моделей виртуальных лабораторий на языке Java без использования среды BARSIC. Программы для операционной системы Android пишут на языке Java, однако нет совместимости двоичного кода виртуальной Java-машины и виртуальной машины Android. Оказалось, что размеры файлов моделей получались около 5 Мб и большая часть кода дублировалась. Другой подход состоял в вынесении всей повторяющейся части кода в приложение, однократно загружаемое с сервера и устанавливаемое на клиентское устройство. Модели виртуальных лабораторий содержали только специфическую для данного приложения часть кода. Для разработки кодов моделей использовалось два способа. Первый состоял в написании моделей непосредственно на Java. Второй, при помощи системы кросс-компиляции (разрабатываемой Максимовым М.А. [5]) из исходных кодов, написанных на языке BARSIC, в коды Java.
В связи с этим целью данной работы являлась разработка в программном комплексе Distolymp системы, позволяющей работать на устройствах Androidс кросс-компилированными моделями виртуальных лабораторий.
Для достижения поставленной цели решались следующие задачи:
• Разработка структуры проекта, позволяющего работать как с кросс-компилированными, так и разработанными непосредственно на Java моделями;
• Доработка «проигрывателя» моделей виртуальных лабораторий ABarsicPlayer;
• Доработка модели виртуальной лаборатории «Тележка на наклонном рельсе»;
• Усовершенствование библиотеки ABarsicLib;
• Объединение проектов проигрывателя моделей виртуальных лабораторий ABarsicPlayer, библиотеки ABarsicLib, моделей «Тележка на наклонном рельсе» и «Электрическая лаборатория» и парсера выражений (калькулятор);
• Тестирование объединенного проекта.
1. Разработана структура проекта, позволяющего работать как с кросс-компилированными, так и разработанными непосредственно на Java моделями;
2. Доработан «проигрыватель» моделей виртуальных лабораторий ABarsicPlayer, а именно подгрузка параметров;
3. Доработана модель виртуальной лаборатории «Тележка на наклонном рельсе». Добавлен рельс, линейка со шкалой, функциональные кнопки, калькулятор, блокнот. Реализована установка загружаемых параметров;
4. Доработана библиотека ABarsicLib. Предложено разрабатывать классы моделей виртуальных лабораторий, наследуя их от абстрактного базового класса Model, содержащегося в библиотеке. Усовершенствованы разработанные С.Мартынюком классы Button, TextEdit, Subwindow. Добавлена библиотека JEvalParser;
5. Объединены проекты проигрывателя моделей виртуальных лабораторий ABarsicPlayer, библиотеки ABarsicLib, моделей «Тележка на наклонном рельсе» и «Электрическая лаборатория» и парсера выражений (калькулятор);
6. Проведено тестирование объединенного проекта.
Планируется дальнейшее усовершенствование библиотеки ABarsicLib, что позволит кросс-компилировать все модели виртуальных лабораторий и проводить олимпиаду на платформе Android.
1. http://distolymp2.spbu.ru/olymp/ Домашняя страница интернет олимпиады школьников по физике [Электронный ресурс] // Интернет олимпиада школьников по физике / СПбГУ, университет ИТМО.
2. https://top.mail.ru/browsers?id=250&period=0&date=&aggregation=sum&sids=mob,chrome,firefox,opera,msie,msedge,safari,sum,others&ytype=value>ype=lineГлобальная статистика Рейтинг@mail.ru[Электронный ресурс]
3. https://top.mail.ru/oses?id=250&period=0&date=&aggregation=sum&sids=win,mob,mac,lin,tv&ytype=value>ype=lineГлобальная статистика Рейтинг@mail.ru[Электронный ресурс]
4. Монахов В.В., Воропаев Р.А., Бушманова Е.А. и др. Особенности разработки компьютерных тестов, задач и виртуальных лабораторий // Компьютерные инструменты в образовании. – 2013. – № 2. – С. 28–39.
5. Выпускная квалификационная работа аспиранта Максимова М.А. «Разработка кросс-компилятора из языка программирования BARSIC в код ART/Dalvik», 2016
6. В. В. Монахов и др. BARSIC: программный комплекс, ориентированный на физика-исследователя. Программирование, 2005, N3, с.68-80.
7. Бакалаврская работа Кузьмина Н.В. «Разработка средств программного комплекса aBarsic для отображения моделей виртуальных лабораторий по физике», 2015
8. Монахов В.В., Басов Л.В., Воропаев Р.А., Пивоваров А.М., Зуган М.С. distolymp – программный комплекс для проведения интернет-олимпиад и дистанционного обучения // В материалах XII международной конференции “Физика в системе современного образования”. – Петрозаводск, 2013, т.2. – С. 221-223.
9. Магистерская диссертация студента Мартынюка С.А. «Разработка компонента графики для виртуальных Java лабораторий по физике на платформе Android», 2016
10. Магистерская диссертация студентки Монаховой Е.В. «Разработка системы HTML5-визуализации виртуальных лабораторий пофизике на платформе Android», 2016
11. В.В. Монахов, М.А. Максимов, В.А. Саликов, К.Р. Зубов, А.А. Салатич DISTOLYMP - программный комплекс для мультиплатформенной проверки знаний и практических умений. Современные информационные технологии. Теория и практика Материалы II Всероссийской научно-практической конференции в рамках ИТ-форума «ICITY 2015: Информатизация промышленного города»(г. Череповец, 19 ноября 2015 г.). c.124-129
12. http://barsic.spbu.ru/www/license.html Проигрыватель BARSIC (BARSIC player) [Электронный ресурс]
13. http://distolymp2.spbu.ru/olymp/index_faq.htmlОтветы на вопросы по Интернет-олимпиаде школьников по физике [Электронный ресурс]
14. https://subversion.assembla.com/svn/barsic/trunk/source/Barsic/barsic/source/serverInstall/ Репозиторий [Электронный ресурс]
15. https://subversion.assembla.com/svn/barsic/trunk/source/Barsic/barsic/source/serverModel/ Репозиторий [Электронный ресурс]
16. Монахов В.В., Кожедуб А.В., Уткин А.Б. «Особенности заданий интернет-олимпиады школьников по физике» Компьютерные инструменты в школе. №6, 2011
17. Монахов В.В., Стафеев С.К., Парфенов В.Г., Кожедуб А.В., Евстигнеев Л.А, Кавтрев А.Ф., Пономарев А.И. «Проведение дистанционных туров олимпиад по физике с использованием программного комплекса BARSIC» // Компьютерные инструменты в образовании. - СПб.: Изд-во ЦПО "Информатизация образования", 2005, N11, С. 05-15.
18. M.A. Maksimov, V.V. Monakhov, A.V. Kozhedub. Virtual Laboratories in Physics with Autogenerated Parameters. JournalofPhysics: ConferenceSeries, Vol. 633, Number 1, 2015, pp. 12009-12011(3).
19. http://barsic.spbu.ru/www/barsic/bprog/bprog.htmЦвета в RGB кодировке [Электронный ресурс]