Тема 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.