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

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

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

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

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

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

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

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

Задание:

1. По рекомендованной литературе [1] ответить на вопросы для самопроверки параграфов 4.1, 4.2, 4.3, 4.4, 4.5, 4.6.

2. По рекомендованной литературе [1] выполнить упражнения к главе 3.

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

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

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

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

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

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

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

Задание:

1. По рекомендованной литературе [1] изучить программирование параллельных процессов.

2. По рекомендованной литературе [1] ответить на вопросы для самопроверки параграфов 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7.

3. По рекомендованной литературе [1] выполнить упражнения к главе 5.

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

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

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

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

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

Задание:

1. По рекомендованной литературе [2] изучить использование указателей в машинном языке.

2. По рекомендованной литературе [2] ответить на вопросы и выполнить упражнения параграфов 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8.

3. По рекомендованной литературе [2] выполнить упражнения из раздела «Повторение материала» главы 7.