Программа по дисциплине «инженер программист»

Вид материалаПрограмма

Содержание


2. Операционные системы.
3. База данных.
4. Технология программирования.
Оценка качества программных продуктов.
5. Программирование на языке высокого уровня.
6. Системное программное обеспечение.
Подобный материал:
Программа по дисциплине «ИНЖЕНЕР - ПРОГРАММИСТ»

для подготовки специалистов по дистанционной технологии

 

Введение в технологию ПСВ урана.

1.Общие понятия и термины по технологии добычи ПСВ.

2.Схема добычи урана методом подземного скважинного выщелачивания.

3.Технологические работы.


1. Методы и средства защиты компьютерной информации.

Введение в защиту информации. Источники, риски и формы атак на информацию.

Изучаемые вопросы:

1.Защита компьютерной информации: основные понятия и определения.

2.Классификация угроз безопасности информации.

3.Формы атак на объекты информационных систем.

4.Анализ угроз и каналов утечки информации.

5.Анализ рисков.

6.Управление риском.

7.Политика информационной безопасности.

8.Виды политики безопасности.

9.Модели типовых политик безопасности.

10.Классификация способов защиты информации.

11.Структура системы защиты информации.

12.Стандарты безопасности.

13.Критерии безопасности компьютерных систем Министерства обороны США (“Оранжевая книга”).

14.Европейские критерии безопасности информационных технологий.

15.Федеральные критерии безопасности информационных технологий.

16.Общие критерии безопасности информационных технологий.

17.Требования к системам защиты информации.

18.Конкретные требования к подсистемам защиты информации.

19.Криптографические модели защиты информации.

20.Симметричные алгоритмы шифрования.

21.Асимметричные алгоритмы шифрования.

22.Электронные цифровые подписи.

Модели безопасности операционных систем

Изучаемые вопросы:

1.Основные концепции безопасности в операционных системах. Ядро безопасности

2.Проблемы безопасности в Windows.

3.Защита в Unix-системах. Основные положения.

4.Защита информации от несанкционированного доступа. Принципы защиты информации от несанкционированного доступа.

6.Защита информации в сетях. Проблемы защиты компьютерных сетей

7.Файлы и базы данных как информационные объекты защиты. Защищаемые файлы и базы данных.

8.Проблемы безопасности программного обеспечения.

9.Понятие брандмауэра.

10.Защита данных при передаче по каналам связи. Основные положения.

11.Защита электронной почты. Основные положения.

12.Многоуровневая защита корпоративных сетей. Концепция безопасности модели OSI.

13.Базовые сервисы для обеспечения безопасности компьютерных систем.

14.Механизмы обеспечения безопасности. Шифрование.

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

16.Обзор средств защиты информации в компьютерных сетях.

17.Администрирование системы безопасности.Управление защитой. Принципы организации и контроля системы защиты.

18.Реализация политики безопасности. Администрирование сетей. Рекомендации по реализации политики безопасности.

19.Управление защитой в распределенных сетях.


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

Общие основы операционных систем.

 Изучаемые вопросы:

 1.Назначение и функции ОС.

2.Классификация ОС.

3.Сетевые операционные системы.

4.Одноранговые и серверные сетевые.

5.“Классическая” архитектура ОС. Ядро и вспомогательные модули ОС.

6.Микроядерная архитектура ОС. Основные положения микроядерной архитектуры.

7.Преимущества и недостатки микроядерной архитектуры.

8.Аппаратная зависимость и переносимость операционных систем. Аппаратно-зависимые компоненты ОС.

9.Совместимость операционных систем. Виды совместимости.

Основные принципы управления процессором и процессами.

Изучаемые вопросы:

1.Основные понятия.

2.Управление процессором в однопрограммном режиме.

3.Управление процессором в режиме мультипрограммирования. Понятие мультипрограммирования. Мультипрограммирование в системах.

4.Мультипроцессорная оболочка. Понятие мультипроцессирования.

5.Планирование процессов и потоков. Понятия “процесс” и “поток”.

6.Прерывания. Назначение и типы прерываний.

7.Синхронизация процессов и потоков. Цель синхронизации.

Управление памятью, файлами и устройствами безопасность ОС.

Изучаемые вопросы:

1.Управление памятью. Задачи операционной системы по управлению памятью.

2.Алгоритмы распределения памяти.

3.Свопинг и виртуальная память. Понятие свопинга.

4.Управление памятью в ОС UNIX. Аппаратно-независимый уровень управления памятью.

5.Управление файлами и устройствами. Задачи ОС по управлению файлами и устройствами.

6.Логическая организация файловой системы.

7.Физическая организация файловой системы.

8.Защита от сбоев и несанкционированного доступа. Основные понятия безопасности.

9.Базовые технологии безопасности ОС. Основные средства защиты, встроенные в ОС.


3. База данных.

Введение в базы данных.

Изучаемые вопросы:

1.Причины, история возникновения и развития баз данных.

2.Понятие и компоненты банка данных

3.Классификация баз данных

4.Описание предметной области.

5.Концептуальное проектирование.

6.Модель сущность-атрибут-связь (ER).

7.Модели данных.

8.Логическое проектирование.

9.Система управления базой данных и ее основные функции.

10.Физическое проектирование.

Введение в реляционные базы.

 Изучаемые вопросы:

1.Реляционные базы данных

2.Основы реляционной алгебры.

3.Отношения.

4.Фундаментальные свойства отношений.

5.Операции над отношениями. Общая интерпретация реляционных операций.

6.Нормализация реляционной модели данных.

7.Реляционные системы управления.

Защита данных и администрирование баз.

 Изучаемые вопросы:

1.Основные задачи администратора базы данных.

2.Целостность базы данных.

3.Безопасность базы данных.

4.Обеспечение надежности и работоспособности базы данных.

5.Ведение системного журнала.

Язык SQL – функции запросов и основные возможности.

 Изучаемые вопросы:

1.Развитие языка SQL.

2.Стандартизация SQL.

3.Типы данных.

4.Средства определения схемы.

5.Структура запросов с использованием одной таблицы

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

7.Оптимизация запросов.

Использование SQL при прикладном программировании.

 Изучаемые вопросы:

1.Встроенный SQL.

2.Операторы манипулирования данными.

3.Курсор.

4.Создание и удаление базовых таблиц.

5.Обработка транзакций в SQL.

Язык QBE.

Изучаемые вопросы:

1.Средства генерации запросов MS Access.

2.Использование QBE для создания запросов на выборку данных.

Распределенные СУБД.

 

Изучаемые вопросы:

1.Основные концепции.

2.Преимущества и недостатки РСУБД.

3.Функции и архитектура распределенной СУБД (РСУБД).

4.Транзакции.

5.Обеспечение прозрачности в РСУБД.

6.Двенадцать правил Дейта для РСУБД.

Перспективные направления.

 Изучаемые вопросы:

1.Объектные СУБД.

2.Объектно-ориентированные СУБД.

3.Объектно-реляционные СУБД.

4.Хранилища данных.

Архитектура SQL SERVER 2000.

Изучаемые вопросы:

1.Обзор SQL Server 2000.

2.Компоненты SQL Server 2000.

3.Использование SQL Server 2000.

Установка SQL SERVER 2000.

 Изучаемые вопросы:

1.Подготовка к установке SQL Server 2000.

2.Переход на SQL Server 2000 с предыдущих версий.

3.Установка SQL Server 2000.

Администрирование.

 Изучаемые вопросы:

1.Управление работой служб SQL Server 2000.

2.Конфигурирование служб SQL Server 2000.

3.Система безопасности SQL Server 2000.

4.Административные задачи.

5.Доступ к гетерогенным источникам данных.

6.Автоматизация Администрирование.

7.Резервное копирование.

8.Репликация данных.

9.Мониторинг и аудит.

Разработка и сопровождение баз данных.

 Изучаемые вопросы:

1.Архитектура баз данных.

2.Транзакции и блокировки.

3.Работа с базой данных.

4.Работа с таблицами.

5.Использование представлений.

6.Индексы.

7.Статистика.

Программирование.

Изучаемые вопросы:

1.Transact-SQL.

2.Типы данных SQL Server 2000.

3.Функции SQL Server 2000.

4.Вставка, удаление и изменение данных.

5.Выборка данных.

6.Хранимые процедуры.

7.Использование курсоров.


4. Технология программирования.

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

Изучаемые вопросы:

1.Организация разработки программ.

2.Постановка задачи.

3.Методы проектирования программ. Понятие метода и технологии проектирования программного обеспечения.

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

1.Операциональный подход.

2.Структурный подход. Сущность структурного подхода к разработке программного обеспечения.

3.Объектно-ориентированный подход.

4.Декларативный подход.

Инструментальная среда разработки.

Изучаемые вопросы:

1.Понятие и структура современной системы программирования.

2.Функции текстовых редакторов в системах программирования.

3.Функции компилятора, компоновщика, загрузчика. Компилятор как составная часть системы программирования

4.Отладчики и отладка программ.

5.Система подсказок и справок.

6.Примеры современных систем программирования. Системы программирования компании Borland/lnprise

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

Изучаемые вопросы:

1.Составные части анализа.

2.Методы объектно-ориентированного проектирования. Унифицированный язык моделирования UML.

3.Понятие проектирования по образцам.

4.Организация разработки программ.

Тестирование и документирование программного обеспечения.

Изучаемые вопросы:

1.Этапы и виды тестирования.

2.Принципы и стандарты документирования прикладных программных средств.

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

4.Типовая структура и содержание базового комплекта технологических документов разработчиков в жизненном цикле прикладных программных средств информационных систем. Документация при проектировании и разработке программных средств информационных систем.

Оценка качества программных продуктов.

Изучаемые вопросы:

1.Основные понятия и характеристики качества программных продуктов.

2.Стандарты, регламентирующие характеристики качества программных средств.

3.Особенности измерения и оценивания характеристик качества программных средств.

4.Оценивание характеристик качества  программных средств. Оценивание функциональной пригодности программных средств.

5.Пример выбора и формирования требований к характеристикам качества программного средства.

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

Изучаемые вопросы:

1.Особенности систем защиты информации.

2.Криптографические методы защиты информации.

3.Аппаратные средства защиты.

4.Программные средства защиты.

5.Защита программных продуктов. Основные понятия о защите программных продуктов.


5. Программирование на языке высокого уровня.

Методика подготовки и решения задачи на ЭВМ.

Изучаемые вопросы:

1.Постановка задачи

2.Решение задачи на ЭВМ

Способы записи алгоритма.

Изучаемые вопросы:

1.Алгоритм и его свойства.

2.Изобразительные средства для описания алгоритмов.

3.Схемы алгоритмов.

Турбо Паскаль – язык высокого уровня.

Изучаемые вопросы:

1.Системы программирования.

2.Характеристика языка программирования Паскаль

3.Алфавит языка Паскаль.

4.Структура программы на Паскале.

Стандартные типы данных.

Изучаемые вопросы:

1.Данные.

2.Типы данных

3.Структуры данных.

Представление основных структурпрограммирования на языке Паскаль.

Изучаемые вопросы:

1.Операции и выражения.

2.Оператор присваивания

3.Составной оператор.

4.Условный оператор.

5.О процедуре write.

6.О процедуре ввода.

7.Оператор выбора.

8.Операторы повторений

9.Метки и операторы перехода.

Еще раз о типах данных в Турбо Паскале.

Изучаемые вопросы:

1.Целый тип

2.Логический тип

3.Символьный тип

4.Вещественный тип

5.Типизированные константы

Перечисляемый тип.

Изучаемые вопросы:

1.Перечисляемый тип.

2.Тип – диапазон.

3.Массивы.

4.Работа с одномерными массивами.

5.Работа с двумерными массивами.

6.Строковые типы.

7.Операции над строками.

8.Стандартные процедуры и функции для строк.

9.Практические примеры работы со строковыми данными.

Записные типы.

Изучаемые вопросы:

1.Оператор присоединения With ... do.

2.Вариантные записи.

Множественные типы.

Изучаемые вопросы:

1.Конструкторы множеств.

2.Операции над множествами.

3.Примеры программирования задач с использованием множества.

Критерии качества программ. Диалоговые программы. Дружественность.

Изучаемые вопросы:

1.Показатели и критерии качества программ.

2.Типы ошибок.

3.Краткая история вопроса оценки качества программ.

4.Диалоговые программы. Методы построения.

5.Возможные пути реализации диалоговых программ.

6.Использование цветовых и графических эффектов.

7.Построение горизонтального меню.

8.Дружественность программного обеспечения.

9.Стиль программирования при написании программ.

10.Комментарий - основа сопроводительной документации к программе.

Процедуры.

Изучаемые вопросы:

1.Описание процедуры, общие положения.

2.Процедуры. Определения.

3.Функция.

4.Формальные и фактические параметры.

5.Параметры-значения.

6.Параметры-переменные.

7.Параметры-константы.

8.Параметры без типа.

9.Массивы и строки открытого типа.

10.Параметры-процедуры и параметры-функции.

Программирование рекурсивных алгоритмов.

Изучаемые вопросы:

1.Понятие рекурсии.

2.Программирование с использованием рекурсии.

3.Опережающие объявления.

Способы конструирования программ.

Изучаемые вопросы:

1.Из истории программирования.

2.Этапы разработки сложных программ.

3.Эксплуатация и сопровождение программы.

4.Стремление к простоте.

5.“Дружественность” к программисту. Читаемость программ.

6.Описание задачи.

7.Постановка задачи.

8.Основы технологии нисходящего структурного программирования. Основные определения.

9.Отладка программы.

11.Конструирование программ с использованием справочной службы.

Модульные программы.

Изучаемые вопросы:

1.Основные определения.

2.Структура модуля.

3.Заголовок модуля и связь модулей друг с другом.

4.Интерфейсная часть.

5.Исполняемая часть.

6.Инициирующая часть.

7.Разработка примера модуля.

8.Компиляция модулей.

9.Доступ к объявленным в модуле объектам.

10.Стандартные модули.

Файлы.

Изучаемые вопросы:

1.Файловый тип и файловые переменные.

2.Установка связи между файловой переменной и физическим внешним устройством.

3.Понятие буфера ввода–вывода.

4.Типизированные файлы.

5.Обработка ошибок ввода-вывода.

6.Текстовые файлы.

7.Нетипизированные файлы.

8.Общие процедуры для работы с файлами.

Ссылки, динамические переменные и структуры.

Изучаемые вопросы:

1.Распределение памяти при выполнении программ.

2.Ссылочные переменные.

3.Процедуры управления кучей.

4.Использование переменных ссылочного типа.

5.Списки.

6.Деревья.

7.Константы ссылочного типа.

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

Изучаемые вопросы:

1.Что такое объект.

2.Принципы объектно-ориентированного программирования.

3.Описание объекта.

4.Наследование.

5.Инкапсуляция.

6.Полиморфизм.

7.Статические методы.

8.Виртуальные методы.

9.Выбор вида метода.

10.Динамические объекты.

11.Внутреннее представление объектов.

12.Модули, экспортирующие объекты.

13.Учебная задача.

Жизненный цикл программного обеспечения.

Изучаемые вопросы:

1.Этапы разработки программного обеспечения.

2.Техническое задание.

3.Проектирование.

4.Рабочий проект.

5.Внедрение.


6. Системное программное обеспечение.

Управление задачами и памятью в операционных системах.

Изучаемые вопросы:

1.Основные понятия. Системное программное обеспечение.

2.Планирование и диспетчеризация процессов и задач. Стратегии планирования.

3.Память и отображения, виртуальное адресное пространство.

4.Простое непрерывное распределение и распределение с перекрытием.

5.Распределение статическими и динамическими разделами

6.Сегментная, страничная и сегментно-страничная организация памяти.

7.Распределение оперативной памяти в современных ОС для ПК.

Управление Вводом/выводом.

Изучаемые вопросы:

1.Основные понятия и концепции организации ввода/вывода в ОС.

2.Режимы управления вводом/выводом.

3.Основные системные таблицы ввода/вывода.

4.Синхронный и асинхронный ввод/вывод.

5.Кэширование операций ввода/вывода при работе с накопителями на магнитных дисках.

Управление файлами.

Изучаемые вопросы:

1.Функции файловой системы ОС и иерархия данных.

2.Разбиение магнитных дисков на разделы.

3.Обзор современных файловых систем. Файловая система FAT.

Интерфейсы прикладного программирования.

Изучаемые вопросы:

1.Понятие интерфейса прикладного программирования.

2.Реализация функций API на уровне ОС.

3.Реализация функций API на уровне системы программирования.

4.Реализация функций API с помощью внешних библиотек.

5.Мобильность программного обеспечения. Платформенно-независимый интерфейс POSIX.

Современные операционные системы.

Изучаемые вопросы:

1.Пользовательский интерфейс операционной среды.

2.Семейство операционных систем UNIX.

3.Семейство операционных систем OS/2 Warp компании IBM.

4.Сетевая ОС реального времени QNX.

Формальные языки и грамматики.

Изучаемые вопросы:

1.Языки и цепочки символов. Способы задания языков. Цепочки символов. Операции над цепочками символов.

2.Определение грамматики. Форма Бэкуса–Наура. Понятие о грамматике языка.

3.Классификация языков и грамматик. Классификация грамматик. Четыре типа грамматик по Хомскому.

4.Цепочки вывода. Сентенциальная форма. Вывод. Цепочки вывода.

5.Проблемы однозначности и эквивалентности грамматик. Однозначные и неоднозначные грамматики.

6.Распознаватели. Задача разбора. Общая схема распознавателя.

Регулярные языки.

Изучаемые вопросы:

1.Регулярные языки и грамматики. Леволинейные и праволинейные грамматики. Автоматные грамматики.

2.Конечные автоматы. Определение конечного автомата.

3. Регулярные множества и регулярные выражения. Определение регулярного множества.

4.Способы задания регулярных языков. Три способа задания регулярных языков.

5.Свойства регулярных языков. Свойства регулярных языков.

Контекстно-свободные языки.

Изучаемые вопросы:

1.Распознаватели КС-языков. Автоматы с магазинной памятью. Определение МП- автомата.

2.Свойства КС-языков. Свойства произвольных КС-языков.

3.Преобразование КС-грамматик. Приведенные грамматики. Преобразование грамматик. Цель преобразования.

4.КС-грамматики в нормальной форме. Грамматики в нормальной форме Хомского.

5.Распознаватели КС-языков с возвратом. Принципы работы распознавателей с возвратом.

6.Табличные распознаватели для КС-языков. Общие принципы работы табличных распознавателей.

7.Принципы построения распознавателей КС-языков без возвратов.

Классы КС-языков и грамматик.

Изучаемые вопросы:

1.Нисходящие распознаватели КС-языков без возвратов. Левосторонний разбор по методу рекурсивного спуска.

2.Восходящие распознаватели КС-языков без возвратов. Определение LR(k)-грамматики.

3.Соотношение классов КС-языков и КС-грамматик. Отношения между классами КС-грамматик.

Основные принципы построения трансляторов.

Изучаемые вопросы:

1.Определение и назначение транслятора, компилятора, интерпретатора. Транслятор.

2.Этапы трансляции. Общая схема работы компилятора. Схема работы компилятора

3.Особенности построения интерпретаторов.

4.Трансляторы с языка ассемблера. Макроопределения и макрокоманды.

5.Организация таблиц идентификаторов. Назначение и особенности построения таблиц идентификаторов.

6.Лексические анализаторы. Назначение лексического анализатора. Лексема.

7.Синтаксические анализаторы. Основные принципы работы синтаксического анализатора.

Генерация и оптимизация кода.

Изучаемые вопросы:

1.Семантический анализ. Назначение семантического анализа.

2.Распределение памяти. Принципы распределения памяти.

3.Память для типов данных (RTTI-информация).

4.Генерация кода. Общие принципы генерации кода. Синтаксически управляемый перевод.

5.Оптимизация кода. Общие принципы оптимизации кода.

Принципы функционирования систем программирования.

Изучаемые вопросы:

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

2.Функции компоновщика и загрузчика.

3.Подключение библиотек подпрограмм.