Практикум первого курса по программированию

Структура этой страницы:

Прошивка для сетевой загрузки

/!\ описание, комплектация и, возможно, ссылка на какие=то внутренности

1 семестр: МТ, НАМ, Паскаль

Потребности

  1. Turbo Pascal
  2. ISO Pascal
  3. Нужна текстовая цветная графика (TP модуль CRT),
  4. {2} Нужен звук (PC Speaker, функции TP play/sound).

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

      • Звук является одной из тем, которая изучается некоторыми преподавателями. Как вариант: выводить на разъем для наушников на передней панели. --PavelSutyrin

      Давайте определимся. Функции Play я в TP не нашёл. Функция Sound — это просто писк на определённой частоте. Звуком тут и не пахнет. Что содержательно используется в практикуме? -- FrBrGeorge

      • Ноты разной высоты и длительности. Проигрывание гамм, мелодий. Интерактивная музыкальная клавиатура. Вобщем, Sound используется. --PavelSutyrin

  5. {2} Графика в объеме Graph/BGI.

  6. МТ и НАМ.
    • В природе существуют досовские эмуляторы там бывали проблемки с кодировкой русских букв. Уточню.
      • Ах да. Русские буквы в досбоксе не лечатся, уточнять тут нечего. -- FrBrGeorge

        • Русские буквы в досбоксе работают (rk.com), reportedly есть проблемы с конкретно этими эмуляторами. Обещали прислать. --PavelSutyrin

      Ну вот, собственно. prak.zip. Работает корректно в досбоксе, взятом отсюда (за счет грамотного русификатора, вестимо, см. там dos/dosbox.conf). --PavelSutyrin.

      • Собственно говоря, эти эмуляторы редко кем используются именно на занятиях, скорее рекомендуются студентам для самостоятельного тыкания. --PavelSutyrin.

Реализация

  1. Turbo+DOSBOX
    • Переправить mapper
      • Предлагаю просто заменить Ctrl на Win. --FrBrGeorge

    • составить инструкцию по использованию (включая копированием файлов)
      • не забыть про Ctrl-F4 при обновлении файлов
    • можно подсмотреть настройки DosBOX вот здесь, особенно по части масштабирования. Лучше сделать scaler наподобие normal2x, чтобы не сглаживалось почем зря. Для начала.

    • возможно, пригодится: Если при раскрытии DosBOX на полный экран (Alt+Enter) искажаются цвета и окно BP из синего становится красным, то следует в конец файла dos\dosbox.conf добавить строчки:

      [sdl]
      output = opengl
    • возможно, пригодится: Если при запуске DosBOX из-под Vista mapper не помогает настроить некоторые клавиши (стрелки, кавычки, +, -), то дело может быть в драйвере японской клавиатуры

  2. (есть какой-то P5, но лучше GPC), ещё есть http://tack.sourceforge.net/

    • А чем плох Free Pascal, кстати? -- eSyr 2011-01-18 18:10:31

      • round(2.5) = 2, доказательство: begin writeln(round(5/2),'=',trunc(5/2+0.5)) end. --FrBrGeorge

      Угу, в этом месте они конформны борландовской реализации (начиная с 2.2.4). http://wiki.freepascal.org/User_Changes_2.2.4#Floating_point_rounding. Так что, если и причислять это к недостаткам (что, конечно, делать нужно, но это только на мой взгляд), то одновременно с причислением это в качестве недостатка варианта с использованием Turbo/Borland Pascal. -- eSyr 2011-01-25 19:15:22

      • Тем не менее пример, приведённый выше, в TP7/BP7 работает согласно стандарту. Возможно, это уже глюки Delphi, не знаю. --FrBrGeorge

  3. Текстовой графики достаточно.
    • Вообще-то двуногие безрогие предпочитают Graph. Его нет в практикуме? -- FrBrGeorge

    • Пока не обращались. Но как {2} пусть будет, очевидно. --PavelSutyrin

  4. НАМ:
  5. МТ:
  6. Рекурсивные функции (появились в Севастополе в 2016 г.)
  7. Railroad diagram
  8. БНФ: /!\ А что, собственно, оно должно делать? :)

2 семестр: УМ, Язык ассемблера

Потребности

  1. MASM
  2. Современный ассемблер
  3. УМ-*
    • Годных реализаций пока УМ не обнаружено, поиск продолжается. Методическая целесообразность оных пока под вопросом.

Реализация

  1. MASM+Geany
    • Инструкция по использованию Geany
  2. NASM + Geany (croco-compatible)
  3. /!\ JWASM?

Прочее

Когда что-то не работает, некому помочь.

Комплекты инструментов для студентов

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

Сайт поддержки

Здесь рассматриваются требования к сайту поддержки практикума с точки зрения хранения и оборота таких материалов, как:

Цикл работы

  1. Студент получил задание в виде номерочка из задачника, либо в виде текста задачки на листочке (currently!). Дополнительно может прилагаться файлик с входными данными, который нужно будет обработать программою.
    1. Альтернативно, студент может получить не задание, а демонстрационные программы, который он должен скомпилить и запустить у себя, а затем изучать, изменять и распространять измененные версии.

  2. Студент написал свою программу-решение тут же в МЗ. Или начал писать, тогда дописывает в другое время.
    1. Альтернативно, студент написал/дописал свою программу дома (или в другое время в МЗ), и заранее, до следующего занятия в МЗ, прислал преподавателю (currently, по электронной почте).
  3. Студент написал свое решение здесь же в МЗ, либо скачал заранее написанное решение на машину, обсудил с преподавателем, ответил на вопросы (здесь эффективность работы сильно повышается от предварительной присылки решения студентами, что награждается), получил задание по доработке его либо здесь же, либо дома. Посему, чаще всего, то, что он сделал/доделал в МЗ, требуется ему взять домой.

Права доступа

  1. Доступ друг к другу в материалы студентам запрещен.
  2. У преподавателя группы должен быть доступ к студентам на чтение (чтобы он мог собрать у них что-то сделанное, но они не могли вменить ему порчу своих исходников).
    1. Алсо, некоторые преподаватели любят накоментить студентам в решения, чтобы те читал и учились, стало быть нужен доступ на запись (но это зависит от преподавателя => должно быть настраиваемо per group).

  3. У некоторых групп в определенное время может быть зачет, когда человеку нужно будет в оперативном режиме, на оценку, отвечать на вопросы и писать/изменять свои программы. На это время из некоторого МЗ должны быть отключены интернеты, а доступ к сайту поддержки ограничен только чтением -- все это для затруднения спасения утопающих чужими руками.
    1. Иногда бывает режим "ничем нельзя пользоваться", тогда должен быть закрыт доступ к разделу сайта с методическими материалами.
    2. Иногда бывает даже "ничего своего вам не нужно", т.е. задачи решаются с нуля, на голой машине с инструментами и встроенной справкой (manpages). Тогда должен быть закрыт доступ к сайту поддержки вообще.

Хранение задач и учебных материалов

  1. Должно быть местечко, куда преподаватель может выложить, а студенты группы only read некоторое задание, примеры программ, входные данные, и т.п. Таковое может производится как на группу, так и каждому студенту индивидуально. Сейчас задачки раздаются вручную на бумажках, а примеры программ -- на флешечке и по почте.
    1. Сайт поддержки семинара с зарегистрированными пользователями и attachment-ами.

Практикум 2 курса по программированию

  1. flex, bison

FrBrGeorge/Prac1Course (последним исправлял пользователь FrBrGeorge 2016-09-10 21:02:12)