РОСЖЕЛДОР

Федеральное государственное бюджетное

образовательное учреждение высшего образования

"Ростовский государственный университет путей сообщения"

(ФГБОУ ВО РГУПС)

  УТВЕРЖДАЮ
Проректор по учебной работе - начальник учебно-методического управления М.А. Кравченко

30.06.2019 г.
"Для размещения в ЭИОС настоящая РПД подписана
с использованием простой электронной подписи"

Кафедра "Вычислительная техника и автоматизированные системы управления"

РАБОЧАЯ ПРОГРАММА

ДИСЦИПЛИНЫ

1Б.О "Алгоритмизация и программирование"

по Учебному плану

бакалавриата по направлению подготовки

09.03.01 Информатика и вычислительная техника

Профильная направленность

Вычислительные машины, комплексы, системы и сети

Квалификация выпускника "Бакалавр", ФГОС ВО 3++

Ростов-на-Дону

2019 г.

 



 






Авторы-составители к.т.н., доц. Игнатьева Олеся Владимировна, Александров Александр Алексеевич предлагают настоящую Рабочую программу дисциплины 1Б.О "Алгоритмизация и программирование" в качестве материала для проектирования Образовательной программы РГУПС и осуществления учебно-воспитательного процесса по федеральному государственному образовательному стандарту высшего образования.

Рабочая программа дисциплины рассмотрена на кафедре "Вычислительная техника и автоматизированные системы управления".





Экспертизу Рабочей программы дисциплины провел(а):

к.т.н., доц. Рыбалко И. П., доцент. каф. "ПОВТ и АС", ДГТУ.





Рекомендуемое имя и тип файла документа:
1БО_Алгоритмизация и п_Б_09.03.01_во_23_ВТиАСУ_п44422_и45983.doc


Наименование, цель и задача дисциплины

Дисциплина "Алгоритмизация и программирование".

Учебный план по Образовательной программе утвержден на заседании Ученого совета университета от 29.03.2019 № 10.

Целью дисциплины "Алгоритмизация и программирование" является подготовка в составе других дисциплин блока "Блок 1 - Дисциплины (модули)" Образовательной программы в соответствии с требованиями, установленными федеральным государственным образовательным стандартом высшего образования для формирования у выпускника общепрофессиональных компетенций, способствующих решению профессиональных задач в соответствии с типом задач профессиональной деятельности, предусмотренным учебным планом и профильной направленностью "Вычислительные машины, комплексы, системы и сети".

Для достижения цели поставлены задачи ведения дисциплины:

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

подготовка обучающегося к освоению дисциплин "Объектно-ориентированное программирование", "Разработка Интернет-приложений", "Технологии программирования";

развитие социально-воспитательного компонента учебного процесса.


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

Планируемые результаты обучения по дисциплине Установленные ОП компетенции и индикаторы их достижения
ОПК-1 - Способен применять естественнонаучные и общеинженерные знания, методы математического анализа и моделирования, теоретического и экспериментального исследования в профессиональной деятельности

Знает: -методологию разработки программного обеспечения и технологии программирования

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

Имеет навыки: - применения естественнонаучных знаний, методов теории алгоритмов и разработки программ на языке высокого уровня для решения задач в профессиональной деятельности

Индикатор:
ОПК-1.2 - Уметь: решать стандартные профессиональные задачи с применением естественнонаучных и общеинженерных знаний, методов математического анализа и моделирования
ОПК-2 - Способен использовать современные информационные технологии и программные средства, в том числе отечественного производства, при решении задач профессиональной деятельности

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

Умеет: - использовать современные информационные технологии и программные средства при решении задач профессиональной деятельности

Имеет навыки: - применения информационных технологий и программных средств для разработки программ при решении задач профессиональной деятельности

Индикатор:
ОПК-2.1 - Знать: современные информационные технологии и программные средства, в том числе отечественного производства при решении задач профессиональной деятельности

Знает: - возможности современных и перспективных средств разработки программных продуктов; - синтаксис и семантику языков высокого уровня, основные структуры данных и способы их реализации, принципы построения алгоритмов, структурного и объектно-ориентированного программирования

Умеет: выбирать современные информационные технологии и программные средства, в том числе отечественного производства при решении задач профессиональной деятельности

Имеет навыки: разработки программ на языках процедурного и объектно-ориентированного программирования

Индикатор:
ОПК-2.2 - Уметь: выбирать современные информационные технологии и программные средства, в том числе отечественного производства при решении задач профессиональной деятельности
ОПК-8 - Способен разрабатывать алгоритмы и программы, пригодные для практического применения

Знает: алгоритмические языки программирования, современные среды разработки программного обеспечения - понятие алгоритма и его свойства. - методы разработки алгоритмов. - способы записи алгоритма

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

Имеет навыки: - навыками разработки алгоритмов и программ на языках процедурного и объектно-ориентированного программирования

Индикатор:
ОПК-8.1 - Знать: алгоритмические языки программирования, операционные системы и оболочки, современные среды разработки программного обеспечения

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

Умеет: составлять алгоритмы, писать и отлаживать коды на языке программирования, тестировать работоспособность программы, интегрировать программные модули

Имеет навыки: программирования, отладки и тестирования прототипов программно-технических комплексов задач

Индикатор:
ОПК-8.2 - Уметь: составлять алгоритмы, писать и отлаживать коды на языке программирования, тестировать работоспособность программы, интегрировать программные модули

Знает: - основные положения структурного и объектно-ориентированного программирования. - основы объектно-ориентированного программирования, включая понятие класса и объекта , наследования и полиморфизма, библиотеку стандартных шаблонов (STL). - основы визуального программирования.

Умеет: - использовать языки и системы программирования для решения профессиональных задач, работать с программными средствами общего назначения

Имеет навыки: - разработки программ на языке программирования; - навыками отладки и тестирования работоспособности программы

Индикатор:
ОПК-8.3 - Владеть: языком программирования; навыками отладки и тестирования работоспособности программы

Место дисциплины 1Б.О "Алгоритмизация и программирование" в структуре Образовательной программы

Дисциплина отнесена к Блоку 1Б Образовательной программы. Дисциплина входит в состав обязательной части (О).

Требования к входным знаниям, умениям и компетенциям обучающегося, необходимым для изучения данной дисциплины, соответствуют требованиям по результатам освоения предшествующих дисциплин : "Информатика и программирование", "Математика".

Нормативный срок освоения Образовательной программы по очной форме обучения – 4 года. Наименование формы и срока обучения из базы данных РГУПС (вид обучения): 4 года очное бакалавриат.

Обозначение-аббревиатура учебных групп, для которых данная дисциплина актуальна: .

Дисциплина реализуется в 2, 3 семестрах.

Объем дисциплины в зачетных единицах с указанием количества академических часов, выделенных на контактную работу обучающихся с преподавателем (по видам учебных занятий) и на самостоятельную работу обучающихся

Вид обучения: 4 года очное бакалавриат

Общая трудоемкость данной дисциплины 10 зачетных единиц (360 часов), в том числе контактная работа обучающегося с преподавателем (КРОП) 128 часов.

Виды учебной работы Всего часов КРОП, часов Число часов в семестре
2 3
Аудиторные занятия всего и в т.ч. 128 128 64 64
Лекции (Лек) 64 64 32 32
Лабораторные работы (Лаб) 64 64 32 32
Практические, семинары (Пр)        
         
Самостоятельная работа (СРС), всего и в т.ч. 187   107 80
Контрольная работа (К)        
Реферат (Р)        
Расчетно-графическая работа (РГР)        
Курсовая работа (КР) 35   35  
Курсовой проект (КП)        
Самоподготовка 152   72 80
Контроль, всего и в т.ч. 45   9 36
Экзамен (Экз) 36     36
Зачет (За) 9   9  
Общая трудоемкость, часы 360 128 180 180
Зачетные единицы (ЗЕТ) 10   5 5

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

Содержание дисциплины

Семестр № 2

1. Реализация функций в языке С++. (Компетенция/и ОПК-1, ОПК-2, ОПК-8)

1.1. Базовые сведения о функциях в языке С++: 1) Понятие функции как отдельной подпрограммы. 2) Объявление и описание функции, прототипы функций 3) Формальные и фактические параметры функции. 4) Передача параметров по значению, по указателю и по ссылке. 5) Оператор return. 6). Рекурсивные функции.

1.2. Расширенные сведения о функциях: 1) Функции и массивы. 2) Функции и указатели. 3) Функция типа void. 4) Функции возвращающие массив. 5) Параметры функции со спецификатором const. 6) Функции с списком параметров переменной длины. 7) Перегрузка функций. 8) Указатель на функцию.

2. Указатели и динамические массивы. (Компетенция/и ОПК-1, ОПК-2, ОПК-8)

2.1. Указатели в С++: 1) Понятие указателя и адреса. 2) Объявление и инициализация указателя 3) Операция раскрытия адреса. 4) Операции для работы с указателями. 5) Выражения, содержащие указатели. 6) Косвенная адресация. 7) Передача параметра по ссылке. 8) Указатель на указатель.

2.2. Выделение памяти для динамических переменных: 1) Встроенные функции для выделения памяти для динамических переменных. 2) Стандартные операции для выделения и освобождения динамической памяти.

2.3. Динамические массивы: 1) Определение динамических массивов. 2) Связь между массивами и указателями 3) Операции динамического распределения памяти. 4) Создание динамических двумерных массивов. 5). Массивы указателей.

3. Символы и строки. (Компетенция/и ОПК-1, ОПК-2, ОПК-8)

3.1. Символьные переменные: 1) Код ASCII. 2) Сравнение символов. 3)Преобразование символов.

3.2. Определение строк в языке С: 1) Строка как массив символов. Строка как указатель на char. Строка как элемент массива строк. 2) Форматированный ввод и вывод. 3) Операции со строками: инициализация строк, ввод-вывод строк, копирование строк. 4) Функции для работ с С-строками.

3.3. Определение строк в языке С++: 1) Определение строки в С++. Класс String. 2) Стандартные функции для работы со строками С++.

4. Структуры и пользовательские типы данных. (Компетенция/и ОПК-1, ОПК-2, ОПК-8)

4.1. Структурный тип данных: 1) Обработка структур в программах. 2) Массивы структур: Способ обращения к полям в структурных массивах. 3) Структуры как аргументы функций, и функции, возвращающие структуры. 4) Указатели на структуры. 5) Вложенные структуры.

4.2. Объединения, операции с битами и перечисления: 1) Битовые поля. 2) Объединения. 3) Перечислимые типы.

5. Работа с потоками в С++. (Компетенция/и ОПК-1, ОПК-2, ОПК-8)

5.1. Общие сведения о стандартной библиотеке ввода-вывода языка С++: 1) Структура стандартной библиотеки ввода-вывода С++ 2) Модель потока ввода-вывода. 3) Поток ostream. Основные методы класса ostream. 4) Поток istream. Основные методы класса istream.

5.2. Общие принципы работы с файловыми потоками: 1) Понятие логического и физического файлов. Полный адрес файла и относительный адрес файла. 2) Открытие файла. Режимы открытия. 3) Двунаправленные файловые потоки. 4) Работа с текстовыми файлами в С++ 5) Работа с бинарными файлами в С++ 6) Обработка ошибок ввода-вывода.

5.3. Операторы ввода-вывода, определенные пользователем и форматированный ввод-вывод: 1) Операторы вывода, определенные пользователем. 2) Оператор ввода, определенные пользователем. 3). Чтение и запись структурированных данных. 4). Основные форматирующие функции-элементы 5) Флаги форматирования 6) Форматирование с помощью манипуляторов.

6. Динамические структуры данных. (Компетенция/и ОПК-1, ОПК-2, ОПК-8)

6.1. Списки: 1) Определение динамической структуры данных. 2) Связанный список. 3) Описание однонаправленного списка. Операции однонаправленного списка. 4) Двусвязные списки. Операции с двусвязными списками. 5) Циклические списки.

6.2. Стеки, очереди и деки: 1) Определение стека. Реализация стека с помощью списка. Операции с стеками. 2) Очереди. Операции с очередями. 3) Деки.

6.3. Деревья: 1) Определение дерева. 2) Реализация двоичных деревьев в языке С++. 3) Поиск в дереве. Операции над деревьями.

Семестр № 3

7. Основы объектно-ориентированного программирования в С++. (Компетенция/и ОПК-1, ОПК-2, ОПК-8)

7.1. Объектно-ориентированное программирование: 1). Краткий обзор основных парадигм программирования. 2). Основные принципы ООП: инкапсуляция, наследование, полиморфизм 3). Абстрактные типы данных.

7.2. Классы и объекты С++: 1) Синтаксис описания класса 2). Управление доступом к элементам класса 3). Классы и структуры С++ 4). Манипуляции с состоянием объекта 5). Класс как область видимости 6). Объявление и определение методов класса. Спецификатор inline 7). Указатель this .

7.3. Конструкторы и деструкторы:: Определение функциональности приложения. Событие и функция обработки события. Мышь и клавиатура. Порядок наступления событий. Параметры обработки событий. Перехват формой всех сообщений клавиатуры. Работа с кнопками. Стандартная кнопка. Кнопка с рисунком.

8. Наследование и полиморфизм. (Компетенция/и ОПК-1, ОПК-2, ОПК-8)

8.1. Статический полиморфизм. Друзья классов:: 1) Описание друзей классов. 2). Перегрузка бинарных операций 3). Перегрузка унарных операций 4). Перегрузка функций 5). Алгоритм поиска оптимально отождествляемой функции для одного параметра.

8.2. Виды отношений между классами:: 1). Одиночное наследование 2). Правила наследования 3). Преобразования указателей 4). Правила видимости при наследовании 5). Закрытое (private) наследование 6). Перекрытие имен 7). Наследование и повторное использование кода.

8.3. Динамический полиморфизм, механизм виртуальных функций:: 1). Виртуальные деструкторы 2). Реализация виртуальных функций 3). Абстрактные классы и чистые виртуальные функции.

8.4. Множественное наследование, интерфейсы:: 1). Видимость при множественном наследовании 2). Виртуальные базовые классы 3). Интерфейсы.

8.5. Параметрический полиморфизм:: 1). Параметры шаблона 2). Шаблоны функций 3). Специализация шаблонной функции 4). Алгоритм поиска оптимально отождествляемой функции (с учетом шаблонов) 5). Шаблонные классы.

9. Библиотека стандартных шаблонов (STL). (Компетенция/и ОПК-1, ОПК-2, ОПК-8)

9.1. Стандартная библиотека шаблонов: 1) Общее понятие о контейнере 2) Группы контейнеров. 3) Итераторы. Категории итераторов. 4) Основные и вспомогательные итераторы. 5). Операции с итераторами.

9.2. Контейнеры последовательностей:: 1) Контейнер последовательностей Vector - векторы. 2) Класс List – двухсвязные списки 3) Класс Deque – очереди . 4). Массивы значений в С++.

9.3. Ассоциативные контейнеры: 1) Ассоциативный контейнер multiset (мультимножество). 2) Ассоциативный контейнер set (множество). 3) Ассоциативный контейнер multimap. 4) Ассоциативный контейнер map.

9.4. Адаптеры контейнеров: 1) Адаптер stack. 2) Адаптер queue. 3) Адаптер priority_queue.

9.5. Алгоритмы: 1) Стандартные алгоритмы 2) Алгоритмы сортировки 3) Алгоритмы поиска 4) Алгоритмы для заполнения определенным значением некоторого диапазона 5) Алгоритмы для сравнения на равенство последовательностей значений 6) Математические алгоритмы 7) Алгоритмы работы с множествами.

10. Основы визуального программирования. Введение в язык С#. (Компетенция/и ОПК-1, ОПК-2, ОПК-8)

10.1. Основные понятия платформы .NET:: 1) Состав платформы .NET. 2) Общеязыковая исполняющая среда. 3) Новый тип программ – сборки. 4). Библиотека классов .NET.

10.2. Обзор языка программирования C#:: 1) Структура приложений на языке С#. 2). Основные понятия языка C#.

10.3. Знакомство со средой визуальной разработки приложений:: 1) Настройка интегрированной среды. Система окон разработки. 2) Проект. Характеристика проекта. 3) Система меню и его составляющие. 4) Компиляция и выполнение программы. 5) Использование визуальных компонентов и их свойства.

10.4. Обработка текстовой и числовой информации среды визуального программирования:: 1) Стандартные визуальные компоненты для отображения данных и для ввода исходных данных пользователем. Компоненты для отображения текста.2) Обзор элементов управления. 3) Проектирование визуальных приложений по обработке информации в таблицах и формах. 4) Стандартные диалоговые окна. 5) Организация проекта с многостраничными формами.

10.5. Графические возможности среды визуального программирования:: 1) Построения графиков и диаграмм. 2) Загрузка изображений. Настройка свойств загружаемого изображения. 3) Поверхность рисования. Графический образ. Рисование при выполнении программы. Графический инструментарий (кисть, карандаш). Рисование контурных и закрашенных фигур. 4) Управление объектами с помощью движения мыши. 5) Анимация. Организация анимации с помощью таймера.


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

Вид обучения: 4 года очное бакалавриат

Номер раздела данной дисциплины Трудоемкость в часах по видам занятий
Лекции Практические занятия, семинары Лабораторные работы Самоподготовка
1 4   10 10
2 4   4 10
3 4   4 10
4 4   2 10
5 8   4 10
6 8   8 22
7 4   6 26
8 8   8 12
9 8   6 12
10 12   12 30
Итого 64   64 152
В т.ч. по интерактивным формам 64   64  

Лабораторный практикум

Вид обучения: 4 года очное бакалавриат

Номер раздела данной дисциплины Наименование лабораторных работ Трудоемкость аудиторной работы, часы
Семестр № 2
1 Функции, определенные пользователем 2
Функции и массивы 2
Функции типа Void 2
Функции, возвращающие массивы 2
Рекурсия 2
2 Указатели, адреса и ссылки в С++ 2
Динамические массивы 2
3 Стандартный класс С++ String. Обработка строк 2
Массивы строк 2
4 Создание структур 2
5 Файловые потоки ввода-вывода 2
Обработка текстовых файлов 2
6 Односвязные динамические списки 2
Динамические двухсвязные списки 2
Стэки и очереди 2
Деревья 2
Семестр № 3
7 Классы и объекты 4
Композиция классов. Создание дружественных функций. Сцепленный вызов функций 2
8 Перегрузка операций и шаблоны функций 2
Реализация механизмов наследования 4
Множественное наследование 2
9 Шаблоны классов 2
Использование контейнеров 4
10 Среда визуального программирования и ее составляющие 2
Обработка текстовой и числовой информации. Использование визуальных компонентов и настройка их свойств 2
Обработка событий 2
Проектирование приложений с использованием форм 4
Создание графики и анимации 2

Практические занятия (семинары)

Не предусмотрено.


Самостоятельное изучение учебного материала (самоподготовка)

Вид обучения: 4 года очное бакалавриат

Номер раздела данной дисциплины Наименование тем, вопросов, вынесенных для самостоятельного изучения Трудоемкость внеаудиторной работы, часы
Семестр № 2
1 Реализация функций в языке С++ 10
2 Указатели и динамические массивы 10
3 Особенности работы с символьными переменными и строками в языках С и С++. 10
4 Структурный тип данных, объединения, операции с битами и перечисления 10
5 Общие сведения о стандартной библиотеке ввода-вывода языка С++. Принципы работы с файловыми потоками 10
6 Динамические структуры данных 22
Семестр № 3
7 Классы и объекты С++ 26
8 Статический полиморфизм. Виды отношений между классами. Динамический полиморфизм. Одиночное и множественное наследование. Параметрический полиморфизм. 12
9 Стандартная библиотека шаблонов STL 12
10 Стиль программирования. Правила хорошего стиля программирования. Принципы визуального программирования. Визуальные и объектные аспекты форм. Архитектура приложения. Компонентный подход . Файл ресурсов. Параметры проекта. Основные стандартные модули, обеспечивающие работу в оконной операционной среде. Меню команд. Шаблоны форм. Обзор палитры компонентов. 30

Фонд оценочных средств для проведения промежуточной аттестации обучающихся по дисциплине

Перечень компетенций с указанием этапов их формирования в процессе освоения Образовательной программы

Компетенция Указание (+) этапа формирования в процессе освоения ОП (семестр)
2 3
ОПК-1 + +
ОПК-2 + +
ОПК-8 + +

Описание показателей и критериев оценивания компетенций на различных этапах их формирования

Компе-
тенция
Этап
формирования
ОП (семестр)
Показатель оценивания Критерий оценивания
ОПК-1 2 Дуальная оценка на зачете - полнота усвоения материала,
- качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
Выполненная лабораторная работа - правильность выполнения заданий.
Балльная оценка за курсовую работу - качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
3 Балльная оценка на экзамене - полнота усвоения материала,
- качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
Выполненная лабораторная работа - правильность выполнения заданий.
ОПК-2 2 Дуальная оценка на зачете - полнота усвоения материала,
- качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
Выполненная лабораторная работа - правильность выполнения заданий.
Балльная оценка за курсовую работу - качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
3 Балльная оценка на экзамене - полнота усвоения материала,
- качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
Выполненная лабораторная работа - правильность выполнения заданий.
ОПК-8 2 Дуальная оценка на зачете - полнота усвоения материала,
- качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
Выполненная лабораторная работа - правильность выполнения заданий.
Балльная оценка за курсовую работу - качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
3 Балльная оценка на экзамене - полнота усвоения материала,
- качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
Выполненная лабораторная работа - правильность выполнения заданий.

Описание шкал оценивания компетенций

Значение оценки Уровень освоения компетенции Шкала оценивания (для аттестационной ведомости, зачетной книжки, документа об образования) Шкала оценивания (процент верных при проведении тестирования)
Балльная оценка - "удовлетворительно". Пороговый Оценка «удовлетворительно» выставляется обучающемуся, который имеет знания только основного материала, но не усвоил его деталей, допускает неточности, недостаточно правильные формулировки, нарушения последовательности изложения программного материала и испытывает трудности в выполнении практических навыков. От 40% до 59%
Балльная оценка - "хорошо". Базовый Оценка «хорошо» выставляется обучающемуся, твердо знающему программный материал, грамотно и по существу его излагающему, который не допускает существенных неточностей в ответе, правильно применяет теоретические положения при решении практических работ и задач, владеет необходимыми навыками и приемами их выполнения. От 60% до 84%
Балльная оценка - "отлично". Высокий Оценка «отлично» выставляется обучающемуся, глубоко и прочно усвоившему программный материал, исчерпывающе, последовательно, грамотно и логически стройно его излагающему, в ответе которого тесно увязываются теория с практикой. При этом обучающийся не затрудняется с ответом при видоизменении задания, показывает знакомство с литературой, правильно обосновывает ответ, владеет разносторонними навыками и приемами практического выполнения практических работ. От 85% до 100%
Дуальная оценка - "зачтено". Пороговый, Базовый, Высокий Оценка «зачтено» выставляется обучающемуся, который имеет знания, умения и навыки, не ниже знания только основного материала, может не освоить его детали, допускать неточности, недостаточно правильные формулировки, нарушения последовательности изложения программного материала и испытывает трудности в выполнении практических навыков. От 40% до 100%
Балльная оценка - "неудовлетворительно", Дуальная оценка - "не зачтено". Не достигнут Оценка «неудовлетворительно, не зачтено» выставляется обучающемуся, который не знает значительной части программного материала, допускает ошибки, неуверенно выполняет или не выполняет практические работы. От 0% до 39%

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

Типовые контрольные задания

Курсовые проекты (работы)

курсовая работа на тему "Динамические структуры данных".


Контрольные работы, расчетно-графические работы, рефераты

Не предусмотрено.


Перечни сопоставленных с ожидаемыми результатами освоения дисциплины вопросов (задач):

Зачет. Семестр № 2

Вопросы для оценки результата освоения "Знать":

1) Базовые сведения о функциях в языке С++. Объявление и описание функции. Прототипы функций. Формальные и фактические параметры функции. Привести примеры программ.
2) Объявление и описание функции. Передача параметров в функцию по значению и по ссылке. Оператор return. Привести примеры программ.
3) Рекурсивные функции. Привести примеры программ.
4) Функции и массивы. Функции, возвращающие массив. Привести примеры программ.
5) Функция типа void. Параметры функции со спецификатором const. Привести примеры программ.
6) Функции со списком параметров переменной длины. Привести примеры программ.
7) Перегрузка функций. Привести примеры программ.
8) Указатель на функцию. Привести примеры программ.
9) Указатели в С++. Понятие указателя и адреса. Объявление и инициализация указателя. Операция раскрытия адреса. Операции для работы с указателями. Привести примеры программ.
10) Выражения, содержащие указатели. Косвенная адресация. Передача параметра по ссылке. Указатель на указатель. Привести примеры программ.
11) Выделение памяти для динамических переменных. Встроенные функции для выделения памяти для динамических переменных. Стандартные операции для выделения и освобождения динамической памяти. Привести примеры программ.
12) Определение динамических массивов. Связь между массивами и указателями Операции динамического распределения памяти. Привести примеры программ.
13) Создание динамических одномерных массивов. Привести примеры программ.
14) Создание динамических двумерных массивов. Привести примеры программ.
15) Символьные переменные. Таблица кодов ASCII. Сравнение символов. Преобразование символов. Привести примеры программ.
16) Определение строк языка С. Строка, как массив символов. Строка как указатель на char. Строка как элемент массива строк. Привести примеры программ.
17) С-строки. Форматированный ввод и вывод. Операции со строками: инициализация строк, ввод-вывод строк, копирование строк. Функции для работ с С-строками. Привести примеры программ.
18) Определение строк языка С++. Класс String. Стандартные функции для работы со строками С++. Привести примеры программ.
19) Структурный тип данных. Обработка структур в программах. Привести примеры программ.
20) Массивы структур. Способ обращения к полям в структурных массивах. Привести примеры программ.
21) Структуры, как аргументы функций. Функции, возвращающие структуры. Указатели на структуры. Привести примеры программ.
22) Вложенные структуры. Привести примеры программ.
23) Битовые поля. Привести примеры программ.
24) Объединения. Привести примеры программ.
25) Перечислимые типы. Привести примеры программ.

Вопросы для оценки результата освоения "Уметь":

1) Описывать общие сведения о стандартной библиотеке ввода-вывода языка С++, структуру стандартной библиотеки ввода-вывода С++ , модель потока ввода-вывода. Приводить примеры программ.
2) Описывать поток ostream, основные методы класса ostream. Приводить примеры программ.
3) Описывать поток istream, основные методы класса istream. Приводить примеры программ.
4) Описывать общие принципы работы с файловыми потоками, понятие логического и физического файлов, полный адрес файла и относительный адрес файла. Открытие файла. Режимы открытия. Двунаправленные файловые потоки. Приводить примеры программ.
5) Работать с текстовыми файлами в С++. Приводить примеры программ.
6) Работать с бинарными файлами в С++. Приводить примеры программ.
7) Обрабатывать ошибки ввода-вывода файловых потоков. Приводить примеры программ.
8) Описывать операторы вывода, определенные пользователем. Приводить примеры программ.
9) Описывать операторы ввода, определенные пользователем. Приводить примеры программ.
10) Выполнять чтение и запись структурированных данных. Приводить примеры программ.
11) Выполнять форматированный ввод и вывод. Приводить основные форматирующие функции-элементы, флаги форматирования Выполнять форматирование с помощью манипуляторов. Приводить примеры программ.
12) Создавать однонаправленные динамические списки. Создавать элемент списка. Добавлять узел в начало списка. Приводить примеры программ.
13) Создавать однонаправленные динамические списки. Добавлять узел после заданного. Добавлять узел перед заданным. Приводить примеры программ.
14) Создавать однонаправленный динамический список. Добавлять узел в конец списка. Выполнять проход по списку. Приводить примеры программ.
15) Создавать однонаправленный динамический список. Выполнять поиск узла в списке. Удалять узла в списке. Приводить примеры программ.
16) Создавать двусвязные динамические списки. Создавать циклические списки. Приводить примеры программ.
17) Создавать двусвязные динамические списки. Создавать элемент списка. Добавлять узел в начало списка. Приводить примеры программ.
18) Создавать двусвязные динамические списки. Добавлять узел после заданного. Добавлять узел перед заданным. Приводить примеры программ.
19) Создавать двусвязные динамические списки. Добавлять узел в конец списка. Выполнять проход по списку. Приводить примеры программ.
20) Создавать двусвязные динамические списки. Выполнять поиск узла в списке. Удалять узел в списке. Приводить примеры программ.
21) Создавать стек с помощью списка. Добавлять элемент на вершину стека. Получать (удалять) верхний элемент с вершины стека. Приводить примеры программ.
22) Создавать очередь с помощью списка. Добавлять элемент в конец очереди. Получать (удалять) элемент с конца очереди. Приводить примеры программ.
23) Создавать дек. Добавлять элемент в начало. Добавлять элемент в конец. Удалять элемент с начала. Удалять элемент с конца. Приводить примеры программ.
24) Выполнять определение дерева, приводить основные понятия, рекурсивное определение. Приводить примеры программ.
25) Создавать двоичные деревья в языке С++. Описание вершины. Деревья минимальной высоты. Приводить примеры программ.
26) Создавать двоичные деревья в языке С++. Выполнять обход дерева. Приводить примеры программ.
27) Создавать двоичные деревья в языке С++. Строить деревья поиска. Выполнять поиск по дереву. Приводить примеры программ.

Вопросы для оценки результата освоения "Иметь навыки":

1) Методами разработки программ на языке С++ по теме «Структурное программирование».
2) Методами разработки программ, с использованием динамических структур данных.

Экзамен. Семестр № 3

Вопросы для оценки результата освоения "Знать":

1) Краткий обзор основных парадигм программирования. Основные принципы ООП: инкапсуляция, наследование, полиморфизм. Привести примеры программ.
2) Абстрактные типы данных в С++. Привести примеры программ.
3) Синтаксис описания класса. Управление доступом к элементам класса. Классы и структуры С++. Привести примеры программ.
4) Объявление и определение методов класса. Манипуляции с состоянием объекта. Класс как область видимости. Спецификатор inline. Указатель this . Привести примеры программ.
5) Конструктор умолчания. Конструктор преобразования. Конструкторы с двумя и более параметрами. Привести примеры программ.
6) Конструктор копирования и операция присваивания. Список инициализации. Привести примеры программ.
7) Деструкторы. Порядок вызова конструкторов и деструкторов. Привести примеры программ.
8) Статический полиморфизм. Описание друзей классов. Привести примеры программ.
9) Перегрузка бинарных операций. Перегрузка унарных операций. Привести примеры программ.
10) Перегрузка функций. Алгоритм поиска оптимально отождествляемой функции для одного параметра. Привести примеры программ.
11) Виды отношений между классами. Одиночное наследование. Правила наследования Преобразования указателей. Привести примеры программ.
12) Правила видимости при наследовании. Открытое (public) наследование. Привести примеры программ.
13) Правила видимости при наследовании. Закрытое (private) наследование. Привести примеры программ.
14) Правила видимости при наследовании. Защищенное (protected) наследование. Привести примеры программ.
15) Наследование. Перекрытие имен. Наследование и повторное использование кода. Привести примеры программ.
16) Динамический полиморфизм, механизм виртуальных функций. Привести примеры программ.
17) Виртуальные деструкторы. Реализация виртуальных функций. Привести примеры программ.
18) Абстрактные классы и чистые виртуальные функции. Привести примеры программ.
19) Множественное наследование. Видимость при множественном наследовании. Виртуальные базовые классы. Привести примеры программ.
20) Интерфейсы. Привести примеры программ.
21) Параметрический полиморфизм. Параметры шаблона. Шаблоны функций Специализация шаблонной функции. Алгоритм поиска оптимально отождествляемой функции (с учетом шаблонов). Привести примеры программ.
22) Параметрический полиморфизм. Шаблонные классы. Привести примеры программ.
23) Стандартная библиотека шаблонов. Общее понятие о контейнере. Группы контейнеров. Привести примеры программ.
24) Итераторы. Категории итераторов. Основные и вспомогательные итераторы. Привести примеры программ.
25) Итераторы. Операции с итераторами. Привести примеры программ.

Вопросы для оценки результата освоения "Уметь":

1) Разрабатывать программы с использованием контейнера последовательностей Vector - векторы. Приводить примеры программ.
2) Разрабатывать программы с использованием класса List – двухсвязных списков. Приводить примеры программ.
3) Разрабатывать программы с использованием класса Deque – очередей. Приводить примеры программ.
4) Разрабатывать программы с использованием массивов значений в С++. Приводить примеры программ.
5) Разрабатывать программы с использованием ассоциативного контейнера multiset (мультимножество). Приводить примеры программ.
6) Разрабатывать программы с использованием ассоциативного контейнера set (множество). Приводить примеры программ.
7) Разрабатывать программы с использованием ассоциативного контейнера multimap. Приводить примеры программ.
8) Разрабатывать программы с использованием ассоциативного контейнера map. Приводить примеры программ.
9) Разрабатывать программы с использованием адаптера контейнеров stack. Приводить примеры программ.
10) Разрабатывать программы с использованием адаптера queue. Приводить примеры программ.
11) Разрабатывать программы с использованием адаптера priority_queue. Приводить примеры программ.
12) Разрабатывать программы с использованием стандартных алгоритмов библиотеки STL. Приводить примеры программ.
13) Разрабатывать программы с использованием алгоритмов сортировки библиотеки STL. Приводить примеры программ.
14) Разрабатывать программы с использованием алгоритмов поиска библиотеки STL. Приводить примеры программ.
15) Разрабатывать программы с использованием алгоритмов для заполнения определенным значением некоторого диапазона библиотеки STL. Приводить примеры программ.
16) Разрабатывать программы с использованием алгоритмов для сравнения на равенство последовательностей значений библиотеки STL. Приводить примеры программ.
17) Разрабатывать программы с использованием математических алгоритмов библиотеки STL. Приводить примеры программ.
18) Разрабатывать программы с использованием алгоритмов для работы с множествами библиотеки STL. Приводить примеры программ.
19) Работать в инструментальной среде визуальной разработки приложений. Настраивать интегрированную среду. Компилировать и выполнять программы. Использовать визуальные компоненты и их свойства.
20) Обрабатывать текстовую и числовую информацию в среде визуального программирования.
21) Применять стандартные визуальные компоненты для отображения данных и для ввода исходных данных пользователем.
22) Проектировать визуальные приложения по обработке информации в таблицах и формах.
23) Проектировать визуальные приложения с использованием стандартных диалоговых окон.
24) Проектировать визуальные приложения и использовать графические возможности среды визуального программирования.
25) Проектировать визуальные приложения для отображения графиков и диаграмм.
26) Проектировать визуальные приложения для отображения изображений.
27) Проектировать визуальные приложения с использованием анимации.

Вопросы для оценки результата освоения "Иметь навыки":

1) Методами решения задач по теме "Объектно-ориентированное программирование".

2) Методами решения задач по теме "Стандартная библиотека шаблонов STL".

3) Методами решения задач по теме "Визуальные компоненты среды программирования".


Методические материалы, определяющие процедуру оценивания знаний, умений, навыков, характеризующих этапы формирования компетенций

№ п/п Библиографическое описание
1 Методические указания, определяющие процедуру оценивания знаний, умений, навыков, характеризующих этапы формирования компетенций. Ресурс ЦМКО РГУПС.
2 Методические рекомендации по составлению и апробации фондов оценочных средств (КИМ, КОС) по дисциплинам направлений подготовки (специальностей) высшего образования [Текст, Электронный ресурс] : учеб.-метод. пособие / М. С. Тимофеева, Д. В. Глазунов, А. В. Симонцева [и др.] ; ФГБОУ ВПО РГУПС. - Ростов н/Д : [б. и.], 2015. - 86 с.
3 Игнатьева, О.В. Информатика и программирование. Подготовка к тестам [электронный ресурс]: учебно-методическое пособие для самостоятельной работы/ О.В. Игнатьева; ФГБОУ ВО РГУПС. – Ростов н/Д, 2017. – 10 с.

Для каждого результата обучения по дисциплине определены

Показатели и критерии оценивания сформированности компетенций на различных этапах их формирования

Резуль-
тат
обуче-
ния
Компе-
тенция
Этап
формиро-вания в
процессе
освоения
ОП
(семестр)
Этапы
формирования
компетенции
при изучении
дисциплины
(раздел
дисциплины)
Показатель
сформиро-
ванности
компетенции
Критерий
оценивания
  ОПК-1 2 1, 2, 3, 4, 5, 6 Дуальная оценка на зачете - полнота усвоения материала,
- качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
1, 2, 3, 4, 5, 6 Выполненная лабораторная работа - правильность выполнения заданий.
1, 2, 3, 4, 5, 6 Балльная оценка за курсовую работу - качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
3 7, 8, 9, 10 Балльная оценка на экзамене - полнота усвоения материала,
- качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
7, 8, 9, 10 Выполненная лабораторная работа - правильность выполнения заданий.
  ОПК-2 2 1, 2, 3, 4, 5, 6 Дуальная оценка на зачете - полнота усвоения материала,
- качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
1, 2, 3, 4, 5, 6 Выполненная лабораторная работа - правильность выполнения заданий.
1, 2, 3, 4, 5, 6 Балльная оценка за курсовую работу - качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
3 7, 8, 9, 10 Балльная оценка на экзамене - полнота усвоения материала,
- качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
7, 8, 9, 10 Выполненная лабораторная работа - правильность выполнения заданий.
  ОПК-8 2 1, 2, 3, 4, 5, 6 Дуальная оценка на зачете - полнота усвоения материала,
- качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
1, 2, 3, 4, 5, 6 Выполненная лабораторная работа - правильность выполнения заданий.
1, 2, 3, 4, 5, 6 Балльная оценка за курсовую работу - качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
3 7, 8, 9, 10 Балльная оценка на экзамене - полнота усвоения материала,
- качество изложения материала,
- правильность выполнения заданий,
- аргументированность решений.
7, 8, 9, 10 Выполненная лабораторная работа - правильность выполнения заданий.

Шкалы и процедуры оценивания

Значение оценки Уровень
освоения
компетенции
Шкала оценивания
(для аттестационной
ведомости, зачетной
книжки, документа
об образовании)
Процедура оценивания
Балльная оценка -
"отлично",
"хорошо",
"удовлетворительно".
Дуальная оценка -
"зачтено".
Пороговый, Базовый, Высокий В соответствии со шкалой оценивания в разделе РПД "Описание шкал оценивания компетенций" Экзамен (письменно-устный).
Зачет (письменно-устный).
Выполнение лабораторной работы (подготовка отчета).
Защита курсовой работы.
Балльная оценка -
"неудовлетворительно".
Дуальная оценка -
"не зачтено".
Не достигнут

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

№ п/п Библиографическое описание Ресурс
1 Огнева, М. В. Программирование на языке с++: практический курс : учебное пособие для бакалавриата и специалитета / М. В. Огнева, Е. В. Кудрина. — М. : Издательство Юрайт, 2019. — 335 с. ЭБС Юрайт
2 Тузовский А.Ф. Объектно-ориентированное программирование : учебн. пособие для прикладного бакалавриата. – М. : Изд-во Юрайт, 2019. – 206 с. ЭБС Юрайт
3 Трофимов, В. В. Алгоритмизация и программирование : учебник для академического бакалавриата / В. В. Трофимов, Т. А. Павловская ; под ред. В. В. Трофимова. — М. : Издательство Юрайт, 2019. — 137 с. ЭБС Юрайт
4 Журнал "Автоматика, связь, информатика" ЭБ public.ru
5 Ведерникова О.Г. Программирование на языке С/С++ : учеб. пособие для студентов специальности 23.02.01/ О.Г. Ведерникова; РГУПС. -Ростов н/Д, 2008. -50 с. 88 экз. ЭБС РГУПС
6 Гуда, А. Н. Алгоритмизация и программирование [Текст] : учеб. пособие / А.Н. Гуда, М.А. Бутакова ; РГУПС. - Ростов н/Д : [б. и.], 2003. - 143 с. ЭБС РГУПС
7 Зыков С.В. Программирование: учебник и практикум для академического бакалавриата – М.: Изд-во Юрайт, 2019. – 320 с. ЭБС Юрайт
8 Черпаков, И.В. Теоретические основы информатики: учебник и практикум для академического бакалавриата. – М. : Изд-во Юрайт, 2019. – 353 с. ЭБС РГУПС
9 Трофимов, В. В. Алгоритмизация и программирование : учебник для академического бакалавриата / В. В. Трофимов, Т. А. Павловская ; под редакцией В. В. Трофимова. — Москва : Издательство Юрайт, 2019. — 137 с. ЭБС Юрайт
10 Подбельский, В. В. Программирование. Базовый курс С# : учебник для бакалавриата и специалитета / В. В. Подбельский. — Москва : Издательство Юрайт, 2019. — 369 с. — (Бакалавр и специалист). ЭБС Юрайт

Перечень учебно-методического обеспечения

№ п/п Библиографическое описание Ресурс
1 Игнатьева О.В. Учебно-наглядное пособие - тематические иллюстрации по дисциплине "Алгоритмизация и программирование". РГУПС. - Ростов н/Д, 2019. ЭИОС РГУПС
2 Игнатьева, О.В. Алгоритмизация и программирование [электронный ресурс]: учебно-методическое пособие по выполнению лабораторных работ. в 2 ч. Ч.1. / О.В. Игнатьева, О.Г. Ведерникова; ФГБОУ ВО РГУПС. – Ростов н/Д, 2019. – 79 с. ЭБС РГУПС
3 Игнатьева, О.В. Алгоритмизация и программирование [электронный ресурс]: учебно-методическое пособие по выполнению лабораторных работ. в 2 ч. Ч.2. / О.В. Игнатьева, О.Г. Ведерникова; ФГБОУ ВО РГУПС. – Ростов н/Д, 2019. – 89 с. ЭБС РГУПС
4 Ведерникова, О. Г. Информатика и программирование. В 3-х ч. Ч3 [Электронный ресурс]: учебно-методическое пособие для выполнения практических занятий / О.В. Игнатьева; ФГБОУ ВО РГУПС. – Ростов н/Д, 2017. – 98 с. ЭБС РГУПС
5 Игнатьева, О.В. Алгоритмизация и программирование. [Электронный ресурс]: учебно-методическое пособие для выполнения курсовой работы / О.В. Игнатьева; ФГБОУ ВО РГУПС. – Ростов н/Д, 2019. – 11 с. ЭБС РГУПС
6 Ведерникова О.Г. Программирование на языке С/С++ : учеб. пособие для студентов специальности 23.02.01/ О.Г. Ведерникова; РГУПС. -Ростов н/Д, 2008. -50 с. 88 экз. ЭБС РГУПС
7 Игнатьева, О.В. Информатика и программирование. Подготовка к тестам [электронный ресурс]: учебно-методическое пособие для самостоятельной работы/ О.В. Игнатьева; ФГБОУ ВО РГУПС. – Ростов н/Д, 2017. – 10 с. ЭБС РГУПС
8 Игнатьева, О.В. Информатика и программирование [электронный ресурс]: учебно-методическое пособие для самостоятельной работы/ О.В. Игнатьева; ФГБОУ ВО РГУПС. – Ростов н/Д, 2017. – 47 с. ЭБС РГУПС

Электронные образовательные ресурсы в сети "Интернет"

№ п/п Адрес в Интернете, наименование
1 http://rgups.ru/. Ресурс ЭИОС РГУПС
2 http://www.iprbookshop.ru/. Электронно-библиотечная система "IPRBooks"
3 https://www.biblio-online.ru/. Электронно-библиотечная система "Юрайт"
4 http://www.umczdt.ru/. Электронная библиотека "УМЦ ЖДТ"
5 http://jirbis2.rgups.ru/jirbis2/. Электронно-библиотечная система РГУПС
6 https://rgups.public.ru/. Электронная библиотека "public.ru"

Профессиональные базы данных и информационно-справочные системы

№ п/п Адрес в Интернете, наименование
1 http://www.glossary.ru/. Глоссарий.ру (служба тематических толковых словарей)
2 http://www.consultant.ru/. КонсультантПлюс

Лицензионное и свободно распространяемое программное обеспечение

№ п/п Наименование Произ-
во
1 Операционная система ОС Microsoft Windows. Офисное программное обеспечение Microsoft Office. Общесистемное ПО Acrobat Reader. И
2 MS Office (прикладное программное обеспечение общего назначения, лицензионное, для выполнения лабораторных работ ) И
3 Среда разработки программного обеспечения wxDev-C++ (для выполнения лабораторных работ И
4 Visual Studio (ПО специального назначения, свободно распространяемое, для выполнения лабораторных работ) И

О - программное обеспечение отечественного производства

И - импортное программное обеспечение


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

Помещения(аудитории):

учебные аудитории для проведения учебных занятий;

помещения для самостоятельной работы.

Для изучения настоящей дисциплины в зависимости от видов занятий используется:

Учебная мебель;

Технические средства обучения (включая стационарный либо переносной набор демонстрационного оборудования);

Персональные компьютеры.

Самостоятельная работа обучающихся обеспечивается компьютерной техникой с возможностью подключения к сети "Интернет" и ЭИОС.


"____" _________________20___г.


Код РПД: 45983.