Рабочая программа по дисциплине "Системное программирование" (Описание содержания тем курса. Темы лабораторных занятий)

Страницы работы

Фрагмент текста работы

НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

УТВЕРЖДАЮ

Первый проректор

__________

"___"______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

Похожие материалы

Информация о работе