Различия между версиями 6 и 7
Версия 6 от 2011-01-25 19:10:41
Размер: 18812
Редактор: eSyr
Комментарий: упс, personal namespace
Версия 7 от 2017-10-16 12:48:46
Размер: 18777
Редактор: PavelSutyrin
Комментарий: cmcmsu domain change
Удаления помечены так. Добавления помечены так.
Строка 4: Строка 4:
 АННОТАЦИЯ:: В докладе дается обзор методики проведения семинарских занятий по практикуму на первом курсе очного отделения специалистов факультета ВМК МГУ им. М.В. Ломоносова. Основное внимание уделяется принципам и особенностям использования вычислительной техники и программного обеспечения, в том числе свободного.   АННОТАЦИЯ:: В докладе дается обзор методики проведения семинарских занятий по практикуму на первом курсе очного отделения специалистов факультета ВМК МГУ им. М.В. Ломоносова. Основное внимание уделяется принципам и особенностям использования вычислительной техники и программного обеспечения, в том числе свободного.
Строка 11: Строка 11:
Семинарские занятия проходят частично в аудиториях с решением задач у доски, частично в машинном зале, где каждый студент практикуется в программировании на отдельной машине.  Семинарские занятия проходят частично в аудиториях с решением задач у доски, частично в машинном зале, где каждый студент практикуется в программировании на отдельной машине.
Строка 13: Строка 13:
Решение задач в машинном зале в рамках семинарских занятий предполагает определенные требования к соответствующему вычислительному обеспечению.  Решение задач в машинном зале в рамках семинарских занятий предполагает определенные требования к соответствующему вычислительному обеспечению.
Строка 40: Строка 40:
   * отладка программ отягощалась крайне лаконичной и однообразной диагностикой системы на чаще всего допускаемые ошибки (неправильный доступ к памяти).     * отладка программ отягощалась крайне лаконичной и однообразной диагностикой системы на чаще всего допускаемые ошибки (неправильный доступ к памяти).
Строка 45: Строка 45:
 * Решение на основе Windows NT4 + Novell Netware, трудоемкое в администрировании и несовместимое с новой аппаратурой. Инструменты разработки запускались в режиме совместимости DOS-приложений для Windows.   * Решение на основе Windows NT4 + Novell Netware, трудоемкое в администрировании и несовместимое с новой аппаратурой. Инструменты разработки запускались в режиме совместимости DOS-приложений для Windows.
Строка 75: Строка 75:
 * Для обеспечения практикума по машине Тьюринга — [[http://cmcmsu.no-ip.info/1course/alg.schema.mt.htm|разработка с сайта «cmcmsu.no-ip.info»]]
 * Для обеспечения практикума по нормальным алгорифмам Маркова — [[http://cmcmsu.no-ip.info/1course/alg.schema.nam.htm|ещё одна разработка с сайта «cmcmsu.no-ip.info»]] и более сложный вариант [[http://nic-nac-project.de/~jcm/index.php?nav=projects|с сайта Йорга С. Мейера]]
 * Для обеспечения практикума по машине Тьюринга — [[http://cmcmsu.info/1course/alg.schema.mt.htm|разработка с сайта «cmcmsu.info»]]
 * Для обеспечения практикума по нормальным алгорифмам Маркова — [[http://cmcmsu.info/1course/alg.schema.nam.htm|ещё одна разработка с сайта «cmcmsu.info»]] и более сложный вариант [[http://nic-nac-project.de/~jcm/index.php?nav=projects|с сайта Йорга С. Мейера]]
Строка 97: Строка 97:
  * Практикум 1 курса (неофициальный, но весьма полный сборник материалов) (http://cmcmsu.no-ip.info/1course/)   * Практикум 1 курса (неофициальный, но весьма полный сборник материалов) (http://cmcmsu.info/1course/)

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

Сутырин П. Г., Курячий Г. В.

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

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

Вначале дадим обзор программистских дисциплин, изучаемых на первом курсе отделения специалистов. В первом семестре это основы теории алгоритмов (машины Тьюринга, нормальные алгоритмы Маркова), основы алгоритмизации с использованием языка программирования Паскаль (стандарт 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. Технология создания описана в статье «Сетевая установка и сетевая загрузка», существенных изменений не претерпела. Особенности прошивок такого типа:

  • автоматическая адаптация к широкому спектру аппаратного обеспечения;
  • работа без монтирования физической файловой системы на запись (позволяет полностью исключить модификацию со стороны клиента);
  • простота модификации и обновления «прошивки» (после chroot <корень_прошивки> на сервере администратор попадает в обычное окружение с работающей сетью, пакетным диспетчером и т. п.)

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

  • Отказ от персональных аккаунтов в пользу вики-движка с хранением всей необходимой информации, включая персональные странички пользователей и их файлы
    • Унификация рабочего окружения. Зачастую начинающие пользователи настраивают свои рабочие места до полной неработоспособности. Теперь достаточно только перезагрузить компьютер.
    • Хранение постоянно используемых файлов и методических материалов в едином информационном пространстве провоцирует привлечение внимания к методически материалам
  • Модификация рабочего окружения в реальном времени. При необходимости что-то изменить в окружении всех рабочих мест (например, положить на рабочий стол файл, донастроить IDE и т. п.) достаточно скопировать нужные файлы на сервер (в домашний каталог пользователя внутри «прошивки») и перезагрузить рабочие места.
  • Широта и гибкость применения. Можно подготовить любое количество «прошивок» с любым содержанием, модификация прошивки (при условии заранее сделанной резервной копии) — безопасная операция, допустимая в учебном процессе, в отличие от локальной переустановки ОС и ПО

В частности, последнее свойство позволяет расширить список ПО, устанавливаемого в прошивку, предлагать различные варианты, экспериментировать. Так, помимо «старых» инструментов для DOS, в новом загрузочном образе используются:

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

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

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

Выводы

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

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

Список литературы

PavelSutyrin/ALTPracReport (последним исправлял пользователь PavelSutyrin 2017-10-16 12:48:46)