Бакалавриат
2021/2022
Алгоритмизация и программирование
Статус:
Курс обязательный (Прикладная математика)
Направление:
01.03.04. Прикладная математика
Кто читает:
Департамент прикладной математики
Когда читается:
1-й курс, 1-4 модуль
Формат изучения:
с онлайн-курсом
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
6
Контактные часы:
130
Программа дисциплины
Аннотация
Целями освоения дисциплины Алгоритмизация и программирование является ознакомление студентов с методами решения прикладных задач и их реализации на языке программирования Си. В процессе изучения дисциплины студенты приобретают навыки проектирования и разработки программных приложений, которые будут использоваться при выполнении различных заданий и работ по дисциплинам, изучаемым на последующих курсах. В результате освоения дисциплины студент должен знать: 1) Основы информатики. 2) Основные структуры данных и методы их обработки. 3) Различия между языками программирования высокого и низкого уровня. 4) Язык программирования Си. 4) Некоторые функции стандартной библиотеки языка Си. Должен уметь: 1) Формализовать прикладную задачу, выбирать для неё подходящие структуры данных и алгоритмы решения. 2) Программировать алгоритмы, используя средства языка Си. 3) Разрабатывать тестовые случаи и сценарии. Иметь навыки (приобрести опыт): 1) В разработке программ на языке Си. 2) В проведении отладки и тестирования разработанных программ. 3) В проведении анализа получаемых результатов и оформлении сопроводительной документации на программы. Изучение данной дисциплины базируется на следующих дисциплинах: Линейная алгебра; Математический анализ; Дискретная математика. Для освоения учебной дисциплины, студенты должны владеть следующими знаниями и компетенциями: знать основы информатики и ИКТ; знать основы линейной алгебры; знать элементы математической логики; уметь использовать программные и аппаратные средства информатики.
Цель освоения дисциплины
- Ознакомление студентов с методами решения прикладных задач и их реализации на языке программирования Си.
- Освоение основ объектно-ориентированного программирования на языке С++
Планируемые результаты обучения
- Владеет основными шаблонами проектирования, понимает принципы их реализации и использования в разных языках программирования.
- Навыки программного создания, чтения и изменения файлов на языке Си.
- Навыки работы со статической и динамической памятью на языке Си.
- Написание простейших программ на языке Си.
- Определение пользовательских типов данных и операций над ними.
- Понимание основных методов сортировки данных и критериев их эффективности.
- Реализация некоторых абстрактных типов данных на языке Си.
- Реализация пользовательских функций на языке Си.
- Способен проектировать и реализовывать систему с множеством связанных объектов на основе концепции ООП в С++.
- Способен реализовать программу на языке С++ по заданному алгоритму.
- Способен реализовать программу на языке С++ с использованием контейнеров и алгоритмов стандартной библиотеки, шаблонов и обработкой всех видов исключений.
Содержание учебной дисциплины
- Базовые понятия и конструкции языка Си. Препроцессорные директивы.
- Функции.
- Указатели, массивы, строки. Статическая и динамическая память.
- Организация ввода/вывода в языке Си. Файлы.
- Структурные типы данных языка Си.
- Алгоритмы сортировки и поиска данных.
- Абстрактные типы данных.
Промежуточная аттестация
- 2021/2022 учебный год 2 модуль0.6 * Экзамен (2 модуль) + 0.35 * Лабораторнче работы + 0.05 * Аудиторная работа
- 2021/2022 учебный год 4 модуль0.2 * 2021/2022 учебный год 2 модуль + 0.6 * Экзамен (4 модуль) + 0.16 * Лабораторнче работы + 0.04 * Аудиторная работа
- 2022/2023 учебный год 1 модуль
- 2022/2023 учебный год 4 модуль
Список литературы
Рекомендуемая основная литература
- Курс программирования на языке Си : учебник для вузов, Подбельский, В. В., 2018
- Практикум по программированию на языке СИ : учебное пособие, Подбельский, В. В., 2004
- Язык программирования, Керниган, Б., 2012
Рекомендуемая дополнительная литература
- Алгоритмы и структуры данных, Вирт, Н., 2001