Аннотация курса
Операционная система 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“.