Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Рабочая программа (2020)

.pdf
Скачиваний:
0
Добавлен:
29.06.2024
Размер:
297.75 Кб
Скачать

1. Характеристики, структура и содержание

1.1Цели и задачи изучения

Целью изучения дисциплины является освоение способов организации данных в компьютерных программах и методов их обработки и применения в различных классах задач. В результате изучения дисциплины студент должен получить знания об основных методах и приемов технологии программирования, ее проблем и направлений развития

1.2Язык обучения

Русский.

1.3Требование к подготовленности обучающегося к освоению содержания учебной дисциплины

Для успешного освоения дисциплины необходимы знания, умения и навыки, приобретенные при изучении следующих предшествующих дисциплин:

Информатика;

Программирование.

1.4Результаты изучения дисциплины

Учебный материал данной дисциплины способствует (совместно с другими дисциплинами) формированию следующих компетенций:

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

1.5Знания, умения, навыки, приобретаемые обучающимися при изучении дисциплины

Врезультате освоения дисциплины «Технологии программирования и структуры данных» студент должен:

Знать - базовые алгоритмы и приемы программирования (ОПК-2)

- классификацию структур данных, их особенности, способы размещения в памяти и доступа (ОПК-2)

- методы анализа и разработки алгоритмов решения задач из распространенных классов, часто применяемых в технических приложениях (ОПК-2)

- назначение, формы и области применения структур данных в теории и практике программирования (ОПК-2)

- основные методы и средства автоматизации проектирования программного обеспечения (ОПК-2)

- технологию разработки алгоритмов и программ, методы отладки и решения задач на ЭВМ в различных режимах (ОПК-2)

Уметь

-выбирать и использовать базовые структуры данных для организации сложных управляющих и информационных структур (ОПК-2)

-обосновано выбирать методы и технологии программирования при реализации практических задач (ОПК-2)

-объяснять принципы и осуществлять анализ эффективности итерационных и

рекурсивных алгоритмов обработки данных (ОПК-2)

-программировать итерационные и рекурсивные алгоритмы обработки структур данных

(ОПК-2)

-программно реализовывать базовые алгоритмы сортировки и поиска информации

(ОПК-2)

-работать с современными системами программирования, включая объектноориентированные (ОПК-2)

Владеть

-методиками анализа сложности и эффективности алгоритмов (ОПК-2)

-современными алгоритмическими языками, дополнительными пакетами и библиотеками при программировании (ОПК-2)

1.6Перечень и объем активных форм учебной работы по дисциплине

Реализация компетентностно-ориентированной программы обучения в форме различных видов учебной работы (в том числе, внеаудиторной) с целью формирования и развития профессиональных навыков обучающихся включает как классические формы проведения аудиторных занятий и организации самостоятельной работы с использованием учебников и учебных пособий, так и инновационные методы обучения. Наиболее эффективная форма обучения основывается на активном включении студентов в образовательный процесс.

В данной дисциплине рекомендуется применять следующие активные и интерактивные формы проведения лабораторных занятий:

Case-study (ситуационный анализ): в процессе проведения лабораторных занятий рекомендуется проводить разбор последовательности действий при разработке и анализе алгоритмов обработки данных;

компьютерные симуляции: в процессе проведения лабораторных занятий необходимо использовать инструментальные средства разработки программного обеспечения с возможностью непосредственного наблюдения в режиме за результатами работы программы в режиме отладки.

1.7Структура и организация изучения дисциплины, текущего контроля успеваемости и промежуточной аттестации

Общая трудоемкость дисциплины составляет 4 зачетных единицы, 144 часа.

 

Семестр

 

 

Объем учебной дисциплины

 

Ауд.,

 

 

 

 

Курс

Кол.

В

 

 

в часах

 

часов в неделю

За

Э

З

зач.

 

С преп.

 

 

 

 

 

 

че

к

а

нед.

един

Всего

СРС

Пром.

Лек.

Л.р.

 

Прак.

т

з.

д.

 

 

 

 

 

ауд

конс

контр

зан.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

16

4

144

64

4

52

24

2

1

 

1

 

+

+

Виды, формы и сроки текущего контроля успеваемости и промежуточной

аттестации

 

 

 

 

 

Виды учебной работы,

Форма текущего контроля

 

 

 

 

 

 

 

включая

 

 

 

 

 

 

 

 

 

успеваемости (по неделям

 

 

 

 

 

самостоятельную работу

Раздел дисциплины

Сем.

Нед.

 

обучающихся и

 

семестра)

 

 

п/п

 

 

Форма промежуточной

 

трудоемкость (в часах)

 

 

 

 

 

 

аттестации (по семестрам)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Лек-

 

Лаб.

Пр.

 

 

 

 

 

 

 

 

СРС

Рейтинговая оценка

 

 

 

 

 

 

ции

раб.

зан.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

Введение

в

2

1-2

4

 

 

 

 

1

 

 

 

 

 

структуры данных

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Линейные

 

 

 

 

 

 

 

 

 

Защита

отчета

 

по

2

 

2

3-5

6

 

4

4

 

10

лабораторной работе №1 (15

 

структуры данных

 

 

 

 

 

 

 

 

 

баллов).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Защита

отчета

 

по

 

 

 

 

 

 

 

 

 

 

 

лабораторной работе №2 (20

3

Нелинейные

 

2

6-9

8

 

6

6

 

14

баллов).

отчета

 

по

 

структуры данных

 

 

 

 

 

 

 

 

 

Защита

 

 

 

 

 

 

 

 

 

 

 

 

лабораторной работе №3 (15

 

 

 

 

 

 

 

 

 

 

 

баллов)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Защита

отчета

 

по

 

 

 

 

 

 

 

 

 

 

 

лабораторной работе №4 (15

4

Алгоритмы

 

2

10-

12

 

6

4

 

14

баллов)

отчета

 

по

 

обработки данных

 

 

15

 

 

 

 

 

 

Защита

 

 

 

 

 

 

 

 

 

 

 

 

лабораторной работе №5 (15

 

 

 

 

 

 

 

 

 

 

 

баллов)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

Численные методы

 

2

16

2

 

 

2

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Промежуточная

 

 

 

 

 

 

 

 

 

ИДЗ: демонстрация

работы

6

аттестация: защита

 

2

17

-

 

-

 

 

10

разработанной

программы

 

ИДЗ

 

 

 

 

 

 

 

 

 

(20 баллов)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Всего

 

 

 

32

 

16

16

 

52

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Промежуточная

 

 

 

 

 

 

 

 

 

Теоретическая часть: экзамен

 

 

 

18-

 

 

 

 

 

 

в форме

ответа

на

2

7

аттестация: сдача

 

2

-

 

-

 

 

24

 

20

 

 

 

теоретических

вопроса

и

 

экзамена

 

 

 

 

 

 

 

 

 

решения задачи (100 баллов)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.8Структура и содержание учебной дисциплины

1.8.1Структура лекционного курса

Тема лекции

Часы

Неделя

Рейтинг

п/п

 

Раздел 1. Введение в структуры данных

 

 

 

 

 

 

 

1

Понятие данных. Классификация и характеристики

2

1

-

структур данных

 

 

 

 

2

Уровни описания структур данных

2

2

-

 

 

 

 

 

Раздел 2. Линейные структуры данных

 

 

 

 

 

 

 

 

3

Массивы, линейные списки, очереди

 

 

2

3

 

 

 

 

 

 

 

 

4

Очереди. Индексированные списки.

 

 

2

4

 

 

 

 

 

 

 

 

 

5

Блоковые списки

 

 

 

2

5

 

 

 

 

 

 

 

 

 

Раздел 3. Нелинейные структуры данных

 

 

 

 

 

 

 

 

 

6

Деревья, двоичные деревья, АВЛ-деревья

 

 

2

6

 

 

 

 

 

 

 

 

 

 

7

B-деревья

 

 

 

 

2

7

 

 

 

 

 

 

 

8

Графы. Основные понятия, способы хранения

 

2

8

 

 

 

 

 

 

 

 

9

Базовые алгоритмы на графах

 

 

2

9

 

 

 

 

 

 

 

 

 

Раздел 4. Алгоритмы обработки данных

 

 

 

 

 

 

 

 

 

10

Методы анализа алгоритмов

 

 

2

10

 

 

 

 

 

 

 

 

11

Алгоритмы сортировки данных

 

 

2

11

 

 

 

 

 

 

 

 

12

Алгоритмы поиска данных

 

 

2

12

 

 

 

 

 

 

 

13

Применение хеширования для поиска данных

 

2

13

 

 

 

 

 

 

 

 

 

 

14

Методы

разработки

алгоритмов:

жадные

 

2

14

 

 

алгоритмы, алгоритмы "разделяй и властвуй"

 

 

 

 

 

Методы разработки алгоритмов: динамическое

 

 

 

 

15

программирование, алгоритмы на основе дерева

 

2

15

 

 

решений

 

 

 

 

 

 

 

 

 

 

Раздел 5. Численные методы

 

 

 

 

 

 

 

 

16

Методы оптимизации одномерной функции

 

2

16

 

 

 

 

 

 

 

 

 

 

ИТОГО

 

 

 

 

32

 

 

 

 

 

 

 

 

 

 

 

1.8.2План практических занятий

Содержание (тема занятий)

 

Часы

Неделя

Рейтинг

п/п

 

 

 

 

 

 

 

Раздел 2. Линейные структуры данных

 

 

 

 

 

 

 

1.

Реализация связных списков

 

2

1

 

 

 

 

 

 

 

2.

Реализация структур с ограниченным доступом к

 

2

3

 

элементам: стек, очередь

 

 

 

 

 

 

 

 

Раздел 3. Нелинейные структуры данных

 

 

 

 

 

 

 

3.

Реализация структуры Двоичное дерево

 

2

5

 

 

 

 

 

 

 

4.

АВЛ-деревья

 

2

7

 

 

 

 

 

 

 

5.

Реализация структуры Граф

 

2

9

 

 

 

 

 

 

 

Раздел 4. Алгоритмы обработки данных

 

 

 

 

 

 

 

6.

Реализация методов внутренней сортировки:

 

2

11

 

метод выбора, вставки, обмена, подсчета, Шелла

 

 

 

 

 

 

 

7.

Реализация алгоритмов двоичного и блочного

 

2

13

 

поиска

 

 

 

 

 

 

 

 

Раздел 5. Численные методы

 

 

 

 

 

 

 

 

 

 

8.

Реализация методов численного поиска: метода

2

15

 

 

дихотомии, метода золотого сечения

 

 

 

 

 

 

 

 

ИТОГО

16

 

 

 

 

 

 

 

1.8.3 План лабораторных занятий

 

 

 

 

 

 

 

 

 

 

Содержание (тема занятий)

Часы

Неделя

Рейтинг

 

п/п

 

 

 

 

 

Раздел 2. Линейные структуры данных

 

Разработка комплекса структур необходимых для

 

 

 

1.

реализации списковой структуры специального

2

2

 

 

вида

 

 

 

 

Защита лабораторной работы "Программирование

 

 

 

2.

алгоритмов реализации и обработки линейных

2

4

15

 

структур специального вида"

 

 

 

 

Раздел 3. Нелинейные структуры данных

 

 

 

 

 

 

 

3.

Разработка комплекса структур необходимых для

2

6

 

реализации древовидной структуры

 

 

 

 

 

 

Защита лабораторной работы "Программирование

 

 

 

4.

алгоритмов реализации и обработки древовидных

2

8

20

 

структур неспециального вида"

 

 

 

5.

Защита лабораторной работы "Программирование

2

10

15

алгоритмов на графах"

 

 

 

 

 

Раздел 4. Алгоритмы обработки данных

 

 

 

 

 

 

 

6.

Реализация алгоритмов внутренней сортировки

2

12

 

 

 

 

 

 

7.

Защита лабораторной работы " Программирование

2

14

15

алгоритмов сортировки "

 

 

 

 

8.

Защита лабораторной работы "Программирование

2

16

15

алгоритмов ускоренного поиска информации"

 

 

 

 

 

ИТОГО

16

 

80

 

 

 

 

 

1.8.4Содержание лабораторного практикума

Название лабораторной работы

 

Контрольный срок,

Рейтинг

п/п

 

неделя

 

 

 

 

 

 

1.

Программирование

алгоритмов

реализации

и

4

15

обработки линейных структур специального вида

 

 

 

 

 

 

Программирование

алгоритмов

реализации

и

 

 

2.

обработки древовидных структур неспециального

8

20

 

вида

 

 

 

 

 

3.

Программирование алгоритмов на графах

 

10

15

 

 

 

 

 

 

 

 

 

4.

Программирование алгоритмов сортировки

 

14

15

 

 

 

 

 

 

 

 

5.

Программирование алгоритмов ускоренного поиска

16

15

информации

 

 

 

 

 

 

 

 

 

1.8.5Распределение бюджета времени на выполнение самостоятельной работы

Самостоятельная работа студентов (СРС) включает:

изучение и конспектирование литературы в соответствии с программой;

подготовку к практическим занятиям в соответствии с программой курса;

выполнение лабораторных работ в соответствии с программой;

выполнение индивидуального задания;

работу с Internet-источниками;

подготовку к экзамену.

Все формы самостоятельной работы студентов обеспечиваются наличием вычислительной техники в компьютерных классах и лабораториях кафедры автоматизированных систем управления и факультета автоматизации и информатики, имеющих доступ к локальной сети и информационным ресурсам ЛГТУ, а также к сети Internet (в том числе к электронным библиотечным системам). В компьютерных классах и лабораториях установлено лицензионное программное обеспечение, предусмотренное программой, имеется доступ к учебно-методическим материалам в электронной форме. Самостоятельная работа обеспечена также учебно-методической и справочной литературой по дисциплине в научно-технической библиотеке ЛГТУ.

Для обеспечения выполнения студентами самостоятельного изучения теоретических вопросов предложена рекомендуемая литература и перечень источников в сети Internet.

Индивидуальная работа со студентами (ИРС) включает в себя консультации по выполнению лабораторных работ и индивидуальных заданий.

1.8.3.1. Нормирование часов по самостоятельной работе студентов по дисциплине

 

 

 

Коэффициент для

Кол-во часов,

Вид работы

выделенных на СРС +

п/п

расчета СРС

 

 

 

консультации

 

 

 

 

 

1.

Проработка материала лекций

0,15-0,3 часа/час

0,3

х 32 = 10,8 час.

лекции

 

 

 

 

 

 

2.

Подготовка

к

практическим

0,5-1 час/час

1 x 16 = 16 час.

занятиям

 

 

аудиторных занятий

 

 

 

 

 

3.

Подготовка

к

лабораторным

0,5-1 час/час

1 x 16 = 16 час.

занятиям

 

 

аудиторных занятий

 

 

 

 

 

 

Разработка

 

прикладного

 

 

 

4.

приложения

в

рамках

10 часов

 

10 час.

 

индивидуального задания

 

 

 

 

 

 

ИТОГО

 

 

52,8 час.

 

 

 

 

(по РУП 52 часа)

 

 

 

 

 

2. Обеспечение учебной дисциплины

2.1Методическое обеспечение

2.1.1 Методическое обеспечение аудиторной работы

Методическое обеспечение аудиторной работы включает в себя:

-наличие обязательной учебной литературы по дисциплине и/или доступ к электронным библиотечным системам;

-учебно-методическую и справочную литературу, доступ к ресурсам сети Интернет.

2.1.2Методические материалы для проведения текущего контроля успеваемости и промежуточной аттестации

Текущий контроль

Содержание замечаний

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

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

При выставлении оценки уровня освоения отдельных компонентов знаний и навыков преподаватель учитывает: полноту знания учебного материала, степень активности студента на занятиях, способность к сравнительному анализу эффективности различных технических решений, допустимых в рамках выполнения заданий, аргументированность принимаемых математических, алгоритмических, проектно-конструкторских и технологических решений, уровень самостоятельного мышления; умение связывать теоретические положения с практикой, в том числе и с будущей профессиональной деятельностью.

Текущий контроль освоения дисциплины осуществляется на основании учета посещения лекционных занятий, выполнения и защиты лабораторных работ и ИДЗ:

лабораторная работа №1 “Программирование алгоритмов реализации и обработки линейных структур специального вида” (15 баллов);

лабораторная работа №2 “Программирование алгоритмов реализации и обработки древовидных структур неспециального вида” (20 баллов);

лабораторная работа №3 “Программирование алгоритмов на графах” (15 баллов);

лабораторная работа №4 “Программирование алгоритмов сортировки” (15 баллов);

лабораторная работа №5 “Программирование алгоритмов ускоренного поиска информации” (15 баллов);

индивидуальное задание (тема по варианту) “Программирование заданного по варианту алгоритма обработки данных, хранящихся в заданной структуре” (20 баллов).

Выполнение лабораторных работ заключается в написании программного продукта,

соответствующего требованиям, указанным в методических указаниях. Выполнение лабораторной работы осуществляется каждым студентом самостоятельно. Все неясные моменты относительно выполнения лабораторной работы нужно выяснять у преподавателя.

ИДЗ заключается в программной реализации одной из типовых структур данных и алгоритма обработки информационного массива в соответствии с индивидуальным вариантом.

Текущий контроль на лабораторных занятиях проводится с целью определения качества усвоения учебного материала дисциплины, включая модули, предназначенные для самостоятельного изучения. Наиболее эффективным является проведение текущего контроля по окончании изучения очередной учебной темы с использованием фонда контрольных заданий для текущего контроля. При этом контролируется адекватное использование специальной технической терминологии, знание основных понятий, свойств и характеристик изучаемых элементов и устройств.

При защите лабораторных работ используется целостная схема оценивания, определяющая снижение выставляемого балла за работу, исходя из имеющихся замечаний:

Снижение оценки, баллов

1-2

Работа содержит некритические замечания по существу решаемой

 

задачи

1

Имеются замечания по оформлению работы

1-2

Работа выполнена с нарушением установленного графика

1-2

Неуверенные, неполные ответы на контрольные вопросы

Лабораторная работа не засчитывается и требует повторной защиты в следующих случаях:

при наличии в лабораторной работе существенных ошибок;

при отсутствии в отчете пунктов, предусмотренных требованиями методических указаний;

при непонимании студентом существа теоретического и практического материала лабораторной работы.

Пример задания для текущего контроля знаний

Лабораторная работа №1

Контрольные вопросы:

1.Линейные связные структуры данных.

2.Представление и интерфейс блокового списка.

3.Вставка в блоковый список, удаление из блокового списка.

4.Индексированные списки.

5.Равномерная и неравномерная индексация.

6.Индексированные блоковые списки.

Лабораторная работа №2

Контрольные вопросы:

1.Деревья – основные понятия, способы обхода.

2.Функции, выполняемые над деревьями.

3.Представление деревьев с помощью массива.

4.Представление деревьев посредством списков дочерних узлов.

5.Представление деревьев с помощью указателей.

Лабораторная работа №3

Контрольные вопросы:

1.Определение графа.

2.Алгоритмы обхода графа в глубину и по уровням.

4.Алгоритм Дейкстры-Прима построения МОД.

5.Алгоритм Крускала построения МОД.

Лабораторная работа №4

Контрольные вопросы:

1.Метод выбора

2.Метод обмена

3.Метод вставок

4.Метод подсчета

5.Метод Шелла

6.Метод сбалансированного n-ленточного слияния

Лабораторная работа №5

Контрольные вопросы: 1. Двоичный поиск

Содержание замечаний
Работа содержит некритические замечания по существу решаемой задачи
Имеются замечания по оформлению отчета
Работа выполнена с нарушением установленного графика
Неуверенные, неполные ответы на контрольные вопросы

2.Блочный поиск

3.Поиск с использованием общего справочника

4.Поиск с использованием единого справочника

Промежуточный контроль

При демонстрации прикладного приложения, реализованного в рамках индивидуального задания, используется целостная схема оценивания, определяющая снижение выставляемого балла за работу исходя из имеющихся замечаний:

Снижение оценки, баллов

1-2

1

2

1-2

Выполнение индивидуального задания не зачитывается и требует повторной защиты в следующих случаях:

-при наличии в прикладном приложении существенных ошибок, препятствующих его использованию;

-при отсутствии в отчете пунктов, предусмотренных требованиями методических указаний;

-при непонимании студентом принципов и механизмов реализованного в рамках ИДЗ алгоритма.

Примерные темы индивидуальных заданий в рамках общего задания: написать программу, реализующую заданный по варианту алгоритм обработки данных, хранящихся в заданной структуре:

1.Пирамидальная сортировка

2.Сортировка слиянием

3.Быстрая сортировка (quick-sort)

4.Поиск по совпадению с использованием хеш-таблицы. Метод разрешения коллизий – метод цепочек

5.Поиск по совпадению с использованием хеш-таблицы. Метод разрешения коллизий – метод последовательной адресации

6.Сплит-список (Список с пропусками)

7.АВЛ-дерево

8.B-дерево

9.Поиск кратчайшего пути в графе: алгоритм Дейкстры

10.Эффективное кодирование информации: метод Шеннона-Фано

11.Эффективное кодирование информации: метод Хаффмана

Содержание отчета:

1.Титульный лист.

2.Задание кафедры, соответствующее варианту, номер варианта.

3.Цель работы.

4.Краткие теоретические сведения

5.Блок-схема алгоритма разработанной программы

6.Текст программы

7.Контрольный пример

8.Выводы по работе.

Промежуточный контроль по итогам освоения дисциплины проводится в конце семестра