учебная

advertisement
Учреждение образования
«Гомельский государственный университет имени Франциска Скорины»
УТВЕРЖДАЮ
Проректор по учебной работе
УО «ГГУ им. Ф. Скорины»
________________ И.В. Семченко
(подпись)
____________________
(дата утверждения)
Регистрационный № УД____________/р.
КОМПЬЮТЕРНАЯ ФИЗИКА В LINUX
Учебная программа для специальности
1-31 04 01 Физика (по направлениям)
(1-31 04 01-04 управленческая деятельность)
Факультет
физический
Кафедра
теоретической физики
Курс (курсы)
4
Семестр (семестры)
Лекции
7
34 часа
Экзамен
нет
Практические (семинарские)
занятия
нет
Зачет
7 семестр
Лабораторные)
занятия
нет
Курсовой проект (работа)
Самостоятельная управляемая работа студентов
нет
4 часа
Всего аудиторных
часов по дисциплине 34 часа
Всего часов
по дисциплине
Форма получения
высшего образования
56 часа
Составил С.Г. Шульга, к.ф.-м.н., доцент
2012
дневная
2
Учебная программа составлена на основе учебной программы, утвержденной _____ ________________ 20__ г., регистрационный номер _____________/_____
Рассмотрена и рекомендована к утверждению в качестве рабочего варианта
на заседании кафедры теоретической физики
___ __________ 20__г., протокол № __
Заведующий кафедрой
доцент ____________ В.В. Андреев
Одобрена и рекомендована к утверждению
Методическим советом физического факультета
___ __________ 20__г., протокол № __
Председатель
доцент ____________ Е.А. Дей
3
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Операционные системы (ОС) семейства Unix в мировом процессе компьютеризации науки и образования занимают лидирующее место. Это связано с некоммерческим характером развития этой ветви программного обеспечения.
Признанным лидером и “законодателем мод” в процессе компьютеризации исследований в физике является Европейский центр ядерных исследований (CERN, Женева, Швейцария). Другие научные центры по физике высоких энергий стремились создавать такую же архитектуру компьютерных систем, основанную на OC Linux.
Например, аналогичная архитектура функционирует в DESY (Гамбург, Цойтен, Германия), в ОИЯИ (Дубна, Россия), во многих ведущих научных центрах США, Японии и
других стран. Физика высоких энергий была и остается лидером в вопросах компьютеризации научных исследований. Ее мощное влияние на другие области науки привело к
тому, что в настоящее время сложилась единообразная универсальная компьютерная
система и среда для научных исследований во всем мире. В основе этой системы лежит
некоммерческая операционная система Linux, развиваемая в рамках проекта свободного программного обеспечения GNU. Учебно-образовательный процесс в мире развивается с учетом этих тенденций.
В нашей стране исторически сложилось так, что наибольшее применение нашла
ОС фирмы MicroSoft Windows. Эта ОС является коммерческой и большинство программных продуктов для
Windows также являются коммерческими. Учебнообразовательное учреждение призвано готовить специалистов для работы в современном мире, где в основном распространена ОС Windows. Этот вес ОС Windows в современной жизни отражается в учебных программах.
Вместе с тем роль и значение ОС Linux в наших образовательных программах
недооценивается. Перекос в сторону ОС Windows, который сложился в силу исторических причин, необходимо исправлять с учетом современных мировых тенденций.
Учебно-образовательные программы должны смотреть на 5-10 лет вперед. В ближайшей перспективе развитие учебных программ по проблемам компьютерных технологий
в нашей стране будет идти по пути сближения с Европейскими образовательными программами и с программами мировых научных исследований. Возрастание роли и расширение места ОС Linux в учебном процессе неизбежно. Особенно это касается курсов,
связанных с компьютерным моделированием различных процессов в жизни, обществе,
природе, потребность в котором в обществе растет. Моделирование требует использования математических библиотек программ. В этой части использование коммерческих
Windows-разработок ограничивает распространение разработок, ставит барьеры для
удовлетворения потребностей. Эти ограничения особенно недопустимы в школьных и
университетских образовательных программах.
Основное направление научной деятельности кафедры теоретической физики
УО “Гомельский госуниверситет им. Ф.Скорины” исторически тесно связано с физикой
высоких энергий. В современном мире эта область научных исследований в настоящее
время вновь заняла лидирующее положение в результате завершения многолетнего
проектирования, создания и недавнего запуска “Большого адронного коллайдера”
(LHC). В процессе длительной реализации этого проекта появились новые идеи и тенденции в развитии компьютерных технологий для науки, которые быстро распространяются в другие области современной жизни. Достаточно сказать, что местом рождения интернета является CERN. Потребности обработки больших массивов информации,
поступающей ежесекундно с четырех детекторов LHC, привели к развитию системы
GRID, которая представляет новый этап развития интернет-технологий. Кафедра теоретической физики имеет квалифицированные кадры для того, чтобы осваивать и внедрять в учебный процесс новейшие технологии, связанные с моделированием в физике
высоких энергий и обработкой информации, поступающей с LHC. Базовые знания по
4
ОС Linux представляют начальный этап на пути освоения этих важных для современного мира технологий.
Цель курса заключается в формировании у студентов знаний и навыков работы
в операционной системе Linux, как универсальной среде программирования, для решения практических задач в области компьютерного моделирования физических процессов.
Для достижения поставленной цели в ходе преподавания курса решаются следующие задачи:
- установка и настройка программ для удаленной работы на компьютерах крупных
научных центров (ОИЯИ, ЦЕРН), работающих под управлением ОС Linux;
- приобретение навыков работы в ОС Linux;
- приобретение навыков Shell-программирования в ОС Linux;
- приобретение навыков программирования на алгоритмических языках высокого
уровня в ОС Linux;
- овладение навыками работы с пакетом ROOT для моделирования физических процессов и обработки больших массивов информации;
- освоить программы моделирования физических процессов в физике высоких энергий.
В результате изучения дисциплины специалист должен:
иметь представление:
- о современных программных и аппаратных средствах;
- об установке операционной системы Linux на персональном компьютере;
- о программировании в Linux на различных алгоритмических языках.
знать и уметь использовать:
- методы и приемы работы в операционной системе Linux;
- средства удаленной работы на Linux-компьютере (Putty, WinSCP);
- командный интерпретатор bash;
- Shell-программирование;
- основы программирования в ОС Linux на алгоритмических языках высокого
уровня.
иметь навыки:
- удаленной работы на Linux-компьютере из операционной системы Windows;
- работы с командным интерпретатором bash;
- shell-программирования.
Учебная программа курса «Компьютерная физика в Linux» рекомендуется для
подготовки специалистов по специальности 1-31 04 01-04 «Физика (управленческая деятельность)».
Общее количество часов – 56; аудиторное количество часов — 34, из них: лекции
– 30, самостоятельная управляемая работа студентов (СУРС) — 4. Форма отчётности —
зачет в 7-м семестре.
СОДЕРЖАНИЕ УЧЕБНОГО МАТЕРИАЛА
Тема 1. Введение в Linux
Операционные системы. Семейство ОС типа Unix. История развития проекта свободного программного обеспечения GNU. История Linux. Дистрибутивы Linux. Учетные записи. Виртуальные терминалы. Командный интерпретатор (оболочка). Завершение работы Linux. Источники справочной информации в Linux. Файловая система
Linux. Типы файлов: обычные файлы, каталоги, файлы физических устройств, именованные каналы, гнезда. Символические и жесткие ссылки. Права доступа.
5
Тема 2. Сеанс работы в ОС Linux
Сеанс работы в Linux. Работа на Linux-компьютере с удаленным доступом из
Windows. Программа Putty. Регистрация в ОС Linux. Виртуальные терминалы. Простые
команды в Linux: who, write, tty, whoami, ls, pwd, cd, ps, rm. История команд. Специальное назначение Tab, Esc. Свойства файлов. Права доступа. Текущий каталог. Домашний каталог. Абсолютный и относительный путь к файлу. Системные каталоги. Команда logout.
Тема 3. Углубленное изучение Linux: программы, процессы, шаблоны, потоки, конвейеры, переменные окружения
Работа в командной строке оболочки bash. Метасимволы и шаблоны. Разделитель
команд. Запуск программ в фоновом режиме. Программы и процессы. Ввод-вывод для
Shell-команд. Перенаправление ввода-вывода. Конвейеры. Настройки сеанса. Переменные окружения. Профайл. Файл настроек оболочки .bashrc. Создание новых команд.
Аргументы и параметры команды. Переменные окружения в оболочке: $HOME, $PS1,
$IFS, $0, $#, $$. Переменные-параметры команды: $n, $*, $@. Текстовые редакторы.
Тема 4. Элементы языка Shell
Переменные. Оператор условия и команда test. Циклы: for, while, until. Команды
break, continue. Оператор case. Команда “.” (source). Команда export.
Тема 5. Команды поиска find и grep
Команда find. Пути, опции, критерии, действия. Команда grep. Регулярные выражения.
Тема 6. Примеры SHELL-программ
Улучшенная версия программы cal. Программа определения файла, соответствующего команде - which. Контроль работы пользователя в системе – watchfor. Уничтожение процесса по имени – zap.
Тема 7. С++-программирование в Linux
Компилятор. Мультифайловое программирование. Утилита make. Архитектура
С++-программы. Директивы препроцессора.
Тема 8. Статические и разделяемые С++-библиотеки
Понятие библиотеки. Пример статической библиотеки. Пример разделяемой библиотеки.
Тема 9. Построитель задач GNU-make
Утилита make. Шаблонные правила. Автоматические переменные. Абстрактные
цели. Разнесение файлов с исходным текстом по директориям. Автоматическое построение зависимостей. Автоматическое построение объектных файлов. Создание проекта с
помощью GNU-make.
2
3
4
Введение в Linux
1. Семейство ОС типа Unix. История развития проекта свободного
программного обеспечения GNU.
2. Учетные записи
3. Источники справочной информации в Linux
4. Файловая система Linux
Сеанс работы в ОС Linux
1. Работа на Linux-компьютере с удаленным доступом из
Windows.
2. Простые команды в Linux: who, write, ls, pwd, cd, ps, rm.
3. История команд. Специальное назначение Tab, Esc.
4. Свойства файлов. Права доступа. Жесткие и символические
ссылки. Системные каталоги.
Углубленное изучение Linux: программы, команды, процессы,
шаблоны, потоки, конвейеры, переменные окружения.
1. Запуск программ. Программы и процессы. Фоновый режим.
Метасимволы и шаблоны. Ввод-вывод для Shell-команд. Перенаправление ввода-вывода. Конвейеры.
2. Текстовые редакторы.
3.Создание новых команд. Аргументы и параметры команды.
4. Настройки сеанса. Профайл. Переменные окружения.
Элементы языка Shell.
1. Переменные. Переменные окружения в оболочке. Переменныепараметры команды.
2. Оператор условия и команда test.
3. Циклы: for, while, until. Команды break, continue. Оператор case.
4. Команда “.” (source). Команда export.
5
7
8
Формы контроля знаний
6
Литература
СУРС
4
лабораторные
занятия
3
2
практические
(семинарские)
занятия
лекции
1
1
Количество аудиторных
часов
Всего часов
Номер раздела,
темы, занятия
Название раздела, темы, занятия;
перечень изучаемых вопросов
Материальное обеспечение заня-тия (наглядные, методические пособия и др.)
УЧЕБНО-МЕТОДИЧЕСКАЯ КАРТА
2
2
ПК
9
[1-3]
10
2
2
ПК
[1-3]
Контрольное тестирование
4
4
ПК
[1-3]
Контрольное тестирование
4
4
ПК
[1-3]
Контрольное тестирование
7
5
6
7
8
9
Команды поиска find и grep
1.Команда find.
2.Пути, опции, критерии, действия.
3.Команда grep.
4.Регулярные выражения.
Примеры SHELL-программ
1.Улучшенная версия программы cal.
2.Программа определения файла, соответствующего команде which.
3.Контроль работы пользователя в системе – watchfor.
4.Уничтожение процесса по имени – zap.
С++-программирование в Linux.
1.Компилятор.
2.Мультифайловое программирование.
3.Архитектура С++-программы.
4.Директивы препроцессора.
Статические и разделяемые С++-библиотеки.
1.Понятие библиотеки.
2.Пример статической библиотеки.
3.Пример разделяемой библиотеки.
Построитель задач GNU-make.
1. Утилита make. Шаблонные правила. Автоматические переменные. Абстрактные цели.
2. Автоматическое построение объектных файлов.
3. Создание проекта с помощью GNU-make.
4. Построение проекта с классами С++ и с разветвленной структурой директориев.
Итого часов:
4
4
4
2
6
4
ПК
[1-3]
Контрольное тестирование
2
ПК
[1-3]
Контрольное тестирование
2
ПК
[3]
Контрольное тестирование
4
4
ПК
[1-3]
4
4
ПК
[4]
34
30
4
Контрольное тестирование
Зачет
ИНФОРМАЦИОННО-МЕТОДИЧЕСКАЯ ЧАСТЬ
Формы контроля знаний
1. Контрольное тестирование, зачет.
Рекомендуемая литература
1.
2.
3.
4.
Основная
Мэтью, Н. Основы программирования в Linux / Н.Мэтью, Р.Стоун. — СПб.: БХВПетербург, 2003.
Лебланк, Д. Linux для “чайников” / Д. Лебланк, М. Хоуг, Э. Бломквист. — М.: Диалектика, 2003.
Керниган, Б.В. UNIX – универсальная среда программирования / Б. В. Керниган, Р.
Пайк. — М.: Финансы и статистика, 1992.
Игнатов, В. Эффективное использование GNU make / В. Игнатов. — E-book, 2000.
Дополнительная
5. Колисниченко, Д.Н. Linux: полное руководство / Д.Н. Колисниченко, А. Питер. —
СПб: Наука и Техника, 2006.
6. Бендел Д. Использование Linux. 6-е издание / Д. Бендел, , Р. Нейпир — М.: Издательский дом «Вильямс», 2002.
9
ПРОТОКОЛ СОГЛАСОВАНИЯ УЧЕБНОЙ ПРОГРАММЫ
ПО ИЗУЧАЕМОЙ УЧЕБНОЙ ДИСЦИПЛИНЕ С ДРУГИМИ
ДИСЦИПЛИНАМИ СПЕЦИАЛЬНОСТИ
Название
дисциплины,
с которой
требуется согласование
Название
Кафедры
Предложения
об изменениях в
содержании учебной программы
по изучаемой учебной
дисциплине
Решение, принятое кафедрой, разработавшей учебную программу (с указанием даты и номера протокола)
Рекомендовать к утверждению учебную программу в представленном варианте
протокол № ___ от
___.___.20___
10
ДОПОЛНЕНИЯ И ИЗМЕНЕНИЯ К УЧЕБНОЙ ПРОГРАММЕ
ПО ИЗУЧАЕМОЙ УЧЕБНОЙ ДИСЦИПЛИНЕ
на _____/_____ учебный год
№№
пп
Дополнения и изменения
Основание
Учебная программа пересмотрена и одобрена на заседании кафедры
теоретической физики
(протокол № ____ от ________ 20__ г.)
Заведующий кафедрой
теоретической физики
к.ф.-м.н., доцент
__________________ В.В. Андреев
УТВЕРЖДАЮ
Декан физического факультета УО «ГГУ им. Ф. Скорины»
к.ф.-м.н., доцент
__________________ Ю.В. Никитюк
Download