НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
УТВЕРЖДАЮ
Первый проректор
__________
"___"______1999г.
РАБОЧАЯ ПРОГРАММА
по дисциплине "Системное программирование"
для специальности 200900 - Сети связи и системы коммутации,
направление 550400 - Телекоммуникации
Факультет радиоэлектроники и технической кибернетики
Кафедра "Теория цепей и телекоммуникаций"
Курс 2, 3
Семестры 4, 5
Общая трудоемкость дисциплины - 215 час.
Лекции - 68 час. Экзамен - 5 семестр
Практические семинарские занятия - Зачет - 4 семестр
Лабораторные занятия - 51 час.
Курсовой проект (работа) -
Самостоятельная работа - 96 час.
Индивидуальная работа -
1999 г.
Рабочая программа составлена на основании Государственного образовательного стандарта высшего профессионального образования Госкомвуза Российской федерации от 29.12.94г.
Рабочая программа обсуждена на заседании кафедры "Теория цепей и телекоммуникаций"
Заведующий кафедрой
___»________________ 1999г.
Председатель научно – методического совета по направлению С.Б.
___»________________ 1999г.
Прелседатель секции по дисциплинам
Н.Ф.Ершов
___»________________ 1999г.
1. Пояснительная записка
1.1. Цель преподавания дисциплины
Обучение студентов методам алгоритмизации и программирования технических, эксплуатационных и управленческих задач в связи.
Изучение студентами принципов функционирования операционных систем, в том числе операционных систем реального времени; принципов построения и функционирования вычислительных комплексов, сетей ЭВМ, сетевых приложений.
Основные знания и умения, приобретаемые студентом в результате изучения дисциплины. Студент должен:
- знать и уметь применять модели решения функциональных и вычислительных задач;
- освоить язык программирования высокого уровня и современные технологии программирования сложных программных комплексов;
- знать структуры организации и хранения данных.
- знать принципы организации и функционирования современных глобальных сетей телекоммнуникации, уметь работать с информацией в сетях.
1.2. Задачи
Студент должен:
n понимать принципы функционирования операционных систем и вычислительных комплексов;
n знать алгоритмы и методы проектирования сложных вычислительных систем, уметь управлять ими и вносить необходимые изменения;
n уметь искать и получать информацию в глобальных сетях, проектировать и создавать сетевые приложения.
1.3. Связь с другими дисциплинами
Изучение данного курса опирается на курсы “Информатика”, “Дискретная математика”.
2. Сетка распределения часов лекционных и
практических занятий по темам дисциплины
"Теория электрических цепей"
Наименование темы |
Курс 68 часа |
||
Лекции |
Практич. |
Лаборат. |
|
1. Введение в операционные системы |
4 |
- |
|
2. Работа с внешними устройствами |
2 |
- |
- |
3. Режимы работы ЭВМ |
2 |
- |
- |
4. Управление памятью ЭВМ |
4 |
- |
- |
5. Сортировка и поиск, рекурсивные алгоритмы |
6 |
- |
14 |
6. Технология программирования, Классификация данных и типов |
6 |
- |
- |
7. Операторный базис языков программирования |
4 |
- |
20 |
8. Ввод - вывод |
4 |
_ |
_ |
9. Проектирование и отладка сложных программных комплексов |
8 |
- |
- |
10. Глобальные сети телекоммуникаций |
6 |
- |
- |
11. Программирование в системе X Windows |
12 |
- |
17 |
12. Введение в Базы Данных |
10 |
- |
- |
3. Описание содержания тем курса
В процессе изучения курса "Системное программирование" студент должен освоить разделы “Операционные системы”, “Технологии программирования и основные алгоритмы”, “Программирование приложений для глобальных сетей”, “Программирование в системе X Windows”, “Введение в Базы Данных” приведенные в данной программе.
3.1.”Операционные системы”
3.1.1. Введение в операционные системы (ОС). Исторический обзор. Назначение и основные функции ОС: управление устройствами, управление задачами и процессами, управление данными. ОС для ЭВМ различных классов. Управляющая программа ОС. Язык директив. Командные файлы.
3.1.2. Работа с внешними устройствами. Организация работы с внешними устройствами на ЭВМ разных классов. Порты ввода-вывода. Общая шина. Совмещение работы центрального процессора и периферийных устройств ЭВМ. Мультипрограммный режим работы. Понятие канала.
3.1.3. Режимы работы ЭВМ. Работа ЭВМ в режиме мультипрограммирования, разделения времени и реального времени. Пакетный и диалоговый режимы работы. Система прерываний, маскирование прерываний. Защита памяти, привилегированные команды.
3.1.4. Управление памятью ЭВМ. Статическое и динамическое распределение оперативной памяти между задачами. Фрагментация памяти, тупики. Оверлейная структура программ. Виртуальная память, механизмы подкачки. Страничная организация виртуальной .
3.2. “Технологии программирования и основные алгоритмы”
3.2.1. Сортировка и поиск. О(n2) алгоритмы сортировки (выбором, вставкой); оценки сложности, лучшие и худшие случаи; О(n*log n) алгоритмы сортировки (быстрая сортировка, метод слияния); оценки сложности. Другие методы сортировки (метод Шелла и др.) Сравнение алгоритмов сортировки. Последовательный и бинарный поиск, поиск в двоичном дереве; оценки сложности, лучшие и худшие случаи; хеширование, устранение коллизий.
3.2.2. Рекурсивные алгоритмы. Понятие и применение рекурсивных алгоритмов при решении задач. Связь с математической индукцией; сравнение рекурсивных и итеративных алгоритмов. Анализ сложности алгоритмов. Понятие вычислительной сложности (по времени и памяти) и его применение для анализа алгоритмов. Классы сложности. Обзор классов сложности (P и NP), верхние, средние и нижние оценки. Разрешимые и неразрешимые задачи. NP-полнота.
3.2.3. Технология программирования. Основные конструкции языков программирования и их реализации. Методы разработки алгоритмов и программ.
3.2.4. Данные и типы. Классификация данных. Атрибуты данных и средства их описания. Характеристики, связанные с типом (класс значений, множество операций). Базисные типы данных.
3.2.5. Операторный базис традиционных языков программирования. Средства определения подпрограмм. Правила передачи параметров. Процедурные абстракции. Понятие модуля. Инкапсуляция. Абстрактные типы данных. Имя в языках программирования. Описания и области действия. Правила видимости. Параметризация типов.
3.2.6. Ввод - вывод.
3.2.7. Отладка сложных программных комплексов. Понятие правильности и надежности программного комплекса. Тестирование и испытание программных продуктов. Методика поиска ошибок.
3.3. “Программирование приложений для глобальных сетей”
3.3.1. Глобальные сети телекоммуникаций. Internet. Основные протоколы (Internet Protocol, Transmission Control Protocol, User Datagram Protocol и т.п.). Доменная система имен. Удаленный доступ (Telnet). Перемещение файлов (FTP). Электронная поста. Телеконференции. World Wide Web. Навигация в глобальных сетях.
3.3.2. Ссылочный язык гипертекстов (Hyper Text Markup Language). Создание страниц на языке HTML.
3.3.3. Введение в программирование приложений в Internet на языке Java
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.