Аннотация курса

Операционная система Linux, Являясь по своей природе открытой системой со свободно-распространяемыми исходными кодами,  стала de-facto основой вычислительной инфраструктуры подавляющего большинства университетов и вычислительных лабораторий во всем мире. Ее внедрение не требует никаких лицензионных отчислений кому бы то ни было. Поэтому, для современного ученого владение навыками работы в этой системе становятся жизненно необходимым, и важным конкурентным преимуществом на мировом рынке занятости. В данном практическом спецкурсе рассматриваются пользовательские приемы работы в ОС Linux, подробно изучается интерфейс командной строки, приемы автоматизации работы и пакетной обработки данных, верстки научных статей,  а также особенности разработки ПО с использованием встроенного инструментария. Также рассматривается система кросс-платформенного объектно-ориентированного программирования графического интерфейса QT, и дается краткое введение в мат. моделирование и математический пакет matlab. и издательский пакет Latex

Введение

Первая версия ядра операционной системы Linux была написана более 20 лет назад таким же студентом, как ты, в качестве курсовой работы по программированию на втором курсе. К тому моменту, как этот студент, Линус Торвальдс, окончил Хельсинский Политехнический институт, практически все ведущие производители оборудования и программного обеспечения уже заявили о своей поддержке этой ОС. Сегодня - Linux является основной платформой для научных вычислений, коммерческих серверных приложений, мобильных устройств, встраиваемых систем реального времени, а также стандартной основой рабочих мест во многих отраслях, будь то 3D-анимация, нефтеразведка, или обычный учебный класс в вузе или школе.

Причинами столь впечатляющего успеха являются не только следование общепринятым мировым стандартам в области ПО (POSIX), стремление к максимально возможной совместимости с существующим апаратным и программным обеспечением, но и беспрецендентая открытость процесса разработки. С момента первого сообщения о создании новой операционной системы, и по сегодняшний день любой желающий может принять участие в ее разработке и тестировании, и результат его труда увидят все остальные разработчики и пользователи. Благодаря этому, ОС Linux сегодня поддерживает рекордное количество аппаратных архитектур, устройств и файловых систем, и является ведущей площадкой для тестирования и внедрения последних инноваций в области IT.

Приобретаемые знания и умения

В результате обучающийся должен освоить приемы и навыки работы в ОС Linux, познакомиться с интерфейсом командной строки Linux, научиться использовать встроенных инструментарий для разработки ПО, и научиться писать программы с графическим интерфейсом, необходимые для написания курсовой работы.

Образовательные технологии

Курс имеет электронную версию для презентации. Лекции читаются с использованием современных мультимедийных возможностей и проекционного оборудования. Практические занятия проходят в компьютерном классе.

Программное обеспечение

  • OS Linux, gcc 4.3 и выше

Контроль успеваемости

  • Промежуточная аттестация проводится на 8 неделе, про итогам текущей успеваемости. Критерии формирования оценки – выполненные практические задания, подготовленные доклады и рефераты
  • Текущая аттестация проводится еженедельно. Критерии формирования оценки – посещаемость занятий, активность студентов на семинарах, уровень подготовки к семинарам, выполнение домашних заданий

Программа курса

3 семестр:

  • Устройство и архитектура ОС Linux
  • Использование консольного интефейса командной строки, автоматизация работы (скрипты bash)
  • Основные команды и утилиты командной строки (включая grep, sed, awk, ImageMagik, т.д.)
  • Консольные текстовые редакторы (vi, Emacs)
  • Управление удаленной системой (ssh, X11, VNC)
  • Консольные и графические инструменты разработки на С/С++ (gcc, make, cmake, gdb, ddd, eclipse, QTCreator)

 4 семестр:

  • Использование библиотеки QT для создания кроссплатформенных приложений с богатым графическим интерфесом,
  • Многопотоковое и сетевое программирование средствами QT
  • Основы компьютерной физики (мат. моделирование, анализ данных эксперимента)
  • Прикладные пакеты математического программирования  (octave, matlab)
  • Прикладные математические библиотеки C++ (Eigen), основы параллельного программирования (OpenMP)

Спецкурс не предусматривает изучения приемов системного администрирования, и не специализируется на каком-либо конкретном дистрибутиве.

 Литература

  • Керниган Б. „UNIX. Программное окружение“.
  • Робачевский А.М. „Операционная система Unix Издание 2“.
  • Баррет Даниэл „Linux. Основные команды. Карманный справочник“.
  • Секунов Н. „Программирование на C++ в Linux“.
  • Чеботарев А. В. „Библиотека Qt 4. Создание прикладных приложений в среде Linux“.