«Пятая конференция Свободное программное обеспечение в высшей школе Переславль, 30–31 января 2010 года Тезисы докладов Москва, Институт логики, 2010 В книге собраны тезисы докладов, одобренных Программным комитетом пятой ...»
АНО Институт логики, когнитологии и развития личности
ALT Linux
НОУ ИПС-Университет г. Переславля им. А. К. Айламазяна
Институт Программных Систем РАН
Пятая конференция
Свободное программное обеспечение
в высшей школе
Переславль, 30–31 января 2010 года
Тезисы докладов
Москва,
Институт логики,
2010 В книге собраны тезисы докладов, одобренных Программным комитетом пятой конференции Свободное программное обеспечение в высшей школе.
c Коллектив авторов, 2010 Программа конференции 30 января 11:30 А. Е. Новодворский. Открытие. Информация оргкомитета 11:45 С. М. Абрамов. Приветственное слово 12:00–12:30 Н. Н. Непейвода Принципиальные ограничения свободного софта.......... 12:30–13:00 И. А. Хахаев LMS Moodle и видеоконференции...................... 13.00–13.20 Кофе-брейк 13:20–13:50 И. В. Парамонов, А. М. Васильев Опыт организации кроссплатформенной образовательной среды для обучения студентов программированию.... 13:50–14:05 С. Э. Грегер Пакет компонентов обеспечения информационной поддержки образовательного процесса для учебного портала на базе CMS Plone........................ 14:05–14:20 С. Э. Грегер Опыт преподавания СПО при подготовке профессиональных программистов.................. 14:20–14:50 Е. А. Чичкарев Разработка и использование расширений OpenOce для работы с системами компьютерной математики....... 14.50–17.00 Обед и заселение 4 Программа конференции 17:00–17:30 Е. Р. Алексеев, И. Шевченко Выбор свободно распространяемого программного обеспечения для учебного процесса (на примере кафедры ВМиП ДонНТУ)......................... 17:30–18:00 В. Г. Слугин Внедрение, использование и сопровождение СПО в учебном заведении на примере ФГОУ СПО НРТК 18:00–18:30 Ю. Азовцев 3D-моделирование и анимация в Blender для школ и ВУЗов 18:30–19:00 Д. А. Костюк Изучение низкоуровневого программирования и вычислительной архитектуры на базе платформы GNU/Linux..................................... 31 января 10:00–10:30 Г. В. Курячий, А. А. Панюкова Опыт преподавания курса Сопровожнение пакетов в Linux на ВМиК МГУ.......................... 10:30–11:00 Д. А. Пынькин, И. И. Глецевич Проектирование IT-инфраструктуры учебных заведений на базе ОС Linux................................ 11:00–11:30 А. О. Маковецкий Автоматизация систем информирования и оповещения студентов ВУЗа на базе свободного программного обеспечения..................................... 11:30–11:50 В. Кулямин, В. Рубанов, А. Хорошилов О комитете по образованию и высшей школе Российской Ассоциации Свободного Программного Обеспечения... 11.50–12.10 Кофе-брейк 12:10–12:30 А. Г. Кушниренко, А. Г. Леонов, М. А. Ройтберг, Я. Н. Зайдельман, А. В. Карпов, Е. В. Святушенко, Н. М. Субоч, Д. В. Хачко, В. В. Яковлев Система КуМир новые возможности.................. Программа конференции 12:30–12:50 А. Г. Кушниренко, А. Г. Леонов, М. А. Ройтберг, В. В. Яковлев ПиктоМир программирование для дошкольников....... 12:50–13:10 А. Г. Кушниренко, А. Г. Леонов, М. А. Ройтберг, В. И. Хачко, Д. В. Хачко, В. В. Тарасова, В. В. Яковлев 13:10–13:30 Д. А. Кузнецов Разработка программного обеспечения для работы 13:30–14:30 Обед 14:30–14:50 И. Чубин 14:50–15:10 И. П. Русинов, И. А. Нечаев Свободное программное обеспечение для научных исследований по квантовой теории конденсированных 15:10–15:30 М. Ш. Исламов Динамический Рефал инструмент для обучения 15:30–15:45 А. Н. Пустыгин, О. И. Суворов, И. С. Ермолаев, Д. С. Ботов, А. С. Новиков, В. П. Поляков, Б. Тарелкин, Д. Егоров Проект утилиты для представления знаний, полученных 15:45–16:00 А. Н. Пустыгин, О. И. Суворов, И. С. Ермолаев, Д. С. Ботов, А. С. Новиков, В. П. Поляков, Б. Тарелкин, Д. Егоров Опыт разработки инструментов исследования программного обеспечения с открытым исходным кодом 16:00–16:20 М. М. Дронов, Д. М. Ахметов Интеграция взаимодействия проекта внедрения СПО в образовании и деятельности групп пользователей 16:20–16:40 Кофе-брейк 16:40–17:00 Ю. П. Немчанинова, Е. Г. Пьяных Проблема развития ИКТ-компентности педагогических кадров в условиях перехода на свободное программное обеспечение и организационно-педагогические условия 17:00–17:20 Е. С. Васильева Самостоятельное изучение языка РЕФАЛ в высшей 17:20–17:40 В. А. Бондаренко Информационная система учебного заведения на базе свободного программного обеспечения на примере 17:40–18:00 Н. Живчикова, Е. Иванов, А. Котомин, Е. Титова Информационная поддержка трекинга учебных практик и 18:00–18:20 Е. Л. Сыромятников Вне программы П. Е. Еньков Вычислительный кластер ЭВМ на основе операционной системы ALTLinux с использованием свободного Н. Н. Непейвода Ижевск, Удмуртский государственный университет Принципиальные ограничения свободного софта В последнее время я работаю над заказной статьей, которая должна дать обзор достижений и уроков конструктивной математики ХХ века, рассматриваемой в широком смысле слова как спектр всех направлений от интуиционизма до польского полуконструктивизма.
Поскольку одна из целей данной работы получит уроки для современной информатики, в этом докладе приводятся некоторые выводы, к которым я пришел.
Для наших целей важны следующие характеристики конструктивизма:
1. Высказывание рассматривается как задача, а не как упражнение на абстрактное доказательство истинности. Поэтому нас интересует не истинность, а реализуемость.
2. Эта реализуемость рассматривается как идеальное умственное построение. Следовательно, полученное построение может быть абстрактным высокоуровневым функционалом и вопрос о требуемых для его практического воплощения ресурсах ставится уже во вторую очередь.
3. В связи с этим полностью отвергается иллюзия всезнания, которая выражается в традиционной математике законом исключенного третьего. Это не означает введения новых истинностных значений. Скорее, сама концепция истинностных значений перестает быть основой для определения логики. Разные теоремы формально имеют одно и то же истинностное значение, но их реализации могут быть в корне различны.
4. В дополнение к этому в некоторых ветвях конструктивизма явно постулируется незнание и показывается, как использовать незнание в качестве основы для позитивных выводов. Например, беззаконные последовательности Брауэра являются конструктивной моделью физических датчиков, и основная аксиома Брауэра гласит, что мы в любой момент знаем об абстрактной беззаконной последовательности лишь тип данных результата и конечное число ее результатов. Конечно же, применив конструктивное преобразование к беззаконной последовательности, можно получить последовательность, о которой известно несколько больше, например. что все ее члены либо 0, либо 1. Но незнание остается существенно неустранимым.
5. Множества (или, что то же самое, предикаты) и типы данных существенно различные сущности. Не всякий тип данных может быть описан как множество. Примером опять-таки служит тип беззаконных последовательностей.
Выяснилось, что варианты конструктивизма можно расположить в некоторый род иерархии по отношению к тому, какую долю знания они предполагают и какую долю незнания допускают.
Самый классичесский из них польский полуконструктивизм, в котором все объекты сделаны алгоритмическими, но вся логика остается классической, из-за чего доказательства и построения проводятся отдельно. Для информатики этот конструктивизм практически ничего дать не может.
Советский конструктивизм А. А. Маркова и Н. А. Шанина второй по степени знания об объектах. Незнание рассматривается как временное состояние. Предполагается аксиома религии прогресса, что творчески мыслящий человек может решить любую точно поставленную задачу, но неизвестно, захочет ли он этим заниматься, дойдут ли у него руки и хватит ли у него ресурсов на ее решение. Поэтому незнание хоть и временное, но неизбежное состояние. Но постулировать мы можем лишь знание.
В соответствии с этим предполагается, что для каждого эффективного функционала мы знаем вычисляющую его программу, и можем эту программу использовать в наших дальнейших построениях.
Получившаяся система оказалась замкнутой и последовательной в своих концепциях (как показал А. Г. Драгалин, в области арифметики советский конструктивизм в принципе действительно полон) и, соответственно, концептуально единой. Но в советском конструктивизме наряду с практически интересными примерами (напрмер, некорректными задачами и методами их превращения в корректные) возникает ряд монстров, в частности, вычислимая непрерывная всюду определенная на отрезке [0,1] функция действительных чисел, неограниченная на данном отрезке. Построения в советском конструктивизме громоздкие и не очень практичные.
Прагматичный американец Э. Бишоп (E. Bishop) предложил следующее решение. Все наши преобразования алгоритмы, но мы никогда в этом не признаемся, и, соответственно, не предполагаем знания их программ. Это положило начало целому букету конструктивных концепций, основанных на данной идее. В общем они оказались и технически более легкими, и концептуально более красивыми, чем советский конструктивизм.
Но самой красивой и самой мощной из конструктивных концепций так и остался голландский интуиционизм, в котором нет даже речи о том, что все эффективные преобразования конечные алгоритмы, и в котором вовсю используется незнание как позитивный фактор.
Техника преобразования некорректных задач, чисто технически более развитая в свое время в более практически ориентированном советском конструктивизме, полностью переносится в интуиционизм, и заодно появляется целый ряд новых красивых возможностей.
Сделаем теперь выводы из всего этого для информатики.
Первое, что здесь бросается в глаза результаты теоретического анализа подрывают веру в универсальность концепции полностью открытого софта. Закрытость может иногда быть полезной.
Второе, на что обращал внимание, в частности, А. А. Шалыто, подмена цели в свободном софте. Обращается внимание на открытость исходного текста программ, когда для практики очень часто важна не конкретная реализация, а полная и открытая программная документация к ней. Пользуясь этой документацией, желающий может переписать программу заново без всякого ущерба для всех, кто с ней работает, кроме хакеров того или иного сорта, ставящих на программу заплатки либо использующих недокументированные возможности (в данном случае и то, и другое равнозначно).
Далее, В. Ф. Чаусов, квалифицированный юрист в области патентного права и интеллектуальных прав, обратил мое внимание на то, что от требования открытости программного текста легко уйти легальными средствами, а неадекватная документация вполне может быть предметом преследования по закону. Я переделал его пример, который был частным, в общий алгоритм ухода от требования открытости. В частности, известны программы-обфускаторы. Но даже если не пользоваться примитивным обфускатором, выдающим формально открытый код, есть возможность прикрыться самыми лучшими намерениями и сделать формально открытый код еще более закрытым, чем пропущенный через обфускатор. Для этого достаточно пропустить финальную версию программы, предоставляемую заказчику, через действительно мощный и интеллектуальный оптимизатор. Мы делаем как лучше, а получаемый код формально открыт, а фактически неперестраиваем.
Конечно же, в случае действительно коллективной работы над кодом программы в равной мере необходимы и открытая документация, и открытый код, но опять-таки я ставлю на первое место документацию и спецификации. Даже здесь открытый код не является догмой:
можно сделать открытую надстройку над закрытыми модулями (что и приходится делать, если эти модули, скажем, полуаппаратные).
Таким образом, судя по всему, открытый софт оказался в ситуации, традиционной для сообщества прикладных математиков: поставлена некорректная задача, и требуется ее переставить как корректную.
И. А. Хахаев Санкт-Петербург, Санкт-Петербургский торгово-экономический институт Рассматриваются варианты организации видеоконференций при обучении с помощью LMS Moodle с использованием только свободного ПО. Обсуждаются результаты экспериментов с различными вариантами видеоконференций в локальной сети.
Система дистанционного обучения (Learning Management System, LMS) Moodle имеет богатые коммуникационные возможности для обеспечения живого взаимодействия преподавателя с обучаемыми.
Основными модулями являются форум и чат. Однако при наличии достаточно широкополосных каналов связи, а также при необходимости обращения преподавателя ко всей аудитории сразу целесообразно использовать технологию вебинаров, т.е. видеоконференций.
Видеоконференция потенциально может быть реализована как с использованием модулей LMS Moodle, так и с помощью внешних по отношению к Moodle сервисов. Интерес представляют варианты с количеством участников больше 2-х (т.н. многоточечные видеоконференции).
Среди многочисленных модулей Moodle имеется несколько средств для организации видеоконференций модули Covcell audio/video conference, OpenMeetings и WebClass. Они используют сервер потокового видео Red5, написанный на Java.
Кроме того, имеются модули для интеграции с внешними службами видеоконференций модули Sclipo Live Web Class, DimDim module и Skype module, однако принадлежность этих служб к СПО (особенно в случае Skype) вызывает сомнения (а DimDim имеет ограничения по количеству участников при бесплатном использовании).
И наконец, теоретически имеется модуль для интеграции Moodle с программной АТС (PBX) Asterisk. Однако этот модуль, судя по всему, заброшен и не поддерживается (с помощью Google удалось найти только японскую версию на sourceforge.jp).
Для организации видеоконференций как таковых имеется отдельный свободный проект OpenMCU (возможны сборки под названием OpenH323 ).
Эксперименты проводились в локальной сети с использованием сервера на Debian 5.0 и клиентов c ALT Linux branch 4.1, оснащённых веб-камерами, микрофонами и аудиосистемами (колонки, наушники, встроенные динамики). При этом внешние службы видеоконференций (Sclipo, DimDim, Skype) не использовались.
На сервере был развёрнут Moodle 1.9, сервер Red5, Asterisk и OpenMCU. Сразу проявились ошибки в скрипте запуска Red5, поэтому в ходе экспериментов он запускался вручную.
Модуль Covcell audio/video conference в настоящее время не поддерживается, в имеющейся версии не работает функция Whiteboard.
В целом эксперименты с использованием модулей Moodle, работающих с Red5, показали, что для многоточечных видеоконференций при количестве камер от 3-х и более наблюдается существенное (от сек. и более) замедление в передаче изображений. Скорее всего, эффект связан с особенностями реализации сервера Red5.
Также проводились эксперименты с использованием Asterisk и OpenMCU с клиентами Ekiga параллельно с Moodle (хотя ничто не мешает использовать эти сервисы сами по себе). Настройка сервисов для описываемой задачи не представляет особой сложности, для этого достаточно имеющейся в Сети скудной русскоязычной документации.
Ekiga был выбран потому, что в ALT Linux это единственный софтфон, поддерживающий передачу видео.
Ekiga с Asterisk позволяют прекрасно реализовать все возможности VoIP и видеозвонков, но количество участников конференции ограничивается одной парой.
Таким образом, для решения поставленной задачи ( многоточечной видеоконференции) в локальной сети остаётся только возможность использования OpenMCU.
И. В. Парамонов, А. М. Васильев Ярославль, Ярославский государственный университет им. П. Г. Демидова Опыт организации кроссплатформенной образовательной среды для обучения студентов В докладе описывается смешанная среда обучения, подразумевающая одновременное использование операционных систем GNU/Linux и MS Windows в рамках одних и тех же учебных курсов. Изложен опыт организации такой среды, указаны проблемы, которые возникли при её создании и эксплуатации, рассмотрены некоторые результаты.
В процессе модернизации учебных курсов на факультете информатики и вычислительной техники Ярославского государственного университета было принято решение о применении свободного программного обеспечения в образовательном процессе.
Помимо внедрения учебных курсов, посвящённых использованию и администрированию ОС GNU/Linux, был предпринят эксперимент по погружению традиционных курсов по программированию в смешанную среду, в которой одновременно использовались различные ОС. В числе затронутых преобразованиями дисциплин оказались программирование на языках C, C++, разработка приложений с графическим интерфейсом (I–II курсы), использование языка программирования Java и технологий Java Enterprise Edition (IV курс).
Организация кросс-платформенной среды предполагает, что студенты могут переходить из класса в класс, компилировать и запускать одни и те же проекты как под Windows, так и под Linux. Для обеспечения этого им предлагается использовать кросс-платформенные средства разработки: компилятор GCC (под Windows его порт MinGW) и фреймворк Qt. В качестве интегрированных сред разработки предлагаются Eclipse и NetBeans. Обе среды имеют свои преимущества и недостатки, как методического, так и технического характера. Ниже перечислены некоторые проблемы, с которыми мы столкнулись при их использовании.
• Основная методическая проблема Eclipse сложность понятия рабочего пространства (workspace) для студентов. Среда устроена таким образом, что невозможно обойти необходимость импорта и экспорта проектов в IDE при переносе их между рабочими станциями. Дополнительная трудность возникает в связи с необходимостью ручного создания профилей компиляции и запуска. Всё это увеличивает издержки, отвлекая студентов младших курсов от собственно освоения учебных дисциплин. Отметим, что для NetBeans подобных проблем не существует.
• При организации смешанной среды изначально предполагалось использовать единое рабочее пространство IDE Eclipse. Это рабочее пространство должно было размещаться в личном каталоге студента на файловом сервере и быть доступным ему из любых компьютерных классов вне зависимости от установленной ОС. К сожалению, реализация данной концепции столкнулась с серьёзными трудностями. Оказалось, что плагин CDT, предназначенный для разработки приложений на С/С++, не информирует пользователя о неправильных настройках инструментов сборки проекта (toolchain), что приводит к появлению множества непонятных для студентов ошибок при открытии и сборке проекта, созданного под другой платформой. При смене платформы трудности возникают и при использовании Qt-плагина (одна из них связана с тем, что этот плагин хранит специфические для платформы пути к библиотекам и инструментам непосредственно в workspace).
• Чтобы обойти указанные выше проблемы, было решено создавать временное рабочее пространство каждый раз при входе в систему. Проекты в этом случае хранятся на файловом сервере, а в начале и при окончании работы студентам приходится выполнять процедуры импорта и экспорта проекта во временное рабочее пространство. Для того, чтобы упростить выполнение указанных операций для студентов было написано соответствующее руководство. Однако, данное решение является существенянваря но менее удобным, чем то, которое планировалось реализовать • Eclipse не содержит свободного редактора UI приемлемого качества, а конфигурирование среды для работы с платформой Java EE и сторонними библиотеками (например, JUnit) крайне нетривиально даже для студентов старших курсов.
• Основным недостатком IDE NetBeans являются высокие требования к компьютерным ресурсам. Это затрудняет её полноценное использование на частично устаревших компьютерах университета. В качестве компромисса на таких машинах было решено использовать NetBeans только для разработки приложений на языках С и С++.
• Первоначально использование IDE NetBeans было ограничено ввиду отсутствия в ней поддержки фреймворка Qt. Данная проблема решилась летом 2009 г. вместе с выпуском новой версии NetBeans 6.7 с полноценной поддержкой данного фреймворка. Проведённое тестирование обнаружило, что открытие C/C++/Qt-проекта на другой платформе не приводит к существенным проблемам.
Проведение занятий в смешанной среде показало, что студенты достаточно легко воспринимают смену операционной системы. IDE Eclipse на начальном этапе освоения вызывает проблемы (многие из которых, впрочем, вызваны невнимательным чтением руководства), однако, на последующих этапах среда перестаёт вызывать трудности и успешно используется студентами несмотря на необходимость выполнения процедур импорта/экспорта и изменения toolchain’а при смене платформы.
Несмотря на это, мы едва ли можем рекомендовать Eclipse в качестве среды разработки для обучения студентов младших курсов, а для смешанной среды она представляется практически непригодной.
IDE NetBeans великолепно проявляет себя в ходе занятий по Javaтехнологиям студенты не испытывают ни малейших проблем при её использовании на любой платформе, а также при переходе от одной платформы к другой. В связи с этим есть надежда, что использование NetBeans в качестве среды разработки на языках C/C++ (в том числе с использованием библиотеки Qt) даст лучшие результаты, чем применение Eclipse.
С. Э. Грегер Нижний Тагил, Нижнетагильский технологический институт. Уральский государственный технический университет им. первого Президента России Б. Н. Ельцина Пакет компонентов обеспечения информационной поддержки образовательного процесса для учебного Включение компонентов e-learning в состав портала дает ряд преимуществ по сравнению со специализированными (интегральными) LMS. Такое решение позволяет позиционировать систему электронного обучения как часть корпоративной системы и использовать все возможности портала для решения задач электронного обучения. Plone является одной из самых известных Open Source систем построения порталов Для Plone созданы, разрабатываются или модифицируются различные модули расширения, предназначенных для решения самых разнообразных задач как общего, так и специализированного характера, в том числе и в области образования. К сожалению существующие образовательные компоненты Plone построены с учетом организации процесса обучения специфичного для европейского и американского образования. В докладе представлено описание комплекта средств разработки (SDK) для поддержки электронного обучения в составе портала на основе CMS Plone, поддерживающих российскую специфику организации обучения. Представленные компоненты предназначены для создания электронных учебных курсов, формирование учебных групп, а также экспорта-импорта содержимого портала. Совместное использование представленных и стандартных компонентов Plone позволяет решать различные проблемы в области электронного обучения.
система управления содержимым сайта (CMS), позвоPlone ляющая строить на ее основе сайты самых различных типов от простых сайтов-визиток до корпоративных порталов. Plone является свободным программным обеспечением и имеет лицензию GPL.
Расширение возможностей Zope и Plone производится через подключение дополнительных модулей так называемых продуктов.
В результате появляется появление возможности включать в состав портала нового типа данных (контент-тип).
К сожалению существующие образовательные компоненты Plone построены с учетом организации процесса обучения специфичного для европейского и американского образования. Большинство этих компонентов не локализованы для использования в России и не предназначены для использования с актуальной в настоящее время версией Plone 3.XX. Указанные обстоятельства явились причиной разработки комплекта программных компонентов для поддержки электронного обучения E-learning SDK.
Комплект состоит из трех пакетов, каждый из которых предназначен для решения определённого круга задач. На рисунке (рис. 1) представлена общая UML-диаграмма классов SDK.
Рис. 1: Общая UML-диаграмма классов SDK Пакет LearnPackage включает контент-типы, предназначенные для создание структуры учебных курсов, хранения электронных учебных объектов и организации различных стратегий обучения. Пакет включает в себя:
Контент-тип Standard (Стандарт) хранит набор метаданных, регламентируемых требованиями Государственного стандарта по определенной специальности продолжительность обучения, входные и выходные компетенции, список дисциплин специальности. Отслеживает соответствие набора учебных дисциплин, представленных в портале списку дисциплин стандарта, предоставляет пользовательский интерфейс управления, формирует отчеты по устанавливаемым шаблонам.
Контент-тип Discipline (Учебная дисциплина) предназначен для хранения информации об учебной дисциплине, ее характеристиках, определяемых государственным стандартом.
Контент-тип LearnCurse (Учебный курс) обеспечивает вариативность учебных курсов, определяемую наличием различных целевых групп обучающихся, информационным содержанием курсов, их продолжительностью и временем проведения обучения по данному курсу. Фиксирует набор входных и выходных компетентностей слушателей курса.
Контент-тип Tema (Учебная тема) предназначен для построения иерархической структуры учебного курса, хранения информации о целях предъявленной темы, о наборах входных и выходных компетенций, продолжительности темы в составе курса. Является контейнером для учебных объектов.
Контент-тип LearnObject (Учебный объект) является хранилищем для учебного контента или ссылкой на внешний ресурс. Такая возможность позволяет выделить весь учебный контент в отдельные репозитарии, предоставив его для совместного использования в различных курсах.
Пакет StructurePackage включает контент-типы, обеспечивающие построение организационной структуры ВУЗа, факультета, курса, учебных групп, а также структуру обеспечения внеучебной деятельности секции, объединений и т.п. Позволяет проводить мониторинг учебной деятельности и распределение учебной нагрузки между преподавателями. Контент-типы LearnGroup (Учебная группа) и Community (Объединение) предназначены для образования организационной структуры. Контент-тип LearnGroup хранит ссылки на учебные курсы, определенные для учебной группы, формирует отчет о выполнении учебных заданий студентами, входящими в состав группы. Контент-типы Teacher (Преподаватель) и Student (Студент) предназначены для хранения различных данных о персоналиях, как общих данных, определяемых свойствами контент-типа Person, так и специальных, определяемых дополнительно. Структура портала определяется администратором портала через объект типа LearnManager (Учебный администратор).
Пакет Import_Export обеспечивает возможность взаимодействия с внешними, по отношению к порталу, системами. Контенттип WebList, позволяет создавать различные справочники в составе портала. Контент-тип CSVFile служит для включения в состав портала файлов в формате csv, предназначенных в частности, для автоматического создания массивов объектов различных контент-типов. Контент-тип ScormTransport в настоящее время не реализован, предполагается что в его функции будет входитить импорт-экспорт учебных курсов в стандарте SCORM. Контент-тип ListManager предназначен для выполнения различных операций импорта-экспорта массивов экземпляров различных контент-тпов.
Представляется, что совместное использование представленных компонентов и стандартных компонентов Plone позволяет решать разнообразные задачи в сфере электронного обучения. В настоящее время проводятся исследования по разработке методики такого применения.
С. Э. Грегер Нижний Тагил, Нижнетагильский технологический институт. Уральский государственный технический университет им. первого Президента России Б. Н. Ельцина Опыт преподавания СПО при подготовке профессиональных программистов В докладе рассматриваются итоги продолжительного периода внедрения учебных курсов по изучению СПО. Делается вывод о целесообразности интегративного подхода к преподаванию, приводится модульная структура курсов, рассматриваются вопросы технического и методического обеспечения преподавания.
Шесть лет на кафедре информационных технологий нашего института было принято решение о разработке курса Web-дизайн для студентов специальностей Программное обеспечение вычислительной техники и автоматизированных систем и Информационные системы и технологии. Мною, как разработчиком этого курса, были выделены следующие ключевые моменты, определившие цели курса и его наполнение:
1. Действующий на тот момент (да и в настоящее время) стандарт подготовки по дисциплине Web-дизайн не соответствует реалиям ни с точки зрения научного содержания, ни с точки зрения практических навыков, приобретаемых студентами. Изучение только основ HTML, как это предписывается стандартом, явно не отвечало требованиям, предъявляемым к нашим выпускникам профессиональным программистам.
2. Необходимо было обеспечить изучение современных технологий разработки, позволяющих создавать не только простые статические и динамические сайты, но и приложения корпоративного типа, такие как порталы.
Стремление повысит конкурентоспособность выпускников на рынке труда сразу отодвигало в строну такие платформы как Net и Java в силу ограниченности времени и невостребованностью таких знаний в сфере малого и среднего бизнеса, где в основном трудятся наши выпускники. В итоге был сделан выбор в пользу изучения сервера приложений Zope и приложений с ним связанных.
Модульная система курсов Первый год чтения курса показал, что студенты испытывают сложности в изучении и связано это как с отсутствием учебных материалов на русском языке, так и с недостаточной практикой использования объектно-ориентированного подхода при разработке программного обеспечения. Оказалось, что концепции, используемые в Zope требуют пересмотра методики преподавания, отхода от парадигмы процедурного программирования и уделения большего внимания объектно-ориентированному программированию и проектированию. За недостатком места не буду описывать всю историю становлкеия а предъявлю лишь конечный результат.
Сейчас я читаю три отдельных курса, связанных в единое целое концептуально и технологически. Это:
1. Объектно-ориентированый язык программирования Python.
Курс состоит из двух модулей. В первом модуле рассматриваются основы языка. При изучении модуля постоянно подчеркивается объектно-ориентированный характер языка, приводятся примеры использования такого подхода. Второй модуль посвящен вопросам создания графического интерфейса пользователя на основе библиотеки wxPython, работе с базами данных, обработке текста.
2. Разработка web-приложений в среде CMS Django. Дается представление о системах разработки web-приложений, ориентированных на использование реляционных баз данных. Формируется представление о CMS, о их назначении, функционировании.
3. Разработка web-приложений с использованием сервера приложений Zope и CMS Plone. Рассматривается компонентный подход разработки приложений, использование объектной базы.
Разрабатываются простые портальные решения на базе Plone.
4. Объектно-ориентированное проектирование информационных систем. Вопросы абстрактного проектирования на языке UML расссматриваются в контексте разработки информационных систем на основе Plone/ Хотя формально это независимые курсы, в реальности они сильно связаны между собой. Так, например, при выполнение курсовых работ по курсу проектирования ИС в большинстве случаев в качестве системы реализации выбираются Zope и Plone. Такой подход позволяет формировать у студентов единый комплекс компетенций, не разделять знания и умения по отдельным дисциплинам. Это обстоятельство привело к изменениям техники проведения лекционных и практических занятий. При проведении лекций часто используются примеры из других курсов, выявляется концептуальная общность терминологически разных понятий, подчеркивается необходимость системного подхода к решению поставленных задач.
Учебно-методическое обеспечение курсов В течении почти шести лет преподавания был создан большой объем учебно-методического обеспечения. Кроме комплектов лекций в форме презентаций Power Point созданы:
• Учебный электронный курс Язык программирования Python ;
• Учебный электронный курс Использование сервера приложений Zope.
Опубликованы:
• Методическое указания Web-сервер приложений Zope. Разработка динамических сайтов. Методические указания к изучению курса „Web-дизайн“ ;
• Методическое указание Web-сервер приложений Zope. Установка и интерфейс. Методические указания к изучению курса „Webдизайн“ ;
• Сервер приложений Zope. Учебное пособие для вузов (гриф УМО по политехническому образованию);
• Администрирование и интерфейс пользователя CMS Plone (монография).
Техническое обеспечение обучения Технологические трудности были обусловлены проблемами установки программного обеспечения в среде Windows, используемого в ученых классах института и с корпоративной политикой безопасности, используемой нашим вычислительным центром. В результате, в настоящее время все учебные курсы, связанные с СПО, проводятся с использованием специально скомплектованной виртуальной машины.
Поскольку, к сожалению, студенты не имеют практики использования операционных систем на базе Linux, виртуальная машина работает на основе Windows XP. В системе установлены:
• Интерпретатор языка Python • Пакет wxPython • Пакет SqlAlchemy • CMS Plone • Редактор UML ArgoUML • Генератор классов ArchgenXML Такой состав программного обеспечения используется как при обучении по представленным курсам, так и при выполнении курсовых работ и дипломных проектов.
Е. А. Чичкарев Мариуполь, Украина, Приазовский государственный технический университет http://www.pstu.edu Разработка и использование расширений OpenOce для работы с системами компьютерной математики Представлен краткий обзор современных вариантов организации графических и web-интерфейсов для систем компьютерной математики. Показаны возможности и ограничения взаимодействия Maxima и SciPy со средой OpenOce. Представлены результаты разработки учебной документации и лабораторного практикума с использованием расширений OpenOce для взаимодействия с системами компьютерной математики.
В настоящее время в Linux-системах существует значительное число математических и вычислительных программ различного назначения и уровня сложности. Большинство из них являются интерпретаторами того или иного входного языка. Отдельные пакеты включают собственный графический интерфейс пользователя и средства отладки и разработки (Scilab), но для большинства пакетов (Maxima, Axiom, Gap, Octave, R и т.п.) графический интерфейс и средства разработки создаются отдельно, причем в нескольких версиях.
При решении реальных задач научного или технического характера с использованием компьютерного моделирования наиболее сложными и трудоемкими стадиями являются постановка задачи, выбор и анализ вычислительного алгоритма, не требующие графического интерфейса.
Однако при организации лабораторного или вычислительного практикума в учебных заведениях работа исключительно в терминале или простом текстовом редакторе вызывает серьезные затруднения.
Студенты делают вывод, что в данной сфере совершенно нет никаких ресурсов: ни денег, ни современных специалистов, поэтому изучать предметы, связанные с компьютерным моделированием и вычислениями, нет никакого смысла; никакая красивая теория их не убедит в обратном (причем они отчасти правы: вычислительная математика и компьютерное моделирование используются обществом только вместе с реализующими их программами).
Учитывая наличие проприетарных программ с хорошо проработанным графическим интерфейсом, наличием локализованной помощи, подсказок, примеров, организация учебного процесса на базе программного обеспечения с открытым кодом встречает серьезные трудности.
Отчасти принципы разработки интерфейса и технологии работы с математическим ПО связана с технологией подготовки конечных документов.
Для большинства указанных систем компьютерной математики или специализированных пакетов существует Emacs-интерфейс (несколько вариантов для Maxima, octave-mode и т. п.). Учитывая возможность вывода графических иллюстраций в eps-файлы, включенная в большинство пакетов, естественная технология подготовки окончательных документов с использованием Emacs использование Latex с экспортом содержимого буферов, содержащих результаты расчетов, в отдельные файлы, легко включаемые в проект конечного документа. Достоинством работы с использованием Emacs в качестве интерфейса является возможность интерактивного режима работы с вычислительными пакетами, при котором сохраняется состояние рабочего пространства при передаче ему очередной команды.
Альтернативным вариантом является использование в качестве графического интерфейса пользователя редактора Texmacs, позволяющего включать в конечный документ командные файлы, допускающие повторное выполнение, и результаты расчетов. Однако специфичная локализация и сложность экспорта документов в какой-либо другой формат делает Texmacs вещью в себе, которая реально может использоваться лишь для подготовки небольших документов в pdf-формате.
Вероятно, наиболее завершенной оболочкой системы компьютерной алгебры, позволяющей решать широкий круг задач, и готовой к широкому использованию, является пакет wxmaxima, позволяющий работать с документами, включающими комментарии, блоки кода, графики. Присутствует также возможность экспорта в формат tex или html.
Существует также несколько превосходных оболочек для работы с R (rkward, Rcmdr), обеспечивающих экспорт результатов в txt или html.
Кроме того, для работы с open-source вычислительными пакетами используются и различные варианты клиент-серверных технологий (в первую очередь sage) с доступом пользователей к вычислительному ядру того или иного пакета через web-интерфейс. В этом случае на клиентской стороне необходим лишь интернет-броузер (обычно с поддержкой JavaScript), а вся вычислительная работа выполняется на серверной стороне. При этом результаты работы сохраняются в html-файле.
Однако студенты для подготовки конечной документации используется преимущественно OpenOce, поэтому несомненный интерес представляет непосредственный экспорт результатов расчетов в данный пакет.
Учитывая возможность разработки расширений OpenOce на python, естественным решением для разработки плагина, позволяющего импортировать результаты расчетов в документам, является не Octave или SciLab, а пакет SciPy, обеспечивающий практически ту же функциональность, но реализованный на python. Командные файлы Scipy в виде текста копируются из документа OpenOce, интрпретируются python, а возвращаемые текстовые результаты вставляются в документ.
Взаимодействие с maxima организовано по классической схеме (посредством сокетов). Текстовые строки передаются maxima без дополнительного редактирования, результаты расчётов размещаются в документе без дополнительного редактирования.
Как показало опробование организации доступа к вычислительным пакетам из Oowriter, данное решение является вполне работоспособным, и может быть использовано для курсового и дипломного проектирования.
Для работы с основными командами пакетов разработаны элементы графического интерфейса.
Аналогичный подход может быть использован и для работы с Octave, Axiom и т. п.
Е. Р. Алексеев, И. Шевченко Донецк, Украина, Донецкий национальный технический университет www.teacher.ucoz.net Выбор свободно распространяемого программного обеспечения для учебного процесса (на примере Представлен сравнительный анализ современных специализированных образовательных дистрибутивов Linux.
При переходе на свободно распространяемое программное обеспечение в вузах СНГ одной из наиболее важных проблем является проблема выбора ПО. При этом приходится решать две задачи:
1. Выбрать дистрибутив свободной операционной системы семейства Linux.
2. Подобрать свободное программное обеспечение для ОС Windows.
При выборе дистрибутива в университете желательно, чтобы один и тот же дистрибутив подходил и для организации учебного процесса, и для проведения научных исследований. Кроме того, при выборе дистрибутива следует учитывать, что в университетах эксплуатируется большое количество старых и довольно старых компьютеров.
На кафедре Вычислительная математика и программирование Донецкого национального технического университета есть компьютерный класс свободного программного обеспечения. В этом классе проводят занятия с преподавателями и сотрудниками в рамках курса Использование свободного программного обеспечения в учебном процессе, а также занятия со студентами по теме Свободное программное обеспечение в рамках курса Введение в информатику. Стояла проблема выбора дистрибутива для установки на довольно слабые компьютеры (Celeron 600 Мгц, ОЗУ 512 МБ, жёсткий диск 10-40 Гб). Такая конфигурация компьютеров является типичной для образовательных учреждений Украины. Кроме указанных выше требований, рекомендуемый дистрибутив должен: быть русско(украино)язычным, обеспечивать работу с необходимыми в учебном процессе приложениями (современные версии OpenOce, Gimp, web-браузеров, почтовых программ, gcc, fpc, geany, lazarus, maxima, scilab), а также должен хорошо работать на более современных компьютерах (на стационарных компьютерах и ноутбуках студентов и преподавателей). Рассматривались следующие дистрибутивы Linux:
• GOS (http://www.thinkgos.com/gos/) на основе Ubuntu Linux • Ubuntu 9.10 (www.ubuntu.ru);
• Ubuntu 9.10, версия UA Linux (http://ualinux.com);
• Runtu Oce (http://runtu.org/runtu-office/runtu-office.
• Linux Mint 5 XFCE, Linux Mint 5 FluxBox (www.linuxmint.com);
• EduMandriva 2010 (www.edumandriva.ru);
• Debian 5.03 (www.debian.org);
• дистрибутив на базе Debian SkoleLinux (http://www.slx.no/en/ downloads);
• Альт Линукс 5.0 Школьный Лёгкий (http://altlinux.org/Альт_Линукс_Школьный).
С учетом особенностей использования старых ПК для учебного процесса на кафедре были рекомендованы дистрибутивы Debian 5.03 или Альт Линукс 5.0 Школьный Лёгкий. На более мощных компьютерах (процессор от 1 Ггц, ОЗУ > 512 Мб) в ДонНТУ рекомендовано использовать Debian, Ubuntu или Mint.
Набор свободного программного обеспечения для каждого подразделения университета свой. Для решения проблемы выбора свободного программного обеспечения был разработан сайт Свободное программное обеспечение в университете, на котором представлены описания многих свободных программ, а также ссылки на страницы загрузки программ. Кроме того, собран набор portable-версий свободно распространяемых приложений для вуза на базе оболочки RocketDoc.
Среди проблем, которые предстоит решать при дальнейшем внедрении свободного ПО в университетах, следует выделить следующие:
1. Недостаточное количество учебно-методической литературы.
Может быть, ALT Linux следует от издания литературы, посвященной дистрибутивам ALT Linux, перейти к изданию литературы, посвященной свободному программному обеспечению и основать специализированное издательство. Наличие документации в Интернете не решает проблему учебно-методической литературы.
2. Отсутствие кафедр, специализирующихся на свободном ПО, в университетах СНГ. Пора всерьёз задуматься об организации кафедры свободного программного обеспечения в одном из университетов СНГ.
3. Инертность мышления преподавателей IT-дисциплин.
В. Г. Слугин ФГОУ СПО Нижегородский Радиотехнический Колледж Проект: cunewebform, elkartoteka, sadko http://fireforge.net/projects/cunewebform/, http://fireforge.net/projects/elkartoteka/, http://fireforge.net/projects/sadko/ Внедрение, использование и сопровождение СПО в учебном заведении на примере ФГОУ СПО Сейчас широко обсуждается вопрос перехода учебных заведений на свободное программное обеспечения. Говорят о технических возможностях, аналогах программ используемых в учебном процессе, совместимости с уже имеющимся оборудованием. Но, как показывает опыт Нижегородского Радиотехнического Колледжа, это важные но не основные вопросы, возникающие при переводе учебного заведения на свободное ПО.
Гораздо более важным оказался вопрос взаимодействия с государственными структурами и министерствами, управляющими учебными заведениями, такими как РАНО, Министерство Образования и органами, действующие по их указанию. Зачастую они слабо представляют что такое свободное программное обеспечение и лишь в редких случаях заботятся о совместимости присылаемых ими материалов и программного обеспечения со свободными операционными системами и свободными офисными пакетами.
Мы рассмотрим способы решения всех этих вопросов на примере перехода Нижегородского Радиотехнического Колледжа на использование свободного программного обеспечения как в учебном процессе, так и в работе подразделений и администрации.
Причины перехода Зачастую это высокая стоимость коммерческого ПО. Но даже при наличии некоторого бюджета на покупку программного обеспечения вы сталкиваетесь с рядом других проблем, а именно:
• Запутанность ценовой политики компаний-производителей и их дистрибъютеров;
• Сложности с использованием копий ПО студентами на домашних ПК;
• Сложности с лицензированием дипломных и курсовых проектов студентов, созданных с использованием коммерческого ПО.
К тому же не стоит забывать о быстром моральном старении коммерческого по и стремлении производителя подтолкнуть покупателя к обновлению, а следовательно и покупки новых версий своего продукта.
Если ко всему этому добавить широкое распространение вирусов на коммерческих платформах выгода от использования свободного программного обеспечения и свободных платформ становится вполне ощутимой.
Преимущества, полученные от перевода НРТК на свободное программное обеспечение В ходе перевода компьютерных классов, используемых в учебном процессе, и компьютеров сотрудников колледжа практически полностью удалось избавиться от угрозы вирусной атаки как на локальные компьютеры так и компьютерную сеть колледжа.
В учебном процессе используются различные операционные системы. За счет использования свободного программного обеспечения на серверах колледжа удалось создать интегрированную систему централизованной аутентификации и хранения данных пользователей на сервере. При этом, система работает абсолютно прозрачно, вне зависимости от загруженной на клиентском компьютере операционной системы. Студенты имею возможность использовать любой компьютер в колледже, загружаясь в любую нужную в данный момент операционную систему и входя под своим логином и паролем, получать доступ к своим файлам в их домашней директории, хранимой на сервере.
Широкое использование свободного программного обеспечения в учебном процессе дает возможность обеспечить студентов необходимым программным обеспечением на легальных основаниях. Раздавая LiveCD с необходимым набором ПО для выполнения домашних заданий нет необходимости контролировать дальнейшее распространения дисков.
Использование открытого формата ODF для работы с документами различного типа дает более широкие возможности по формированию необходимых документов из On-Line систем, используемых в колледже. А так же, дает возможность автоматической обработки присылаемых студентами работ.
Характерные вопросы при переходе на свободное программное обеспечение На первоначальном этапе был проведен анализ используемого программного обеспечения и подобраны аналоги из свободных программ для обеспечения учебного процесса. Были заменены наиболее дорогие продукты такие как P-Cad, ElectronicWorkbanch, SpiderProject, Visio, MS VisualStudio, Dreamwaver, MS Sharepoint.
При внедрении была проведена большая работа по подключению а настройке различного периферийного оборудования. Различные типы сканеров и принтеров. Часть из них оказалась не совместима. Полученный опыт был использован при замене старого оборудования.
При покупке нового оборудования обязательно производится предварительная проверка на совместимость со свободными платформами и программным обеспечением. Это дало возможность более легкой миграции оборудования по классам и подразделениям и уменьшило время настройки систем при плановом обновлении программного обеспечения.
Сложности, возникающие в процессе перехода и использования СПО в учебном заведении На первоначальных этапах перехода на свободное программное обеспечение все сталкиваются с вопросом обучения сотрудников и преподавателей использованию нового ПО. Но этот процесс прохоянваря дит достаточно легко в виду близости функционала и внешнего вида свободных программ с используемыми ранее аналогами.
Более сложно обстоит ситуация при работе с органами управления учебными заведениями. ФАО ведет переписку с учебными заведениями исключительно в форматах doc и xls, а в последнее время приходят документы и в форматах docx.
Многие on-line системы сбора данных об учебных заведениях ориентированы на работу лишь с web-браузером Internet Explorer и не выполняющие свои функции корректно в других.
Программное обеспечение присылаемое из РАНО по сбору данных для проведения ЕГЭ ориентировано исключительно на проприетарную платформу. Не смотря на то, что ранние версии этих программ работали в среде Wine, новые версии перестали корректно выполнять свои функции в этой среде. К тому же для правильного формирования отчетов требуется MS Oce определенной версии.
Все эти сложности усугубляются обязательностью представления данных в сжатые сроки, санкциями в отношении учебного заведения при нарушениях сроков и отсутствия какой либо поддержки по данным продуктам при вопросах об их использовании в средах с набором свободного программного обеспечения.
Ю. Азовцев Нижний Новгород, Нижегородский РадиоТехнический Колледж Проект: перевод книги Blender Basics 3-е издание http://b3d.mezon.ru/index.php/Blender_Basics_3-rd_edition 3D-моделирование и анимация в Blender для школ и Основным сдерживающим фактором в широком использовании Blender в курсе Компьютерная Графика в школах и ВУЗах являлась отсутствие методического материала на русском языке. В конце 2009 года был завершен перевод книги Джеймса Кронистера Blender Basics 3-е издание, которая является готовым методическим материалов рассчитанным на 40 часовой курс с планом по 2 академических часа на каждую тему (главу), включая практическое занятие. Книга распространяется абсолютно свободно для использования в учебном процессе.
Развитие пространственного мышления является одной из наиболее важных вещей в учебном процессе школы и ВУЗа. Это незаменимый навык как для студентов технических специальностей, так и для будущих архитекторов и художников. Раньше этим целям служили такие предметы как инженерная графика и черчение. С появлением компьютерной техники в курсах многих специальностей появился предмет компьютерная графика. Но на нем преподавали различные CAD системы продолжая строить плоские проекции объектов.
Но ни для кого не секрет что большинство школьников спят и видят себя авторами очередного Шрек 3 или крутой трехмерной игрушки. Почему бы не использовать этот уже существующий интерес для преподнесения нужного материала?
Blender относится к классу программ трехмерной визуализации и анимации. Программа позволяет создавать сразу трехмерные объекты, задавать им цвет. Создавать для каждого объекта свой материал и накладывать текстуру для придания вида стекла, камня или дерева (либо любого другого материала). Для анимирования персонажей Blender предлагает систему костей (арматура). В некоторых случаях удобно использовать физический движок, встроенный в Blender, для создания падающих объектов, дождя либо потока реки. Для архитекторов особенно удобным окажется возможность использования систем рендеринга с реальным просчетом падения и преломления лучей. Blender поддерживает порядка 8 рендеров, включая свободные Yaf(a)Ray, бесплатный LuxRender и, хоть и коммерческий, но всемирно признанный V-Ray. Так же. В Blender вы сможете сделать полный цикл создания анимации. Начав с создания модели, текстурировав и анимировав ее вы сможете наложить титры, эффекты и переходы на уже готовый видеофайл во встроенном в Blender видеоредакторе.
Blender, являясь свободным программным продуктом, позволяет проводить учебный процесс без ограничения доступа учащихся к среде моделирования ни дома ни в учебном заведении. Вы сможете обеспечить всех студентов необходимым количеством копий программы, при этом, давая им полную свободу в выборе операционной системы для работы с ней. Blender прекрасно работает в Linux, MacOSX и Windows. При этом интерфейс и функциональность программы абсолютно одинаковы во всех операционных системах.
Но при всех прелестях Blender до начала этого года у него был один значительный сдерживающий фактор перед широким использованием в учебном процессе школы и ВУЗа это крайне малое количеянваря ство документации и методического материала на русском языке. Для решения этой проблемы русскоязычным сообществом Blender был начат проект по переводу книги Blender Basics на русский язык. Эта книга была написана Джеймсом Кронистером (James Cronister) как методическое сопровождение к курсу трехмерного моделирования и анимации, который он ведет в Central Dauphill High School. Книга представляет собой готовую методическую разработку по курсу 3D моделирования. Каждая глава рассчитана на один либо два академических часа. Содержит теоретическую и практическую часть. При этом, объем теоретической части подобран очень сбалансировано, позволяет выполнить практику и не перегружает излишними подробностями. Перевод книги распространяется свободно и доступен как в web-варианте на сайте b3d.mezon.ru, так и в PDF версии, подготовленной для печати на бумагу (http://b3d.mezon.ru/index.php/ Blender_Basics_3-rd_edition). Лицензия позволяет изготавливать любое количество копий, как на бумаге так и электронных для использования в учебных целях.
Возможности Blender, свободные условия распространения программы и наличие методического материала в виде книги Blender Basics 3-е издание делают эту среду 3D-моделирования просто незаменимым инструментом преподавания компьютерной графики школьникам и студентам.
Д. А. Костюк Брест, Брестский государственный технический университет Изучение низкоуровневого программирования и вычислительной архитектуры на базе платформы Рассмотрены преимущества обучения студентов низкоуровневому системному программированию и архитектуре ЭВМ в ОС GNU/Linux.
Проанализированы сложности, связанные с отличиями платформы, выбор программного обеспечения, доступных информационных источников. Оценены результаты включения в учебный процесс.
Изучение языка машинных команд важно для студентов специальностей информатики и радиоэлектроники с двух позиций. Во-первых, Рис. 1: Динамика использования ассемблера: число активных проектов и их доля от общего количества (по данным http://ohloh.net) ассемблер актуален при разработке драйверов и другого аппаратнозависимого кода, трансляторов, оптимизации критических секций, а во-вторых играет важную образовательную роль. Без машинных команд невозможно освоить устройство и принцип работы вычислительной техники. Пробелы в данной области служат источником неоптимального и уязвимого кода, приводят к заведомо неверным архитектурным решениям.
Можно выделить две объективные проблемы в изучении ассемблера. Во-первых, рост числа актуальных программных технологий и языков не позволяет уделять ему значительный процент учебной нагрузки. Во-вторых, крайне архаична базовая платформа DOS, массово используемая для его изучения уложить из-за невозможности курс низкоуровневого программирования под Windows в отведенное число часов.
Программирование на ассемблере нельзя назвать характерным для Linux, но как платформа для его изучения эта ОС идеальное решение. Она проста в освоении для системных программистов, предоставляет доступ к исходным кодам, демонстрирует неуклонный рост в ряде сегментов рынка.
С точки зрения ассемблера Linux характеризуется строго унифицированным интерфейсом системных вызовов, одинаковым для всех функций ядра (в отличие от зоопарка функций DOS). Упрощает освоение материала и то, что язык С знаком студентам к моменту изучения ассемблера (что закреплено белорусскими образовательными стандартами для технических вузов). Студенты обнаруживают многочисленные аналогии системных вызовов с функциями С и консольными командами.
В углубленном курсе различия аппаратных архитектур вносят некоторые сложности. Прикладной процесс не имеет полного доступа к аппаратным ресурсам, что не позволяет писать простые учебные программы в стиле DOS, взаимодействующие с устройствами на уровне портов ввода/вывода. Для освоения привилегированных инструкций студенту необходимо научиться создавать модули ядра в первую очередь драйвера (учитывая востребованность подобной квалификации, это скорее плюс). В целом написание драйверов для Linux несложная задача, а среди доступных руководств можно встретить даже ориентированные на использование чистого ассемблера [1].
Linux позволяет работать с устройствами на нескольких уровнях абстракции, которые могут быть основой для сокращенных курсов архитектуры ЭВМ например, доступ к пространству портов ввода/вывода через /dev/port.
При апробации начального практикума нами использован терминальный Linux-сервер. Однако при низкоуровневом программировании устройств этот вариант неприемлем, т.к. студенты нуждаются в правах root и в возможности регулярно обрушивать систему. Решение на базе виртуализации показало некоторые отличия от поведения программ на реальных устройствах (из-за особенностей QEMU и его производных). Разумной альтернативой рабочим станциям с общедоступным root-акаунтом представляется использование специализированного LiveCD-подобного дистрибутива.
Следует также отметить сложности, связанные с фрагментарностью и разрозненностью технической документации. Преподавательский состав нуждается в более подробных источниках, чем предлагаемые студентам методические материалы; кроме того, не все свободно владеют английским языком. Можно отметить качественные переводные руководства по ряду утилит GNU (make [2] и особенно gdb [3]), транслятору nasm [4], более привычному преподавательскому составу, чем GNU assembler, русскоязычное руководство [5], отвечающее тематике учебного курса, но не вполне применимое изза выбора синтаксиса ATT. Из полезных информационных порталов можно назвать http://opennet.ru/docs и сайт программы СКИФ http://skif.bas-net.by/bsuir.
Однако, рассмотренные сложности не являются блокирующими, а апробация разработанных курсов показывает высокую усвояемость материала студентами и легкую адаптацию преподавательского состава.
Литература [1] Hyde R. Linux Device Drivers in Assembly Language. http://homepage.
mac.com/randyhyde/webster.cs.ucr.edu/LinuxAsm/index.html [2] Stallman R.M., McGrath R. GNU Make. Апрель 2000 г. http://linuxlib.
ru/prog/make_379_manual.html [3] Столмен Р., Пеш Р., Шебс С. и др. Отладка с помощью GDB. Март 2000 г. http://mitya.pp.ru/gdb/gdb_toc.html [4] Расширенный ассемблер: NASM. http://www.opennet.ru/docs/RUS/ nasm/ 06.02.2002.
[5] Ассемблер в Linux для программистов C: викиучебник.
http://ru.wikibooks.org/wiki/Ассемблер_в_Linux_для_программистов_C Г. В. Курячий, А. А. Панюкова Москва, ВМиК МГУ, ALT Linux http://uneex.ru/LecturesCMC Опыт преподавания курса Сопровожнение пакетов Волею судеб один из авторов доклада прочитал спецкурс по теме Сопровожнение пакетов в Linux, а другой принимал экзамен на факультете ВМиК МГУ. Несколько неожиданной оказалась профессионально-техническая готовность аудитории, и, как следствие, серьёзный потенциал для сообщества в лице студентов московского Университета.
Положение дел Вот уже десятый год на факультете Вычислительной Математики и Кибернетики МГУ читается кафедральный спецкурс на UNIXтематику. Каждый семестр курс новый (было всего два тематических повтора и один двухсеместровый курс). Последние несколько лет курсы базируются на ALT Linux / Sisyphus.
Помимо направленности на UNIX/Linux, курс имеет три специфические особенности, связанные с приёмом экзамена:
1. Экзамен проходит в виде беседы по всему материалу курса (обычно часа три). В беседе участвует один экзаменатор и трипять экзаменуемых.
2. При ответе на вопрос приветствуется аргументированное высказывание личных мнений, а также применение мыслительного аппарата. Применение любых информационных носителей, включая текст лекций, учебников, Google и мнение товарища, допускается (стоит иметь в виду, что при этом оценивается личный вклад экзаменуемого в собственный ответ, а в последнем случае вклад товарища).
3. В число экзаменаторов часто попадают студенты-старшекурсники из *NIX-сообщества, квалификация которых делает идею принимать экзамен у них бессмысленной. Чем бездумно ставить им автомат, лучше даать возможность получить дополнительный опыт и упорядочить понимание темы.
Кроме того, сам спецкурс совершенно факультативен: его можно прослушать, а потом не сдавать экзамена, или явиться, не сдать, и уйти, не испортив матрикула.
Умысел и деяние В осеннем семестре 2009 года была после аналитического обсуждения с аудиторией1 выбрана на первый взгляд довольно специфичная тема Package Maintaining.
Причины такого выбора:
1. Желание автора;
2. Отсутствие (кажется, полное!) подобных курсов в академической среде;
3. Практическая ценность темы;
4. Широкий и довольно выразительный спектр затрагиваемых областей ИТ.
Ожидаемые проблемы:
• Высокий уровень требований к профессиональным качествам слушателя;
• Узкий круг заинтересованных;
• Религиозные войны.
Для придания курсу разносторонности была прочитана отдельная лекция про GNU Debian.
План курса (действительный):
• Дистрибутив ОС на основе свободного ПО: принципы формирования;
• Пакет как составная часть дистрибутива: требования и особенности; понятие сборки пакета;
• Сборка пакета из исходных текстов; upstream; спецификация;
• Сопровождающий (maintainer) пакета;
• Изолированная среда сборки (введение);
• Лекция Александра Герасёва о пакетах в GNU Debian;
•
Работа с upstream, Составление спецификаций;
• Составление спецификаций II, Исправление upstream (заплатки), Помещение в хранилище, Обратная связь с upstream и сообщения об ошибках;
1 http://uneex.ru/LecturesCMC/PackageMaintaining2009/Conspects/ • Git, Gear и git.alt;
• Git (лекция А. Герасёва);
• Практика сборки пакета (Live show).
Интервью с очевидцем О том, как проходил экзамен, мы решили спросить –(прохожего)– Александру Панюкову, дважды участвовавшую в нём в качестве экзаменатора.
Первый экзамен Как вы оцениваете аудиторию?
На первый экзамен пришли студенты, у которых процесс линуксизации мозга уже начался: даже если опыт использования был не очень богатым на самом деле, мышление уже можно было назвать Linux-ориентированным: просматривался соответствующий ход мысли, построение причинно-следственных связей, было заметно понимание идеологии. Есть ли какие-то замечания по уровню профессиональной подготовки экзаменуемых?:: Все студенты в той или иной степени знакомы хотя бы с одной VCS и BS из своего опыта, т.е. эта тема не была для них новой в курсе. Однако, именно с git и/или Bugzilla, на примере которых рассказывалась тема, имели дело далеко не все.
Если курс инженерного плана, всегда есть опасность скатиться в перечисление инструментов и их возможностей. Как по-вашему, были ли в этом курсе основания для самостоятельного освоения предметной области?
На основании имеющегося материала, студенты довольно неплохо делают выводы о некоторых моментах, которые напрямую в лекциях не рассматривались (и при этом являются довольно специфическими, но могут быть додуманы с использованием здравого смысла).
Сейчас много говорят о растущей популярности Ubuntu. Отразилось ли это на знаниях пришедшиих на экзамен?
В основном собравшиеся студенты пользовались RPM-based дистрибутивами, как следствие имели о них более полное представление. Несмотря на одну лекцию про Debian, представления о предмете были существенно более размытые, чем про ALT-специфические и RPM-специфические части. Был один арчевод у него было представление об арче, но он скорее нерепрезентативен, так как один, у остальных же представление было такое: rpm довольно неплохо, deb сильно в общих чертах, остальное тёмный лес.
Было опасение, что информацию и инструментарий, специфичные для дистрибутивов ALT Linux, будет трудно донести до аудитории. Подтвердились ли они?
ALT-специфику (git.alt, gear) знают довольно размыто, однако, имея на руках описание и первого, и второго, удачно додумывают.
Очевидно (в том числе некоторым студентам), что при попытке самостоятельного использования всё станет понятнее, встанет на свои места и т.п.
Общий вывод (одним предложением) Студенты оказались подготовлены гораздо больше, чем ожидалось.
Что вы можете сказать о второй итерации экзамена? Известно, что его сдавал человек, за которым была возможность понаблюдать до и после ?
Свои наблюдения я изложила в форме письменного отчёта.
Особенности второго экзамена На втором экзамене присутствовало всего два экзаменуемых.
1. Меньше студентов закапывается глубже: чем больше студентов, тем более могуч коллективный разум.
2. Наличие подопытных кроликов в виде знакомых студентов: есть возможность более подробно изучить мотивацию и последствия курса или экзамена.
Образ студента:
• до подготовки к экзамену с Linux-системами был знаком достаточно поверхностно когда-то видел, пробовал, но активно не пользовался;
• мотивация сдачи экзамена и чтения лекций широкий кругозор, который он наблюдал у людей в теме, которые находились вокруг него;
• подготовка к экзамену только по конспектам лекций и рекомендованным ссылкам курс не был прослушан вживую ;
• руками описанные в курсе действия не делались.
После прочтения лекций студентом перед экзаменом была устроена небольшая консультация. Выводы из консультации прочтение лекций породило страшную кашу в голове, которая, тем не менее, довольно быстро была разложена по полочкам в ходе консультации.
После консультации появилось мышление, похожее на мышление студентов на первом экзамене. Перед подготовкой к экзамену его не было, перед консультацией были намёки, которые погрязали в общей породившейся каше. Во время консультации студент сам отвечал на задаваемые наводящие вопросы, понимая что к чему, изредка получая комментарии. Синдром линуксизации мозга так и не появился.
Результат: несмотря на не идеально сданный экзамен, желание что-то делать и пробовать, разбираться дальше у студента не пропало (как минимум на словах).
Развязка Не все лекции получились равно плотными: задача избегать излишней конкретики (в плане перечисления названий программных инструментов и их свойств) и вместе с тем описывать реальный процесс создания и сопровождения пакета, очевидно, противоречива по сути.
Последнее мероприятие (показательная сборка пакета) заняло вместе со всеми заминками и повторами 45 минут и оставило ощущение жульничества. В самом деле: перед глазами слушателей было с нуля настроено сборочное окружение, изрядно модифицирован пакет из Fedora Core, учтена ALT-специфика, исправлено несколько (почти) спонтанных ошибок, собран и отправлен на сборку в хранилище пакет (http://sisyphus.ru/ru/srpm/Sisyphus/nibbles). И при этом ничего недоступного пониманию не произошло!
Кроме того, несколькими экзаменаторами отмечался высокий уровень изначальной подготовки студентов (конечно, не всех, а тех, кто решился сдавать этот экзамен). Это отвечает одной важной побочной задачи всего проекта чтения UNIX-курсов вообще: вовлечение в сообщество квалифицированных людей с потенциалом.
Наконец, очевидно, что для успешного объяснения (и освоения) роли сопровождающего достаточно затронуть азы довольно разнообразных видов профессиональной деятельности от программирования до team building. Дальнейшее освоение всего спектра может и не понадобиться, и уж точно вполне произвольно.
На этих основаниях можно сделать два вывода:
Оптимистический Сопровождение пакетов в Linux благодарная для тема для университетов: она не требует от студентов ничего экстраординарного, даёт им в руки начала интересной профессии и может сослужить хорошую службу как сообществу, так и самому университету. Необходимым условием является достаточно широкий кругозор (или желание его достичь).
Провокационный Сопровождение пакетов в Linux занятие любительское. Подобно радиолюбительству, любительскому спорту или любительскому искусству, оно не требует высокого уровня знаний и занятости, однако предоставляет все возможности этот уровень повысить. Мало того, уже на этапе обучения очевидны тенденции, которые могут сделать такого любителя специалистом более высокого класса, чем профессионал, знания которого ограничены сферой его непосредственной деятельности.
Д. А. Пынькин, И. И. Глецевич Минск, Белорусский государственный университет информатики и радиоэлектроники http://sisyphus.ru Проектирование IT-инфраструктуры учебных В докладе описывается способ организации многоместных систем на базе ОС Linux в режиме без сохранения состояния в учереждениях с публичным доступом к компьютерным системам.
Введение При создании и настройке систем, предназначенных для эксплуатации в местах с публичным доступом, например в учебных заведениях, всегда возникает проблема поддержки рабочих мест в работоспособном состоянии, так как пользователи сменяют друг друга очень часто.
В докладе показано, как с использованием технологий с открытым исходным кодом и виртуализации обеспечить независимость пользовательских сеансов.
Задача проектирования При проектировании и развертывании систем в общественных учреждениях возникает классическое противоречие между обеспечением удобства работы пользователя и обеспечением надежности и безопасности работы компьютерной системы.
При этом многие действия пользователю удобно производить с повышенными привилегиями, но слабо ограничиваемый доступ к системным ресурсам одного пользователя может негативно отразиться на стабильности и безопасности последующей работы всех других пользователей данного компьютера.
Кроме того в учебных заведениях, специализирующихся в области обучения программированию, полноценное выполнение некоторых заданий возможно только при условии полного доступа студента ко всем возможностям операционной системы.
С точки зрения администратора, свободный доступ пользователя к операционной системе приводит к увеличению усилий на поддержание компьютеров в работоспособном состоянии.
Таким образом, вырисовывается следующая техническая задача: предоставить пользователю возможность максимально полного управления компьютерной системой, при этом обеспечить полное восстановление этой системы после завершения сеанса.
Организация бездисковых виртуальных рабочих станций Основой используемых решений являются бездисковая загрузка операционной системы Linux [1], многоместный режим работы графической подсистемы Linux [2] и возможность некоторых реализаций виртуальных машин работать в так называемом stateless-режиме –– все вносимые пользователем во время работы изменения не записываются на жесткий диск, а накапливаются во временных файлах или в оперативной памяти компьютера. Соответственно, достаточно перезагрузить виртуальную машину для полного восстановления системы в исходное работоспособное состояние.
Для эффективного использования оборудования было использовано свойство видеокарт возможность подключения нескольких мониторов, что, при правильной настройке графической подсистемы, позволило организавать несколько независимых рабочих мест на базе одного системного блока [2].
Фактически было реализовано объединение классической инфраструктуры VDI (Virtual Desktop Infrastructure) и методов терминального доступа к системе. В качестве сервера виртуальных рабочих столов используется тот же компьютер, что и для организации доступа к пользовательским виртуальным машинам! Причем, такой подход пригоден для организации как бездисковых, так и полноценных многоместных виртуальных рабочих столов.
В качестве сервера бездисковой загрузки может выступать компьютер под управлением любой операционной системы, при условии обеспечения сервисов:
• SMB или NFS (файловый сервер).
От администратора требуется лишь настроить загрузку системы и указать где лежат файлы, необходимые для работы Linux и виртуальных машин. Так, для среднестатистического класса, в котором используются одинаково настроенные системы, необходимы следующие файлы:
• ядро Linux;
• файл начальной инициализации (initrd);
• файл-образ файловой системы Linux;
• файл-образ жесткого диска виртуальной машины.
Чтобы предоставить пользователям возможность использовать различные операционные системы, администратору достаточно подготовить соответствующий виртуальный образ жесткого диска, но при этом необходимо учитывать тот факт, что нагрузка на дисковую подсистему сервера пропорциональна количеству одновременно используемых типов виртуальных машин.
Результат Описанные принципы создания IT-инфраструктуры позволяют организовать рабочие места без сохранения состояния, которые позвоянваря ляют пользователю полностью контролировать свою работу, не влияя на работу других пользователей.
Работа администратора может быть сведена к подготовке базового образа виртуальной машины и корректной настройке сети.
Таким образом, вся предлагаемая IT-инфраструктура строится на основе Linux (серверы, сетевые экраны, гипервизоры на рабочих станциях). Пользователям доступны виртуальные машины с уже установленными и настроенными пользовательскими операционными системами.
Литература [1] Д.А. Пынькин, И.И. Глецевич, А.В. Отвагин Использование бездисковых рабочих станций в образовательном процессе БГУИР // Материалы 4 международной конференции Информационные системы и технологии IST’2008. Минск, 2008. С. 310-315.
[2] Wikipedia Multiseat Conguration http://en.wikibooks.org/wiki/ Multiterminal_with_Xephyr А. О. Маковецкий Москва, компания Asterisk-VoIP http://asterisk-voip.ru/ Автоматизация систем информирования и оповещения студентов ВУЗа на базе свободного Любое среднее специальное или высшее учебное заведение сталкивается с проблемой оперативного информирования. Обычно решают эту задачу вручную или полу автоматизированным способом, доставшимся по наследству от советского прошлого.
Технический прогресс позволяет полностью автоматизировать процесс информирования студентов, абитуриентов, преподавателей, используя решения на базе свободного программного обеспечения.
Основой решения для автоматизации может и должна стать связка СУБД MySQL и ip-pbx Asterisk, программных продуктов работающих под управлением операционных систем семейства Unix. Именно Asterisk будет осуществлять голосовое информирование абонентов, а MySQL можно использовать для хранения уникальной информации для каждого из абонентов.
Стоит отметить, что многие ВУЗы в последнее время стали активно работать над собственными Web-порталами. Для таких ВУЗов можно использовать одну разделяемую Базу Данных (БД) с персональной информацией о студентах (например, результаты контрольных) как для публикации на портале, так и для голосового информирования.
К сожалению, для большинства ВУЗов невозможно предложить сколько-нибудь интересное, развитое решение, которое было интегрировано с внутренней системой управления студентами/сотрудниками в виду отсутствия оных систем. Очень часты случаи, когда необходимая информация хранится либо на бумажных носителях, либо, в лучшем случае, в excel-таблицах или doc-документах.
Поэтому в решении предполагается использование простой формы для загрузки excel-документа и использование samba-ресурса, с автоматическим его опросом.
Теперь, имея в своем распоряжении массив информации, полученный либо из БД, либо путем разбора загруженных документов, мы можем легко информировать студента. Вся информация может быть разделена на два основных типа общая и персонализированная. Общая информация может быть любой, и представляться она должна в виде заранее записанного голосового сообщения. При этом, учитывая возраст и опыт работы с ПК работников, запись сообщения может быть реализована при помощи исходящего, либо входящего звонка на телефонный аппарат сотрудника. Если говорить о персональной информации студентов то, учитывая специфику образовательных заведений, это, в основном, либо некие цифры (оценки), либо даты.
Проговаривание, что числовых данных, что даты и времени, легко реализуется на основе склеивания отдельно записанных чисел и названия месяцев.
В описанном виде решение для автоматизированного информирования является простым для реализации, но требует высокой степени участия сотрудников в его использовании. При этом возможно несколько усложнив структуру решения, снизить степень вовлечения сотрудников в его эксплуатацию. Для этого возможно использовать свободные TTS-движки, такие как ru_tts и festival. Это позволит исянваря ключить процесс наговорки сообщений и достаточно предоставлять информацию в текстовом виде.
Использование автоматизированной системы информирование должно исключить большинство ошибок донесения информации до получателя за счет исключения посредников и упрощения самой процедуры. К тому же это хороший шаг в развитии инфраструктур ВУЗа, которые зачастую являются наследием советского союза.
В. Кулямин, В. Рубанов, А. Хорошилов Москва, Институт системного программирования РАН Проект: Комитет по образованию и высшей школе РАСПО http://www.raspo.ru О комитете по образованию и высшей школе Российской Ассоциации Свободного Программного В докладе представлены цели и задачи недавно созданного комитета по образованию и высшей школе Российской Ассоциации Свободного Программного Обеспечения (РАСПО), а также потенциальные направления его деятельности. Среди этих направлений наболее подробно рассматриваются возможные мероприятия по повышению качества преподавание ИТ-дисциплин за счёт использования преимуществ СПО.
В то же время, выступление нацелено не только на открытое обсуждение существующих предложений, но и на поиск новых идей и привлечение наиболее активных участников конференции к работе комитета.
О Российской Ассоциации Свободного Программного Обеспечения (РАСПО) было объявлено в начале 2009 года, когда представители 17 компаний подписали Меморандум о намерении создать эту организацию. 18 мая 2009 года прошло ее официальное учредительное собрание. Компании объединились в Ассоциацию вокруг миссии, заключающейся в содействии разработке, внедрению и популяризации свободного программного обеспечения в государственном, общественном и коммерческом секторах российской экономики, в развитии отечественной индустрии программного обеспечения, основанного на открытом коде и свободной лицензии, и её вхождении в мировой рынок разработки ПО.
В рамках Ассоциации было сформировано несколько профильных комитетов, в том числе и Комитет по образованию и высшей школе.
Основными целями этого комитета являются:
• Содействие повышению компьютерной и правовой грамотности населения.
• Содействие повышению качества образования ИТ-специалистов.
• Расширение использования СПО в образовательных учреждениях.
• Привлечение молодёжи в сообщества СПО проектов.
Основными задачами
комитета являются:
• Поддержка разработки и публикации методических материалов и учебной литературы по СПО.
• Поддержка разработки и внедрения учебных курсов по СПО.
• Помощь государству при формировании политики внедрения, использования и разработки СПО в учебных заведениях различного уровня.
• Предотвращение недобросовестной конкуренции при госзакупках программного обеспечения для целей образования.
• Пропаганда и содействие внедрению СПО в образовательных учреждениях.
• Содействие разработке СПО для образовательных учреждений.
Применительно к высшей школе в комитете предполагается развернуть работы по следующим направлениям:
• Расширение использования СПО в учебном процессе (применительно как к базовому и офисному ПО, так и к ПО, специфичному для предметной области).
• Повышение качества преподавания ИТ-дисциплин за счёт использования преимуществ СПО.
• Популяризация преподавания и исследования экосистемы СПО.
– Преподавание принципов разработки СПО, особенностей лицензирования и т.д.
– СПО-сообщества, СПО-разработка и само СПО как объект изучения социологических, экономических и других наук
.
• Привлечение студентов к участию в СПО проектах.
• Расширение использования СПО в хозяйственной деятельности Наиболее близким для ИСП РАН является направление по обучению студентов по ИТ-специальностям, поэтому именно на проработке этого направления был сосредоточен первоначальный фокус наших усилий. Черновой вариант предложений по этой тематике был подготовлен в ИСП РАН и будет представлен на конференции.
В этом документе обозначены следующие преимущества использования СПО и проектов по его разработке, позволяющие повысить качество преподавания ИТ-дисциплин в университетах:
• Студенты на практике знакомятся с внутренним устройством и технологиями разработки сложного ПО, повседневно используемого в технических системах, бизнесе, науке и государственном • Студенты и преподаватели получают доступ к последним разработкам в соответствующей области и могут без ограничений изучать инновационные технологии и архитектурные решения.
• Студенты и преподаватели приобретают возможность проводить любые полноценные исследования и вести любые разработки на основе последних достижений в интересующей их области ИТ-технологий на базе свободно изменяемого ПО.
• Студенты обретают дополнительную мотивацию для обучения, а преподаватели для его проведения за счет востребованности получаемых знаний и выполняемой работы на мировом уровне, ощущения причастности к переднему краю ИТ-технологий, а также большей свободы в выборе направления и путей реализации (самообразования и сопутствующих исследований).
• Студенты и преподаватели могут достаточно свободно напрямую общаться с профессионалами высокого уровня в соответствующей области, принимающими участие в открытых проектах по разработке ПО. Это позволяет актуализировать содержание обучения и вырабатывать необходимые для полноценного развития ИТ-специалистов социальные и когнитивные навыки.
Таким образом, использование СПО и открытых проектов позволяет существенно повысить качество ИТ-образования за счет следующих факторов.
• Приведения его содержания в соответствие с требованиями дальнейшего экономического и социального развития.
• Значительного увеличения исследовательской составляющей в работе преподавателей, без которой полноценное современное ИТ-образование невозможно.
• Актуализации проводимых исследований с помощью постоянного соотнесения их с важнейшими текущими проблемами ИТ, выделяемыми мировым исследовательским сообществом, активно участвующим в разработке СПО и открытых проектах.
• Cоциальной адаптации студентов в среду единомышленников и профессионалов, не ограниченную рамками учебной группы и ВУЗа.
Для реализации этих возможностей предлагается инициировать следующие работы (безусловно с публично доступными результатами):
• Доработка существующих и разработка новых образовательных материалов различных типов (общетеоретических и специализированных курсов, образовательных модулей, практикумов, лабораторных работ и наборов упражнений, учебников и практических пособий, методических материалов, материалов для тренингов, дополнительного образования, дистанционного и заочного обучения), использующих доступные материалы открытых проектов и СПО.
• Доработка существующих и разработка новых специализированных курсов по архитектурным решениям и технологиям, использованным в рамках достаточно зрелого и широкого используемого СПО высокой сложности (операционные системы, компиляторы, системы управления базами данных, телекоммуникационные системы, ПО промежуточного уровня и пр.).
• Стимулирование выполнения дипломных работ, результаты которых интегрируются в существующие проекты по разработке СПО или оформляются как полноценные независимые СПО проекты. Например, одним из видов стимулирования может быть организация публичных конкурсов таких дипломных проектов.
Мы осветили лишь первоначальные идеи для организации деятельности комитета. Однако, спектр потенциальных активностей гораздо шире. Поэтому, в заключение, мы хотели бы пригласить все заинтересованные стороны к обсуждению рассмотренных предложений, возможной тактики и стратегии их реализации, а также к поиску новых идей и к активному участию в работе комитета.
А. Г. Кушниренко, А. Г. Леонов, М. А. Ройтберг, Я. Н. Зайдельман, А. В. Карпов, Е. В. Святушенко, Н. М. Субоч, Д. В. Хачко, В. В. Яковлев Москва, Пущино, Переславль, НИИСИ РАН, ИМПБ РАН, Университет г. Переславля Проект: КуМир http://www.niisi.ru/kumir, http://lpm.org.ru/kumir КуМир (Комплект Учебных Миров) система, ориентированная на преподавание информатики в средней школе и вводных курсов программирования в высшей школе. Система была разработана в 80-х 90-х годах ХХ века коллективом студентов, аспирантов и сотрудников мехмата МГУ и Академии наук СССР, работала на всех мыслимых и немыслимых компьютерах, установленных в школах СССР, и получила широкое распространение. С течением времени интерфейс КуМира (под операционнной системой МС ДОС) устарел. Современная новая реализация системы КуМир является свободно распространяемым программным продуктом и функционирует под управлением операционных систем Linux, Mac OS, Windows.
Система Кумир разработана и распространяется свободно на условиях лицензии GNU 2.0. Данная лицензия разрешает бессрочно использовать КуМир на любом количестве компьютеров в любых целях без оформления каких либо дополнительных документов.
В системе КуМир используется школьный алгоритмический язык с русской лексикой и встроенными исполнителями Робот и Чертежник, что соответствует учебнику [1]. Система КуМир отличается от производственных систем программирования на порядок более высоким уровнем дружественности при отладке небольших учебных программ. Возможности системы КуМир были представлены в докладе [2].
В версии конца 2009 г. в КуМире появились три новых возможности.
Наиболее важной является разработка и реализация стандарта, обеспечивающего удобное подключение новых исполнителей. В соответствии с этим стандартом реализованы исполнители, соответствующие учебникам [3, 4]. Таким образом, система КуМир стала открытой для поддержки вновь разрабатываемых учебников. Важным методически элементом стандарта является возможность непосредственного, пультового управления любым подключенным исполнителем. При этом команды, отданные с пульта, запоминаются и могут быть преобразованы в программу на языке КуМир. Подробнее о разработке новых исполнителей и работе с ними см. [5].
Другой возможностью является система поддержки гипертекстовых учебников, которая позволяет вставлять в стандартный гипертекст кнопки, позволяющие читателю выполнять различные действия по управлению КуМиром (загрузка программы, ее выполнение и пр.).
В настоящее время в этой среде реализованы отдельные главы из учебника [1] и краткое руководство по использованию системы КуМир.
Наконец, разнообразные справочные материалу по языку, системе КуМир и исполнителям разделены на две части. Наиболее важная информация (синтаксис управляющих конструкций, перечень используемых типов и операций, системы команд встроенных исполнителей и др.) генерируется по программному коду, и тем самым всегда соответствует используемой версии системы. Долговременная информация, наоборот, отделена от системы, и может редактироваться и просматриваться любыми стандартными средствами (на сегодня используется формат pdf).
В 2009 г. система КуМир использовалась как во внешкольном преподавании (Зимняя Пущинская школа, Калужская летняя школа), так и в стандартном курсе информатики в ряде средних школ, а также в ВУЗах (механико-математический факультет МГУ, Университет г.
Переславля). Этот опыт показал, что надежность системы КуМир достаточна высока и система может использоваться в регулярном учебном процессе. Авторы благодарят Д. Кириенко и В.Тарасову за использование системы КуМир при преподавании курса информатики в средней школе и многочисленные полезные советы и замечания.
Литература [1] Информатика : 7-9 кл.: Учеб. для общеобразоват. учр. / А.Г. Кушниренко, Г.В. Лебедев, Я.Н. Зайдельман. 4-е изд., стер. М.: Дрофа, 2003. 335 c.
[2] КуМир вернулся: обучение основам программирования спомощью системы КуМир / А. Г. Кушниренко, А. Г. Леонов, А. В. Карпов, М. А.
Ройтберг, Н. М. Субоч, Д. В. Хачко, В. В. Яковлев. Свободное программное обеспечение в высшей школе, сборник тезисов, М.: AltLinux, [3] Информатика : алгоритмика : Учеб. для 6 кл. общеобразоват. учр. / А.К. Звонкин, С.К. Ландо, А.Л. Семенов. М.: Просвещение, 2006.
[4] Информатика: алгоритмика : Учеб. для 7 кл. общеобразоват. учр. / С.К.
Ландо, А.Л. Семенов, М.Н. Вялый. М.: Просвещение, 2008. 207 c.
[5] Новые Миры в системе КуМир / Кушниренко А.Г., Леонов А.Г., Ройтберг М.А., Хачко Д.В., Тарасова В.В., Яковлев В.В. Свободное программное обеспечение в высшей школе, настоящее издание А. Г. Кушниренко, А. Г. Леонов, М. А. Ройтберг, В. В. Яковлев Проект: ПиктоМир http://lpm.org.ru/kumir/ ПиктоМир программирование для дошкольников Программирование одна из грамотностей, которой должен будет обучиться любой землянин, родившийся в 21 веке. По мнению авторов, это обучение можно и полезно начинать в дошкольном возрасте, до устойчивого овладения навыками чтения и письма. ПиктоМир техническое средство, полезное при обучении началам программирования дошкольников, не умеющих или не любящих читать и писать.
Методика обучения программированию с использованием этого средства находится пока в процессе разработки.
ПиктоМир среда для подготовки и выполнения программ, которые управляют некоторым Исполнителем, имеющим определенную систему команд и действующим в определенной обстановке. Программы составляются из пиктограмм, подобно тому, как составляются слова и короткие фразы в кассе букв и слогов при обучении чтению и письму. Каждая пиктограмма отображает либо команду исполнителя, либо управляющую конструкцию, либо вызов подпрограммы.