Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Home-Programming.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
648.7 Кб
Скачать

1. Рекомендации по изучению теоретического материала

1.1. Общие указания

Теоретический материал содержится в:

  1. Данных методических указаниях к самостоятельной работе студента и методических указаниях к лабораторным работам [1].

  2. Учебно-методическом пособии по курсу [2].

  3. Рекомендуемой литературе по курсу [3-5].

Методические указания к самостоятельной работе студента и лабораторным работам [1] содержат теоретический материал в минимальном объеме, необходимом для изучения перед выполнением конкретной лабораторной работы или домашнего задания.

Учебно-методическое пособие по курсу [2] содержит систематическое изложение необходимого теоретического материала. Значительная часть вопросов в нем изложена весьма кратко. Учебно-методическое пособие позволяет получить представление о рассматриваемых в курсе вопросах, но недостаточно для их глубокого изучения и широкого рассмотрения каждого раздела курса. В то же время учебно-методическое пособие написано с учетом уровня знаний, типичного для студентов, приступающих к изучению курса, поэтому его изучение часто будет хорошим началом перед изучение рекомендованной литературы по курсу.

Рекомендуемая литература по курсу [3-5] позволяет глубоко изучить рассматриваемые в ней вопросы. При этом каждый вопрос рассматривается во взаимосвязи с актуальными проблемами разработки современных вычислительных систем. Изучение рекомендованной литературы позволит студенту приобрести широкие знания во многих вопросах современной Computer science. В то же время многие издания, например [3], ориентированы прежде всего на профессиональных программистов. Это не мешает их использовать, но необходимо быть готовым к сложности текста и необходимости тщательно разбираться в нем.

Рекомендуется воспринимать прочитанную информацию максимально активно. Часто будет лучше, если Вы прочитаете меньше литературы, но потратите время на то, чтобы реализовать заинтересовавший Вас алгоритм, решить какую-либо интересную Вам задачу с помощью только что изученного стандартного алгоритма. В идеале, читая описание алгоритма, вы должны сразу же чувствовать, как Вы будете его реализовывать, какие при этом встретятся сложности, и какие его свойства надо бы проверить. Для того, чтобы выработать такое чутье, есть только один способ – чаще программировать.

1.2. Рекомендации по конкретным разделам курса

Алгоритмы сортировки и поиска подробно описаны в книгах [4, гл. 6-9], [5]. Информацию о конкретных алгоритмах сортировки часто легко найти в сети Интернет с помощью средств поиска и в электронной энциклопедии [6].

Структуры данных, на базе которых строятся контейнеры, описаны в работе [4, гл. 11-14]. 16-ая и 17-ая глава работы [3] также могут быть полезны для изучения контейнеров. Прежде всего они, так же как и глава 19, посвящены контейнерам, реализованным в библиотеке STL.

18-ая глава книги [3] описывает стандартные алгоритмы STL. Значительная часть информации по контейнерам и алгоритмам STL доступна также в MSDN [7].

Работа [3] также полезна для восстановления знания языка программирования C++.

1.3. Методология обобщенного программирования

Методология обобщенного программирования [3] была создана Александром Степановым, российско-американским ученым. Основная идея обобщенного программирования состоит в обобщении алгоритмов и классов, обеспечивающем возможность их применения для работы с различными типами данных. Методология обобщенного программирования – основа стандартной библиотеки шаблонов языка C++ (STL).

Рассматриваемые в данном курсе алгоритмы сортировки и поиска и контейнеры данных универсальны. Они могут быть применены для любых типов данных, предъявляя к ним лишь минимальные требования (например, реализация оператора < для сортировки или использования бинарных деревьев поиска). Поэтому мы хотим сделать их программную реализацию столь же универсальной. Именно в этом нам может помочь методология обобщенного программирования.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]