МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования «Орловский государственный аграрный университет имени Н.В. Парахина»
Цифровой экономики и информационных технологий
рабочая программа дисциплины (модуля)
Алгоритмизация и программирование
Декан факультета/директор института (колледжа)
09.03.03_24_ПИвАПК.plx
09.03.03 Прикладная информатика
Прикладная информатика в агропромышленном комплексе
______________Прока Нина Ивановна
УП: 09.03.03_24_ПИвАПК.plx
Алгоритмизация и программирование
Рабочая программа дисциплины
разработана в соответствии с ФГОС ВО:
Федеральный государственный образовательный стандарт высшего образования - бакалавриат по направлению подготовки 09.03.03 Прикладная информатика (приказ Минобрнауки России от 19.09.2017 г. № 922)
09.03.03 Прикладная информатика
составлена на основании учебного плана:
утвержденного учёным советом вуза от 28.02.2024 протокол № 7.
Протокол от __ __________ 2024 г. № __
Зав. кафедрой Чекулина Татьяна Александровна
Цифровой экономики и информационных технологий
Рабочая программа одобрена на заседании кафедры
Согласовано на заседании МК, протокол №___ от __ __________20__г.
УП: 09.03.03_24_ПИвАПК.plx
1. ЦЕЛИ ОСВОЕНИЯ ДИСЦИПЛИНЫ (МОДУЛЯ)
Целью освоения дисциплины «Алгоритмизация и программирование» является приобретение знаний основных принципов и методологии разработки прикладного программного обеспечения, формирование практических навыков разработки программ на языках высокого уровня.
2. МЕСТО ДИСЦИПЛИНЫ (МОДУЛЯ) В СТРУКТУРЕ ОБРАЗОВАТЕЛЬНОЙ ПРОГРАММЫ
Требования к предварительной подготовке обучающегося:
Дисциплины (модули) и практики, для которых освоение данной дисциплины (модуля) необходимо как предшествующее:
3. ФОРМИРУЕМЫЕ КОМПЕТЕНЦИИ И ИНДИКАТОРЫ ИХ ДОСТИЖЕНИЯ
ОПК-7: Способен разрабатывать алгоритмы и программы, пригодные для практического применения
ОПК-7.1: Осуществляет выбор языков программирования и работы с базами данных, операционные системы и оболочки, современные программные среды разработки информационных систем и технологий
Знает основные языки программирования и работы с базами данных, операционные системы и оболочки, современные программные среды разработки информационных систем и технологий.
ОПК-7.2: Применяет языки программирования и работы с базами данных, современные программные среды разработки информационных систем и технологий для автоматизации бизнес-процессов, решения прикладных задач различных классов, ведения баз данных и информационных хранилищ
Умеет применять языки программирования и работы с базами данных, современные программные среды разработки информационных
систем и технологий для, решения прикладных задач различных классов, ведения баз данных и информационных хранилищ.
Уверенно применяет языки программирования и работает с базами данных, использует современные программные среды разработки информационных
систем и технологий для, решения прикладных задач различных классов.
Владеет на высоком уровне языками программирования, использует современные программные среды разработки информационных систем и технологий для, решения прикладных задач различных классов.
ОПК-7.3: Демонстрирует навыки программирования, отладки и тестирования прототипов программно-технических комплексов задач
Владеет навыками программирования, отладки и тестирования прототипов программно-технических комплексов задач.
Уверенно владеет навыками программирования, отладки и тестирования прототипов программно-технических комплексов..
Владеет навыками программирования, отладки и тестирования прототипов программ на высоком уровне.
УП: 09.03.03_24_ПИвАПК.plx
Распределение часов дисциплины по семестрам
Семестр
(<Курс>.<Семестр на курсе>)
Контактная работа Контроль
Виды контроля в семестрах:
4. СТРУКТУРА И СОДЕРЖАНИЕ ДИСЦИПЛИНЫ (МОДУЛЯ)
Наименование разделов и тем /вид занятия/
Раздел 1. Раздел 1. Алгоритмизация
УП: 09.03.03_24_ПИвАПК.plx
Алгоритмические языки программирования. Базовые алгоритмические структуры: cледование, ветвление, повторение. Алгоритмические языки программирования. Уровни языков программирования. Алфавит, синтаксис и семантика алгоритмических языков программирования. Инструменты и схема построения исполняемого модуля для программы на языке программирования высокого уровня. Интегрированные среды разработки. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Основы алгоритмизации. Исполнитель: среда, система команд исполнителя, отказы. Фон-неймановские принципы работы компьютеров. Алгоритм. Свойства алгоритма: понятность, дискретность, детерминированность, конечность, результативность, массовость. Формы записи алгоритмов: cловесно-пошаговая, графическая, в псевдокодах, на алгоритмических языках. /Лек/
Раздел 2. Языки программирования
Общая характеристика языка Си. История и условия возникновения. Генеалогия языка Си. Базовые принципы и свойства языка Си. Простейшая программа. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Управляющие конструкции языка Си. Условный оператор. Оператор ветвления. Операторы циклов. Прерывание циклов. Инвариант цикла /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Синтаксис языка Си. Алфавит, идентификаторы, ключевые слова. Комментарии. Типы, константы. Операции и выражения. Приоритет операций. Общая структура программы. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Функции. Параметры функций. Инвариантная функция. Рекурсия. Взаимосвязь итерации и рекурсии. Индуктивное вычисление функции на последовательности данных /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Массивы. Многомерные массивы. Массивы как параметры функций. Типичные операции над массивами. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Указатели. Связь указателей и массивов. Динамические массивы. Указатели на функции. Указатели и параметры функций. Сложные описания с указателями. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
УП: 09.03.03_24_ПИвАПК.plx
Структуры. Битовые поля. Указатели на структуры. Объединения. Размещение структур в памяти /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Строки. Функции для работы со строками. Типичные операции над строками. Строки как параметры функций /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Файлы. Файловая система. Текстовые и бинарные файлы. Функции для работы с файлами. Типичные приемы работы с файлами. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Линейный вычислительный процесс /Лаб/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Ветвящийся вычислительный процесс /Лаб/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Циклический вычислительный процесс /Лаб/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Раздел 3. Технология программирования
УП: 09.03.03_24_ПИвАПК.plx
Сложность программных систем. Причины и последствия сложности программных систем. Пять признаков сложных систем. Ограниченность интеллектуальных возможностей человека и пути преодоления связанных с нею трудностей. Способы борьбы со сложностью. Эволюция языков программирования. Топология языков программирования. Структурное программирование: цели, принципы и стандарты. Модульность. Методы программирования «сверху вниз» и «снизу вверх». Стиль программирования. Комментарии. Ошибкоустойчивость. Тестирование программ. Методы тестирования. Отладка. Надежность. Переносимость программ. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Основы трансляции. Компиляция и интерпретация. Основные этапы компиляции. Лексический, синтаксический, семантический анализ. Формальная грамматика. Компиляция формулы. Прямая и обратная польские нотации. Дерево синтаксического разбора. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Логическое, императивное, объектно-ориентированное, декларативное и функциональное программирование. Визуальное программирование. Современные технологии программирования. Компонентное сборочное программирование. Динамика и открытость языков программирования. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Раздел 4. Алгоритмы и структуры данных
Сложность алгоритмов. Эффективность алгоритмов. Оценка сложности алгоритмов. Взаимосвязь расхода памяти и скорости алгоритма. Асимптотический анализ сложности алгоритмов. Анализ худшего, лучшего и среднего случаев. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Типы и структуры данных. Абстрактные типы данных. Физическая реализация абстрактных типов данных. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Сортировка. Нижняя граница временной сложности алгоритмов сортировки. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
УП: 09.03.03_24_ПИвАПК.plx
Списки. Односвязный список. Реализация абстрактного типа «односвязный список» на основе массивов и механизма динамического распределения памяти. Двусвязный список. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Деревья. Бинарные деревья. Полные и сбалансированные бинарные деревья. Свойства сбалансированных деревьев. Обходы деревьев. Реализации абстрактного типа «бинарное дерево». Бинарные деревья поиска. Очереди с приоритетом. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Поиск. Линейный и бинарный поиск. Поиск с возвратом. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Хэширование. Прямая адресация. Операции вставик, удаления и поворота. Хэш-таблицы. Хэш-функции. /Лек/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Базовые методы сортировки /Лаб/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Анализ сложности алгоритмов сортировки /Лаб/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Динамические структуры данных /Лаб/
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
Л1.1 Л1.2Л2.1 Л2.2 Л2.3Л3.1
5. ФОНД ОЦЕНОЧНЫХ СРЕДСТВ
5.1. Контрольные вопросы и задания
5.2. Темы письменных работ
5.3. Фонд оценочных средств
5.4. Перечень видов оценочных средств
6. УЧЕБНО-МЕТОДИЧЕСКОЕ И ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ (МОДУЛЯ)
6.1. Рекомендуемая литература
6.1.1. Основная литература
Трофимов В. В., Павловская Т. А.
Алгоритмизация и программирование: Учебник для вузов
Трофимов В. В., Павловская Т. А.
Алгоритмизация и программирование: учебник для вузов
УП: 09.03.03_24_ПИвАПК.plx
6.1.2. Дополнительная литература
Алгоритмизация математических моделей: учебное пособие
Новокузнецк: НФИ КемГУ, 2014
Кривцов А. Н., Хорошенко С. В.
Алгоритмизация и программирование. Основы программирования на С/С++: учебное пособие
Санкт-Петербург: СПбГУТ им. М.А. Бонч-Бруевича, 2020
Алгоритмизация систем программно-логического управления
6.1.3. Методические разработки
Программирование и алгоритмизация: учебно-методическое пособие
6.3.1 Лицензионное и свободно распространяемое программное обеспечение, в том числе отечественного производства
Microsoft Windows Professional 8 версия 8
Microsoft Office 2013 Russian Academic версия 2013
Microsoft Office Professional Plus 2007 Russian Academic версия 2007
6.3.2 Перечень профессиональных баз данных и информационных справочных систем
Группа компаний Кодекс/Техэксперт
7. МТО (оборудование и технические средства обучения)
8. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ДЛЯ ОБУЧАЮЩИХСЯ ПО ОСВОЕНИЮ ДИСЦИПЛИНЫ (МОДУЛЯ)
Обучающийся имеет неограниченный доступ к учебно-методическим материалам дисциплины в электронной информационно-образовательной среде университета
http://cab.orelsau.ru
9. ПЕРЕЧЕНЬ УЧЕБНО-МЕТОДИЧЕСКОГО ОБЕСПЕЧЕНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ ОБУЧАЮЩИХСЯ ПО ДИСЦИПЛИНЕ.