Департамент образования города Москвы

ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

города МОСКВЫ

Московский городской ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ

«СОГЛАСОВАНО»

проректор по научной работе МГПУ

___________________

_____.___________2011 г.

Рабочая программа дисциплины

ОД. А 03 Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Название дисциплины с индексом в соответствии с учебным планом

основной профессиональной образовательной программы послевузовского

профессионального образования (аспирантура)

по научной специальности

05.13.11 «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей (технические науки)»

шифр и наименование специальности с указанием в скобках отрасли науки.

Москва, 2011

Дисциплина: ОД. А 03 Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

Научная специальность: 05.13.11 «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей»

Цикл дисциплин (по учебному плану): ОД. А

Курс: 2 (IV семестр)

Трудоёмкость в ЗЕТ: 8

Трудоёмкость в часах: 288

Количество аудиторных часов на дисциплину: 100

В том числе:

Лекции: 100

Практические и семинарские занятия: -

Количество часов на самостоятельную работу: 188

Рабочая программа дисциплины ОД. А 03 Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей (название дисциплины с указанием индекса по учебному плану)[1] составлена на основании федеральных государственных требований к структуре основной профессиональной образовательной программы послевузовского профессионального образования (аспирантура) от 16 марта 2011 № 000, разработана на основе паспорта научной специальности и учебного плана подготовки аспирантов в ГБОУ ВПО по основной профессиональной образовательной программе послевузовского профессионального образования (аспирантура) по специальности 05.13.11 «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей».

НЕ нашли? Не то? Что вы ищете?

Требования к уровню подготовки аспиранта, завершившего изучение дисциплины (компетенции):

Аспирант должен обладать следующими общекультурными компетенциями:

глубоким пониманием и владением методологии научного познания в области математического и программного обеспечения вычислительных машин, комплексов и компьютерных сетей, современных компьютерных технологий, применяемых при сборе, хранении, обработке, анализе и передаче информации; способностью самостоятельно использовать современные компьютерные технологии для решения научно-исследовательских и производственно-технологических задач профессиональной деятельности;

способностью и готовностью к активному общению в научной, производственной и социально-общественной сферах деятельности и способностью к активной социальной мобильности;

способностью использовать углубленные знания правовых и этических норм при оценке последствий своей профессиональной деятельности, при разработке и осуществлении социально значимых проектов; использованием на практике навыков и умений в организации научно-исследовательских и научно-производственных работ;

навыками самостоятельной и коллективной научно-исследовательской работы, способностью генерировать новые идеи.

Аспирант должен обладать компетенциями в научно-исследовательской деятельности:

способностью формулировать проблемы, определять задачи и методы научного исследования; получать новые достоверные факты на основе наблюдений, опытов, научного анализа эмпирических данных; реферировать научные труды, составлять аналитические обзоры накопленных сведений в мировой науке и производственной деятельности; обобщать полученные результаты в контексте ранее накопленных в науке знаний; формулировать выводы и практические рекомендации на основе результатов исследований;

глубоким пониманием и творческим использованием в научной и производственно-технологической деятельности знания фундаментальных и прикладных разделов специальных дисциплин;

владением основами проектирования, экспертно-аналитической деятельности и выполнения исследований с использованием современных подходов и методов, аппаратуры и вычислительных комплексов;

использованием современных методов обработки и интерпретации информации при проведении научных и производственных исследований;

Аспирант должен обладать компетенциями в проектно-производственной деятельности:

знанием: методов разработки и применения теории программирования, создания и сопровождения программных средств различного назначения, методов и способов повышения эффективности и надежности процессов обработки и передачи данных и знаний в вычислительных машинах, комплексах и компьютерных сетях.

умением: создавать модели, методы и алгоритмы проектирования, анализа, верификации и тестирования программ и программных систем,

исследовать языки программирования и системы программирования, семантику программ, системы управления базами данных и знаний, программные системы символьных вычислений, операционные системы, человеко-машинные интерфейсы; модели, методы, алгоритмы и программные средства машинной графики, визуализации, обработки изображений, систем виртуальной реальности, мультимедийного общения, модели и методы создания программ и программных систем для параллельной и распределенной обработки данных, языки и инструментальные средства параллельного программирования, модели, методы, алгоритмы и программную инфраструктуру для организации глобально распределенной обработки данных.

проводить оценку качества, стандартизацию программных систем.

способностью применять: знания в области математического и программного обеспечения вычислительных машин, комплексов и компьютерных сетей в экономике и обществе с учетом отраслевых особенностей.

В экспертно-аналитической и контрольно-ревизионной деятельности аспирант должен обладать компетенцией проведения экспертизы различных видов проектного задания и разработки рекомендации по созданию новых и совершенствованию существующих структур, механизмов и моделей математического и программного обеспечения вычислительных машин, комплексов и компьютерных сетей, с целью повышения эффективности и надежности их функционирования.

В административной деятельности аспирант должен обладать компетенциями осуществления организации и управлении научно-исследовательскими и научно-производственными и экспертно-аналитическими работами с использованием углубленных знаний в области математического и программного обеспечения вычислительных машин, комплексов и компьютерных сетей, включая области образования, права, обороны, здравоохранения и охраны природы.

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

Целью изучения дисциплины «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей» является подготовка специалистов высшей квалификации, усвоивших достижения науки и передовой практики и способных успешно вести практическую деятельность в области повышения эффективности и надежности процессов обработки и передачи данных и знаний в вычислительных машинах, комплексах и компьютерных сетях.

Задачи дисциплины: Основной задачей является изучение наиболее общих закономерностей и тенденций развития в области математического и программного обеспечения вычислительных машин, комплексов и компьютерных сетей.

Принципы отбора содержания и организации учебного материала:

В основу отбора и структурирования содержания данной дисциплины заложены следующие принципы:

- научности, требующий отображения достижения науки как постоянно развивающейся отрасли человеческой культуры, имеющей свою историю, предмет, свою методологию исследования и свои задачи;

- системности, предполагающий рассмотрение объектов управления в социальных и экономических системах с выявлением полной типологией связей;

- целостности, предполагающий обеспечение единства отдельных частей курса, преемственности его идей, связей с другими специальными дисциплинами;

- модульности и вариативности, допускающие ведение в содержание дополнительных элементов и выстраивание единиц содержания в логике освоения курса;

- дифференциации, предполагающий возможность основания одного и того материала на разных уровнях овладения;

- индивидуализации обучения, учитывающий образовательные потребности аспирантов, их научно-исследовательские интересы и творческие возможности.

Организация учебного материала состоит в отборе содержания, методов и форм его усвоения аспирантами в зависимости от научных интересов: специфики его исследования, круга актуальных для него проблем, опыта использования образовательных технологий. Выбор содержания должен быть обусловлен ценностными установками и профессиональными интересами, потребностями и возможностями курса «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей». В разработке лекционного курса рекомендуется использовать системный подход, акцентируя внимание на общих тенденциях развития теории практики в области математического и программного обеспечения вычислительных машин, комплексов и компьютерных сетей.

На занятиях предполагается проблемное изучение материала на основе анализа литературных данных и ресурсов Интернета, что позволяет содержательно расширить курс и обратить внимание на более интересные проблемы теории и практики.

Основное содержание:

Наименование раздела

Тема лекции

Кол-во часов

1.

Математические основы программирования

Тема 1. Теория алгоритмов.

Понятие алгоритма и его уточнения: машины Тьюринга, нормальные алгоритмы Маркова, рекурсивные функции. Эквивалентность данных формальных моделей алгоритмов. Понятие об алгоритмической неразрешимости. Примеры алгоритмически неразрешимых проблем.

Понятие сложности алгоритмов. Классы P и NP. Полиномиальная сводимость задач. Теорема Кука об NP-полноте задачи выполнимости булевой формулы. Примеры NP-полных задач, подходы к их решению. Точные и приближенные комбинаторные алгоритмы.

Примеры эффективных (полиномиальных) алгоритмов: быстрые алгоритмы поиска и сортировки; полиномиальные алгоритмы для задач на графах и сетях (поиск в глубину и ширину, о минимальном остове, о кратчайшем пути, о назначениях

4

Тема 2. Теория автоматов и алгебра логики.

Автоматы. Эксперименты с автоматами. Алгебры регулярных выражений. Теорема Клини о регулярных языках.

Алгебра логики. Булевы функции, канонические формы задания булевых функций. Понятие полной системы. Критерий полноты Поста. Минимизация булевых функций в классах нормальных форм.

Исчисление предикатов первого порядка. Понятие интерпретации. Выполнимость и общезначимость формулы первого порядка. Понятие модели. Теорема о полноте исчисления предикатов первого порядка.

Отношения и функции. Отношение эквивалентности и разбиения. Фактор множества. Отношения частичного порядка. Теоретико-множественное и алгебраическое определения решетки, их эквивалентность. Свойства решеток. Булевы решетки. Полные решетки.

4

Тема 3. Формальные языки.

Формальные языки и способы их описания. Классификация формальных грамматик. Их использование в лексическом и синтаксическом анализе.

Лямбда-исчисление, правила редукции, единственность нормальной формы и правила ее достижения, представление рекурсивных функций

4

Тема 4. Основы криптографии

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

Коды с исправлением ошибок. Алфавитное кодирование. Методы сжатия информации.

Основы криптографии. Задачи обеспечения конфиденциальности и целостности информации. Теоретико-информационный и теоретико-сложностный подходы к определению криптографической стойкости. Американский стандарт шифрования DES и российский стандарт шифрования данных ГОСТ . Системы шифрования с открытым ключом (RSA). Цифровая подпись. Методы генерации и распределения ключей.

4

2

Вычислительные машины, системы и сети

Тема 5. Архитектура современных компьютеров.

Организации памяти и архитектура процессора современных вычислительных машин. Страничная и сегментная организация виртуальной памяти. Кэш-память. Командный и арифметический конвейеры, параллельное выполнение независимых команд, векторные команды. Специализированные процессоры. Машины, обеспечивающие выполнение вычислений, управляемых потоком данных. Организация ввода-вывода, каналы и процессоры ввода-вывода, устройства сопряжения с объектами

4

Тема 6. Вычислительные системы.

Классификация вычислительных систем (ВС) по способу организации параллельной обработки. Многопроцессорные и многомашинные комплексы. Вычислительные кластеры. Проблемно-ориентированные параллельные структуры: матричные ВС, систолические структуры, нейросети

4

Тема 7. Вычислительные сети.

Назначение, архитектура и принципы построения информационно – вычислительных сетей (ИВС). Локальные и глобальные ИВС, технические и программные средства объединения различных сетей.

Методы и средства передачи данных в ИВС, протоколы передачи данных.

Особенности архитектуры локальных сетей (Ethernet, Token Ring, FDDI).

Сеть Internet, доменная организация, семейство протоколов TCP/IP. Информационно-вычислительные сети и распределенная обработка информации.

4

3

Языки и системы программирования. Технология разработки программного обеспечения

Тема 8. Процедурные языки программирования

Языки программирования. Процедурные языки программирования (Фортран, Си), Функциональные языки программирования (Лисп), логическое программирование (Пролог), объектно-ориентированные языки программирования (Ява).

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

4

Тема 9. Объектно-ориентированное программирование.

Классы и объекты, наследование, интерфейсы. Понятие об объектном окружении. Рефлексия. Библиотеки классов. Средства обработки объектов (контейнеры и итераторы).

.

4

Тема 10. Распределенное программирование.

Процессы и их синхронизация. Семафоры, мониторы Хоара. Объектно-ориентированное распределенное программирование. CORBA. Параллельное программирование над общей памятью. Нити. Стандартный интерфейс Open MP. Распараллеливание последовательных программ. Параллельное программирование над распределенной памятью. Парадигмы SPMD и MIMD. Стандартный интерфейс MPI.

4

Тема 11. Основы построения трансляторов.

Структура оптимизирующего транслятора. Промежуточные представления программы: последовательность символов, последовательность лексем, синтаксическое дерево, абстрактное синтаксическое дерево. Уровни промежуточного представления: высокий, средний, низкий. Формы промежуточного представления.

Анализ исходной программы в компиляторе. Автоматные (регулярные) грамматики и сканирование, контекстно свободные грамматики и синтаксический анализ, организация таблицы символов программы, имеющей блочную структуру, хеш-функции. Нисходящие (LL(1)-грамматики) и восходящие (LR(1)-грамматики) методы синтаксического анализа. Атрибутные грамматики и семантические программы, построение абстрактного синтаксического дерева. Автоматическое построение лексических и синтаксических анализаторов по формальным описаниям грамматик. Системы lex и yacc. Система Gentle.

Оптимизация программ при их компиляции. Оптимизация базовых блоков, чистка циклов. Анализ графов потока управления и потока данных. Отношение доминирования и его свойства, построение границы области доминирования вершины, выделение сильно связанных компонент графа. Построение графа зависимостей. Перевод программы в SSA-представление и обратно. Глобальная и межпроцедурная оптимизация.

Генерация объектного кода в компиляторах. Перенастраиваемые (retargetable) компиляторы, gcc (набор компиляторов Gnu). Переработка термов (term rewriting). Применение оптимизационных эвристик (целочисленное программирование, динамическое программирование) для автоматической генерации генераторов объектного кода (системы BEG, Iburg и др.).

4

Тема 12. Машинно-ориентированные языки, системы программирования.

Представление машинных команд и констант. Команды транслятору. Их типы, принципы реализации. Макросредства, макровызовы, языки макроопределений, условная макрогенерация, принципы реализации.

Системы программирования (СП), типовые компоненты СП: языки, трансляторы, редакторы связей, отладчики, текстовые редакторы. Модульное программирование. Типы модулей. Связывание модулей по управлению и данным.,

Машинно-ориентированные языки, язык ассемблера. Представление машинных команд и констант. Команды транслятору. Их типы, принципы реализации. Макросредства, макровызовы, языки макроопределений, условная макрогенерация, принципы реализации.

Системы программирования (СП), типовые компоненты СП: языки, трансляторы, редакторы связей, отладчики, текстовые редакторы. Модульное программирование. Типы модулей. Связывание модулей по управлению и данным..

4

Тема 13. Пакеты прикладных программ. Технология разработки и сопровождения программ

Пакеты прикладных программ (ППП). Системная часть и наполнение. Языки общения с ППП. Машинная графика. Средства поддержки машинной графики. Графические пакеты.

Технология разработки и сопровождения программ. Жизненный цикл программы. Этапы разработки, степень и пути их автоматизации. Обратная инженерия. Декомпозиционные и сборочные технологии, механизмы наследования, инкапсуляции, задания типов. Модули, взаимодействие между модулями, иерархические структуры программ.

Отладка, тестирование, верификация и оценивание сложности программ. Генерация тестов. Системы генерации тестов. Срезы программ (slice, chop) и их применение при отладке программ и для генерации тестов.

Методы спецификации программ. Методы проверки спецификации. Схемное, структурное, визуальное программирование. Разработка пользовательского интерфейса, стандарт CUA, мультимедийные среды интерфейсного взаимодействия.

4

4

Операционные системы

Тема 14. Функционирование вычислительных систем.

Режимы функционирования вычислительных систем, структура и функции операционных систем. Основные блоки и модули. Основные средства аппаратной поддержки функций операционных систем (ОС): система прерываний, защита памяти, механизмы преобразования адресов в системах виртуальной памяти, управление каналами и периферийными устройствами.

Виды процессов и управления ими в современных ОС. Представление процессов, их контексты, иерархии порождения, состояния и взаимодействие. Многозадачный (многопрограммный) режим работы. Команды управления процессами. Средства взаимодействия процессов. Модель клиент-сервер и ее реализация в современных ОС.

4

Тема 15. Взаимодействие процессов.

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

Операционные средства управления процессами при их реализации на параллельных и распределенных вычислительных системах и сетях: стандарты и программные средства PVM, MPI, OpenMP, POSIX.

Одноуровневые и многоуровневые дисциплины циклического обслуживания процессов на центральном процессоре, выбор кванта.

Управление доступом к данным. Файловая система, организация, распределение дисковой памяти. Управление обменом данными между дисковой и оперативной памятью. Рабочее множество страниц (сегментов) программы, алгоритмы его определения.

Управление внешними устройствами.

4

Тема 16. Многозадачная работа компьютеров. Сети.

Оптимизация многозадачной работы компьютеров. Операционные системы Windows, Unix, Linux. Особенности организации, предоставляемые услуги пользовательского взаимодействия.

Операционные средства управления сетями. Эталонная модель взаимодействия открытых систем ISO/OSI. Маршрутизация и управление потоками данных в сети. Локальные и глобальные сети. Сетевые ОС, модель клиент — сервер, средства управления сетями в ОС UNIX, Windows NT. Семейство протоколов TCP/IP, структура и типы IP-адресов, доменная адресация в Internet. Транспортные протоколы TCP, UDP.

Удаленный доступ к ресурсам сети. Организация электронной почты, телеконференций. Протоколы передачи файлов FTP и HTTP, язык разметки гипертекста HTML, разработка WEB-страниц, WWW-серверы

8

5

Методы хранения данных и доступа к ним. Организация баз данных и знаний

Тема 17. Реляционная модель данных.

Концепция типа данных. Абстрактные типы данных. Объекты (основные свойства и отличительные признаки).

Основные структуры данных, алгоритмы обработки и поиска. Сравнительная характеристика методов хранения и поиска данных.

Основные понятия реляционной и объектной моделей данных.

Теоретические основы реляционной модели данных (РДМ). Реляционная алгебра, реляционное исчисление. Функциональные зависимости и нормализация отношений

4

Тема 18. Проектирование и реализация баз данных.

CASE-средства и их использование при проектировании базы данных (БД).

Организация и проектирование физического уровня БД. Методы индексирования.

Обобщенная архитектура, состав и функции системы управления базой данных (СУБД). Характеристика современных технологий БД. Примеры соответствующих СУБД.

Основные принципы управления транзакциями, журнализацией и восстановлением.

Язык баз данных SQL. Средства определения и изменения схемы БД, определения ограничений целостности. Контроль доступа. Средства манипулирования данными.

Стандарты языков SQL. Интерактивный, встроенный, динамический SQL.

Основные понятия технологии клиент—сервер. Характеристика SQL-сервера и клиента. Сетевое взаимодействие клиента и сервера.

Информационно-поисковые системы. Классификация. Методы реализации и ускорения поиска.

10

Тема 19. Представление знаний. Экспертные системы.

Методы представления знаний: процедурные представления, логические представления, семантические сети, фреймы, системы продукций. Интегрированные методы представления знаний. Языки представления знаний. Базы знаний.

Экспертные системы (ЭС). Области применения ЭС. Архитектура ЭС. Механизмы вывода, подсистемы объяснения, общения, приобретения знаний ЭС. Жизненный цикл экспертной системы. Примеры конкретных ЭС..

8

6

Защита данных и программных систем

Тема 20. Аппаратные и программные методы защиты данных и программ.

Защита данных и программ с помощью шифрования.

Защита от несанкционированного доступа в OC Windows NT. Система безопасности и разграничения доступа к ресурсам в Windows NT. Файловая система NFTS и сервисы Windows NT.

Защита от несанкционированного копирования. Методы простановки некопируемых меток, настройка устанавливаемой программы на конкретный компьютер, настройка на конфигурацию оборудования.

Защита от разрушающих программных воздействий. Вредоносные программы и их классификация. Загрузочные и файловые вирусы, программы-закладки. Методы обнаружения и удаления вирусов, восстановления программного обеспечения.

Защита информации в вычислительных сетях Novell Netware, Windows NT и др

10

Итого

100

Основные понятия:

программирование, алгоритм, алгебра логики, формальные языки, криптография, архитектура компьютера, вычислительная система, компьютерные сети, Интернет, языки программирования, распределенное программирование, трансляторы, оптимизация программ, математическое обеспечение, программное обеспечение, синтаксическое дерево, контекстно-свободные грамматики и синтаксический анализ, перенастраиваемые компиляторы, язык ассемблера, пакеты прикладных программ, жизненный цикл программы, объектно-ориентированное программирование, процедурное программирование, модель клиент-сервер, модели данных, базы данных, проектирование баз данных, CASE технологии, экспертные системы, механизм вывода, методы представления знаний, жизненный цикл информационной системы, защита данных, файловая система, антивирусы, информационные технологии, эффективность, эффективность управления, моделирование.

Технологии освоения программы:
Изучение дисциплины осуществляется с использованием активных форм обучения, созданием проблемных ситуаций, с использованием интерактивных форм и информационных технологий.
Организация самостоятельной работы

Изучение учебного материала, перенесенного с аудиторных занятий на самостоятельную проработку.

Выявление информационных ресурсов в научных библиотеках и сети Internet по следующим направлениям:

·  составление библиографии по проблемам управления и принятия решений в организационных системах;

·  анализ и рецензирование публикации (в том числе электронных) источников по вопросам управления в социальных и экономических системах;

·  составление аннотированного списка научно-исследовательской литературы по актуальным проблемам управления и принятия решений в организационных системах;

·  конспектирование и реферирование первоисточников и научно-исследовательской литературы по тематическим блокам.

Типовые задания для самостоятельной работы:

·  Подготовка реферата.

·  Работа с первоисточниками.

·  Подготовка докладов.

·  Решение исследовательских задач.

·  Составление понятийного тезауруса.

·  Подготовка презентации.

·  Составление аннотированного списка литературы по одной из тем.

·  Разработка проекта.

Аттестация:

а) Текущая аттестация проводится с целью реализации обратной связи, организации самостоятельной работы и текущей проверки усвоения дисциплины в форме: подготовки рефератов и докладов, составление схем, конспектов, презентаций и т. д.

б) Итоговая аттестация аспиранта включает сдачу кандидатских экзаменов и представление диссертации в Диссертационный совет.

Вопросы к зачету (экзамену)

1.  Понятие алгоритма. Эквивалентность данных формальных моделей алгоритмов. Понятие об алгоритмической неразрешимости.

2.  Понятие сложности алгоритмов. Классы P и NP. Полиномиальная сводимость задач. Примеры NP-полных задач, подходы к их решению. Точные и приближенные комбинаторные алгоритмы.

3.  Примеры эффективных (полиномиальных) алгоритмов: быстрые алгоритмы поиска и сортировки; полиномиальные алгоритмы для задач на графах и сетях (поиск в глубину и ширину, о минимальном остове, о кратчайшем пути, о назначениях).

4.  Автоматы. Эксперименты с автоматами. Алгебры регулярных выражений.

5.  Отношения и функции. Отношение эквивалентности и разбиения. Фактор множества. Отношения частичного порядка. Теоретико-множественное и алгебраическое определения решетки, их эквивалентность. Свойства решеток.

6.  Формальные языки и способы их описания. Классификация формальных грамматик. Их использование в лексическом и синтаксическом анализе.

7.  Основы комбинаторного анализа. Метод производящих функций, метод включений и исключений. Примеры применения.

8.  Основы криптографии. Задачи обеспечения конфиденциальности и целостности информации. Теоретико-информационный и теоретико - сложностный подходы к определению криптографической стойкости. Системы шифрования с открытым ключом (RSA). Цифровая подпись. Методы генерации и распределения ключей.

9.  Многопроцессорные и многомашинные комплексы. Вычислительные кластеры. Проблемно-ориентированные параллельные структуры: матричные ВС, систолические структуры, нейросети.

10.  Методы и средства передачи данных в ИВС, протоколы передачи данных.

11.  Особенности архитектуры локальных сетей (Ethernet, Token Ring, FDDI).

12.  Сеть Internet, доменная организация, семейство протоколов TCP/IP.

13.  Распределенное программирование. Процессы и их синхронизация. Объектно-ориентированное распределенное программирование. Параллельное программирование над общей памятью. Параллельное программирование над распределенной памятью.

14.  Основы построения трансляторов. Структура оптимизирующего транслятора. Промежуточные представления программы. Уровни промежуточного представления.

15.  Анализ исходной программы в компиляторе. Автоматные (регулярные) грамматики и сканирование, контекстно свободные грамматики и синтаксический анализ, организация таблицы символов программы, имеющей блочную структуру, хеш-функции. Автоматическое построение лексических и синтаксических анализаторов по формальным описаниям грамматик.

16.  Оптимизация программ при их компиляции. Оптимизация базовых блоков, чистка циклов. Анализ графов потока управления и потока данных. Построение графа зависимостей. Глобальная и межпроцедурная оптимизация.

17.  Генерация объектного кода в компиляторах. Перенастраиваемые (retargetable) компиляторы, gcc (набор компиляторов Gnu). Переработка термов (term rewriting). Применение оптимизационных эвристик (целочисленное программирование, динамическое программирование) для автоматической генерации генераторов объектного кода (системы BEG, Iburg и др.).

18.  Технология разработки и сопровождения программ. Жизненный цикл программы. Этапы разработки, степень и пути их автоматизации. Модули, взаимодействие между модулями, иерархические структуры программ.

19.  Отладка, тестирование, верификация и оценивание сложности программ. Генерация тестов. Системы генерации тестов. Срезы программ (slice, chop) и их применение при отладке программ и для генерации тестов.

Методы спецификации программ. Схемное, структурное, визуальное программирование. Разработка пользовательского интерфейса, мультимедийные среды интерфейсного взаимодействия. Виды процессов и управления ими в современных ОС. Представление процессов, их контексты, иерархии порождения, состояния и взаимодействие. Многозадачный (многопрограммный) режим работы. Команды управления процессами. Средства взаимодействия процессов. Параллельные процессы, схемы порождения и управления. Организация взаимодействия между параллельными и асинхронными процессами: обмен сообщениями, организация почтовых ящиков. Операционные средства управления процессами при их реализации на параллельных и распределенных вычислительных системах и сетях: стандарты и программные средства PVM, MPI, OpenMP, POSIX. Одноуровневые и многоуровневые дисциплины циклического обслуживания процессов на центральном процессоре, выбор кванта. Оптимизация многозадачной работы компьютеров. Операционные системы Windows, Unix, Linux. Особенности организации, предоставляемые услуги пользовательского взаимодействия. Операционные средства управления сетями. Эталонная модель взаимодействия открытых систем ISO/OSI. Маршрутизация и управление потоками данных в сети. Сетевые ОС, модель клиент — сервер, средства управления сетями в ОС UNIX, Windows NT. Удаленный доступ к ресурсам сети. Организация электронной почты, телеконференций. Протоколы передачи файлов FTP и HTTP, язык разметки гипертекста HTML, разработка WEB-страниц, WWW-серверы. Теоретические основы реляционной модели данных (РДМ). Реляционная алгебра, реляционное исчисление. Функциональные зависимости и нормализация отношений. CASE-средства и их использование при проектировании базы данных (БД). Организация и проектирование физического уровня БД. Методы индексирования. Стандарты языков SQL. Интерактивный, встроенный, динамический SQL. Информационно-поисковые системы. Классификация. Методы реализации и ускорения поиска. Методы представления знаний: процедурные представления, логические представления, семантические сети, фреймы, системы продукций. Интегрированные методы представления знаний. Языки представления знаний. Базы знаний. Экспертные системы (ЭС). Архитектура ЭС. Механизмы вывода, подсистемы объяснения, общения, приобретения знаний ЭС. Жизненный цикл экспертной системы. Аппаратные и программные методы защиты данных и программ. Защита данных и программ с помощью шифрования. Защита от несанкционированного доступа в OC Windows NT. Система безопасности и разграничения доступа к ресурсам в Windows NT. Защита от несанкционированного копирования. Методы простановки некопируемых меток, настройка устанавливаемой программы на конкретный компьютер, настройка на конфигурацию оборудования. Защита от разрушающих программных воздействий. Вредоносные программы и их классификация. Загрузочные и файловые вирусы, программы-закладки. Методы обнаружения и удаления вирусов, восстановления программного обеспечения. Защита информации в вычислительных сетях Novell Netware, Windows NT и др.: методы и средства защиты.

Рекомендуемая литература:

а) основная литература

1. Ахо, Ульман Дж. Компиляторы: принципы, техника реализации и инструменты. М., 2001.

2. Введение в криптографию / Под ред. . СПб.: МЦНМО, 2001.

3. Дж. Введение в системы баз данных. М.: Вильямс, 1999.

4. Введение в операционные системы. М.: Мир, 1987.

5. Искусство программирования. Т. 1 – 3. М., СПб., Киев: ИД «Вильямс», 2000.

6. Когаловский технологий баз данных. М.: Финансы и статистика, 2002.

7. Компьютерные сети. Учебный курс Microsoft Corporation, 1997.

8. Алгоритмы, построение и анализ. М.: МЦНМО, 2000.

9. , Сабельфельд схем программ. М.: Наука, 1991.

10.  Механизмы защиты в сетях ЭВМ. М.: Мир, 1993.

11.  Мельников информации в компьютерных системах. М.: Финансы и статистика, 1997.

12.  Яблонский в дискретную математику. М.: Наука, 2001.

б) дополнительная литература

13.  UNIX – универсальная среда программирования. М.: Финансы и статистика, 1992.

14.  Корнеев вычислительные системы. М.: Нолидж, 1999.

15.  Королёв ЭВМ и их математическое обеспечение. М.: Наука, 1980.

16.  Внутреннее устройство Microsoft Windows 2000. СПб.: Питер, 2001.

Авторы-составители рабочей программы дисциплины:

– профессор, д. т.н.

– доцент, к. т.н.

Программа обсуждена и одобрена на заседании кафедры прикладной информатики в управлении Института математики и информатики ГОУ ВПО МГПУ, протокол №1 от 25 августа 2011 г.

Заведующий кафедрой,

доцент


[1] Для специальной дисциплины научной специальности (ОД. А.03) обязательно указать, что программа разработана на основе паспорта научной специальности.