- •Федеральное агентство по образованию
- •4.1. Тематический план
- •4.2. Содержание разделов дисциплины
- •6.1. Рекомендуемая литература
- •6.2. Средства обеспечения освоения дисциплины
- •8. Методические рекомендации по организации изучения дисциплины.
- •8.1. Рекомендуемый перечень тем практических занятий:
- •8.2. Рекомендуемый перечень тем индивидуальных занятий:
- •8.3. Рекомендуемый перечень тем домашних заданий:
6.1. Рекомендуемая литература
ОСНОВНАЯ:
Кнут Д. Искусство программирования для ЭВМ. Т. 1, 2, 3, Сортировка и поиск. – М.: Мир, 2005.
Н. Вирт, «Алгоритмы и структуры данных», СПб, Питер,2006
В.В. Подбельский «Язык C++», М, Статистика, 2006.
ДОПОЛНИТЕЛЬНАЯ:
Т. Кормен, Ч Лейзерсон, Р. Ривест, «Алгоритмы – построение и анализ», М, МЦНМО, 1999
Б. Страуструп, «Язык программирования C++», М, Бином, 2003
Т.А. Павловская «C/C++», СПб, Питер, 2006
4. Г. Уоррен «Алгоритмические трюки для программистов», М, Вильямс, 2004
5 А. Ахо «Построение и анализ вычислительных алгоритмов», М, Мир, 1979
6.2. Средства обеспечения освоения дисциплины
Средства программирования представляющие интегрированную среду создания приложений на языке C++.
Материально-техническое обеспечение дисциплины
(Специализированные лаборатории и классы, прибора, установки, стенды, типовое оборудование.)
8. Методические рекомендации по организации изучения дисциплины.
Примерным учебным планом на изучение дисциплины отводится два семестра. В конце первого семестра предусмотрен зачет, а в конце второго – экзамен. В каждом семестре выполняется одно домашнее задание.
При преподавании дисциплины методически целесообразно в каждом разделе дисциплины выделить наиболее важные моменты и акцентировать на них внимание обучаемых.
Предлагается:
в первом разделе акцентировать внимание на особенностях использования различных структур данных в зависимости от свойств информации, способах ее кодирования, передачи и обработки;
во втором разделе дать сравнительный анализ процедурной и объектной концепциям построения программ и ограничениям, налагаемым на алгоритмы средой программной реализации.
в третьем разделе дать классификацию алгоритмов сортировки и больше внимания уделить сравнительному анализу сложности их работы.
в четвертом разделе показать возможные подходы к классификации алгоритмов поиска, заострить внимание на необходимости комплексного подхода к выбору структуры данных при реализации конкретного алгоритма;
в пятом разделе подробнее остановиться на элементарных понятиях теории графов и сосредоточить внимание на широком применении алгоритмов на графах в науке и технике;
в пятом разделе подчеркнуть какую важную роль играют в вопросах защиты информации алгоритмы, порождающие псевдослучайные последовательности, перестановки на множестве элементов.
8.1. Рекомендуемый перечень тем практических занятий:
Типы данных точность вычислений и исключительные ситуации (коды символов, целочисленные операции, плавающие операции, операции с битами);
Обращение к функциям (передача параметров, итерация и рекурсия, игра «Ханойская башня», двоичный поиск, поиск экстремума);
Функции стандартных библиотек языков программирования (работа с файлами, управление динамической памятью, использование статических и динамических библиотек);
Организация чтения и записи в файлы (последовательный, прямой и индексный доступ к записям, поиск и замена строки);
Организация структур типовых контейнерных классов (вектора, матрицы, списки, ассоциативные массивы, хеш-функции);
Алгоритмы сортировки и их сравнительный анализ, сложность алгоритмов (сортировка массива, списка, файла с фиксированными записями);
Алгоритмы на графах (представление и редактирование информации о графе, построение сортировочного дерева, балансировка двоичных деревьев, остовное дерево неориентированного графа, поиск путей на графе);
Псевдослучайные последовательности (статистические оценки площадей, генерация последовательности псевдослучайных чисел отвечающих нормальному закону распределения).