Название: Свободное программное обеспечение в высшей школе - Тезисы докладов

Жанр: Информатика

Рейтинг:

Просмотров: 1299

Страница: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |




О вычислительном  обеспечении практикума по программированию на младших  курсах

Аннотация

В докладе дается обзор методики проведения семинарских  заня- тий по практикуму на первом курсе очного отделения специалистов факультета ВМК МГУ им. М.В. Ломоносова. Основное внимание уде- ляется принципам и особенностям использования вычислительной тех- ники и программного  обеспечения, в том числе свободного.

Проведение семинарских занятий по практикуму

Вначале дадим обзор программистских дисциплин, изучаемых на первом курсе отделения специалистов. В первом семестре это осно- вы теории алгоритмов (машины Тьюринга, нормальные алгоритмы Маркова), основы алгоритмизации с использованием языка програм- мирования Паскаль (стандарт ISO 7185), динамические  структуры данных и алгоритмы их обработки.

Во втором семестре изучаются основы архитектуры ЭВМ и язык ассемблера для машины на основе ЦП Intel 8086 (MASM4). Вначале изучается концепция машин фон Неймана (кодирование команд, хра- нимая программа, последовательность выполнения команд) на при- мере модельных машин с разной системой команд  (одно-, двух- и трехадресные машины, безадресные стековые машины), затем систе- матически  изучается  язык ассемблера процессора 8086, а также язык макроассемблра (все это на примере MASM 4.0).

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

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

 

Требования к обеспечению учебного процесса

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

Требования к программному обеспечению

В случае с первым курсом в настоящее время актуальным являет- ся следующий перечень требований и соответствующих программных инструментов:

1. Реализация машины Тьюринга и нормальных алгоритмов Мар- кова.

• чаще всего используется студентами самостоятельно в пер- вые недели, когда теоретически изучаются эти формализ- мы.

2. Реализация ISO Pascal (или его расширения, но с возможностью контроля используемого диалекта языка). Варианты:

• Borland Pascal 7.0 (DOS-окно)

– интегрированная среда с редактором и отладчиком;

– библиотеки для построения текстового UI.

• GNU Pascal

– хорошо поддерживает ISO Pascal и другие диалекты

(BP, Free Pascal, и еще несколько);

– реализует свое расширение Паскаля, достаточно полез- ное для практического программирования;

– увы, последние несколько лет не разрабатывается (есть проблемы с современными версиями GCC).

• Free Pascal

– имеет IDE, аналогичный BP;

– хорошо интегрируется  в современные ОС (но это не нужно для первого семестра);

 

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

– не поддерживается  ограничение ISO Pascal.

3. Реализация ассемблера и макроассемблера.

• MASM 4.0 (DOS-окно)

– использовался произвольный редактор, не специализи- рованный для текстов программ (чаще всего из Norton Commander, т.к. дело происходило в DOS-окне).

– отладка программ отягощалась крайне лаконичной и однообразной диагностикой системы на чаще всего до- пускаемые ошибки (неправильный доступ к памяти).

Опыт использования инструментария, в т. ч. основанного на СПО

В рассматриваемый  период времени (с 2000 года) использовались два варианта обеспечения.

• Решение на основе Windows  NT4 + Novell Netware, трудоем- кое в администрировании и несовместимое с новой аппаратурой. Инструменты разработки запускались в режиме совместимости DOS-приложений для Windows.

• Загрузочный образ на основе FreeBSD, по возможности сохраня- ющий исходные инструменты (посредством запуска в эмуляторе DOSBox).

В процессе эксплуатации  загрузочного образа FreeBSD было вы- явлено объективных и субъективных недостатков:

• слабая поддержка  внешних носителей (не все флешки  студен- тов определялись, и приходилось тратить семинарское время на решение проблем);

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

• Некоторые примеры из методических разработок при компиля- ции в Free Pascal дают не соответствующие стандарту (и <пра- вильному ответу>) результаты;

 

• DosBOX <из коробки> не вполне подходит для работы в Borland Pascal (например, по ‘Alt+F9‘ в BP происходит запуск програм- мы, а в DosBOX - полный останов эмулятора; необходима руси- фикация);

• Некоторое постоянно используемое ПО из комплекта FreeBSD, например, большинство оконных диспетчеров, по умолчанию непригодны для использования в практикуме  без предваритель- ной настройки.

Вместе с тем, сама мультизагрузочная  среда (вполне стандартно реализованная на базе FreeBSD) позволила:

• синхронизовать управление пользователями с общим реестром;

• существенно упростить профилирование клиентских ОС;

• полностью исключить необходимость администрирования ПО и

ОС на клиентских машинах;

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

• создать базу для перехода учебного процесса на СПО.

Загрузочный  образ на основе ALT  Linux 6.0

Предлагаемый   загрузочный   образ  (для краткости - <прошив- ка>) сделан на базе LiveCD дистрибутива  семейства ALT Linux 6.0

Centaurus. Технология создания описана в статье <Сетевая установ- ка и сетевая загрузка> [4], существенных  изменений не претерпела. Особенности прошивок такого типа:

• автоматическая  адаптация  к широкому  спектру  аппаратного обеспечения;

• работа без монтирования физической файловой системы на за- пись (позволяет полностью исключить  модификацию со сторо- ны клиента);

• простота модификации и обновления <прошивки> (после chroot

<корень_прошивки>  на сервере администратор   попадает  в

обычное окружение  с работающей сетью, пакетным диспетче-

ром и т. п.) Эти особенности предопределили особенности под-

держки учебного процесса:

 

• Отказ от персональных аккаунтов в пользу вики-движка с хра- нением всей необходимой информации, включая  персональные странички пользователей и их файлы

– Унификация  рабочего окружения. Зачастую начинающие пользователи настраивают  свои рабочие места до полной неработоспособности. Теперь достаточно только перезагру- зить компьютер.

– Хранение постоянно используемых файлов и методических материалов в едином информационном пространстве про- воцирует привлечение внимания  к методически материа- лам

• Модификация  рабочего окружения  в реальном  времени. При необходимости что-то изменить в окружении всех рабочих мест (например, положить на рабочий стол файл, донастроить IDE и т. п.) достаточно скопировать нужные  файлы на сервер (в домашний каталог пользователя внутри <прошивки>) и переза- грузить рабочие места.

• Широта и гибкость применения. Можно подготовить любое ко- личество <прошивок> с любым содержанием, модификация про- шивки (при условии заранее сделанной резервной копии) - без- опасная операция, допустимая  в учебном процессе, в отличие от локальной переустановки ОС и ПО В частности, последнее свой- ство позволяет расширить список ПО, устанавливаемого в про- шивку, предлагать различные варианты, экспериментировать. Так, помимо <старых> инструментов для DOS, в новом загру- зочном образе используются:

• Для обеспечения практикума по машине Тьюринга - разработ- ка с сайта <cmcmsu.no-ip.info> [3]

• Для обеспечения практикума  по нормальным  алгорифмам  Мар- кова - ещё одна разработка с сайта <cmcmsu.no-ip.info> и более сложный вариант с сайта Йорга С. Мейера1

• Для обеспечения практикума по Pascal - Free Pascal (планиру- ется GNU Pascal)

• Для обеспечения практикума  по Ассемблеру - NASM (планиру- ется также JWASM, имеющий совместимый с MASM синтаксис)

1 http://nic-nac-project.de/ jcm/index.php?nav=projects

 

Кроме того, предполагается вынести на суд преподавателей <про- межуточный> вариант с использованием DOS-овских компиляторов, запускаемых в режиме командной строки из Linux-IDE (например, Geany).

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

Нелишне заметить, что загружаемый образ на базе ALT Linux тре- тий год используется для проведения практических занятий в Вечер- ней Математической Школе при ВМиК МГУ (программирование на языке Python, с этого года - также и на C).

Выводы

Технология бездискового клиента, использованная в <прошивке> на базе ALT Linux, позволяет создавать и видоизменять произволь- ное унифицированное  окружение  для проведения широкого спектра практических занятий. Для эффективной организации учебного про- цесса необходимо соблюдение трёх требований:

• наличие актуальных Linux-версий используемого в учебном про- цессе ПО (добавление и/или удаление работоспособного ПО не составляет даже технической проблемы);

• достаточное информационное наполнение

– технического обеспечения учебного процесса (сеанс работы пользователя, работа с файлами, запуск компиляторов и т. п.),

– методического  обеспечения (задачи и примеры, работаю- щие в данном окружении);

• готовность  учебного персонала к переходу, в немалой степени достигается сохранением <старых> программных средств с ис- пользованием и предварительной настройкой эмуляторов.

 

Литература

[1] ANSI ISO Pascal (http://standardpascal.org/)

[2] Сайт кафедры алгоритмических языков с некоторыми материалами и комплектами ПО для практикума (http://al.cs.msu.su/classes.html)

[3] Практикум 1 курса (неофициальный, но весьма полный сборник мате- риалов) (http://cmcmsu.no-ip.info/1course/)

[4] Курячий    Г.         В.        <Сетевая        установка       и          сетевая            загрузка> (http://uneex.ru/FrBrGeorge/BookP5/NetworkInstall)

Г. Г. Куликов, А. Г. Михеев

Уфа, Москва, Уфимский Государственный Авиационный Технический

Университет, Консалтинговая группа РУНА / МЭСИ

Проект:   RunaWFE http://www.ugatu.ac.ru, http://wf.runa.ru/rus




Страница: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |

Оцените книгу: 1 2 3 4 5

Добавление комментария: