Тема 3.1 Структуры данных

Тема 2.3 Языки программирования

Тема 2.2 Алгоритмы

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

Эволюция операционных систем. Классификация операционных систем. Однозадачные и многозадачные операционные системы. Системы пакетной обработки, разделения времени, и системы реального времени. Однопроцессорные и многопроцессорные системы.

Архитектура операционной системы. Классификация программного обеспечения. Компоненты операционной системы. Запуск операционной системы.

Понятие процесса. Управление процессами. Модель «клиент/сервер»

Компьютерные сети. Классификация сетей. Сеть Internet. Internet – адресация. Сетевые ресурсы и службы Internet.

Информационная безопасность. Защита данных.

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

Создание алгоритма. Основы теории и методов решения задач.

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

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

Эффективность алгоритма. Верификация программ.

Исторический обзор языков программирования. Ранние поколения. Машинная независимость. Парадигмы программирования.

Концепции традиционного программирования. Операторы объявления. Переменные, константы и литералы. Указатели и ссылки. Типы данных. Структура данных. Операторы присваивания. Управляющие операторы. Комментарии.

Процедуры, параметры и функции в языках программирования. Операторы ввода-вывода.

Специализированные типы данных. Типы данных, определяемые пользователем. Абстрактные типы данных.

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

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

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

Раздел 3 Организация данных

Массивы. Строки. Размещение массивов в основной памяти. Реализация строк.

Списки. Концептуальная и реальная организация списков: непрерывные и связанные списки. Реализация списков. Библиотека стандартных шаблонов.

Стеки. Концептуальная и реальная организация стеков. Реализация стеков.

Очереди. Концептуальная и реальная организация очередей. Реализация очереди.

Древовидные структуры. Концептуальная и реальная организация бинарных деревьев. Реализация древовидной структуры.