• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site
Book
Essays on Topology Dedicated to Valentin Poénaru

Akhmet’ev P.

Switzerland: Springer, 2025.

Article
Lorentz Invariance of the Multidimensional Dirac–Hestenes Equation

Rumiantseva S., Shirokov D.

Advances in Applied Clifford Algebras. 2026. Vol. 36.

Book chapter
A Model Evaluating the Quality of Regional Educational System

Aleskerov F. T., Delakhova A., Chaika E. et al.

In bk.: Proceedings of The Fifth France's International Conference on Complex Systems (FRCCS 2025). Springer, 2025.

Working paper
Ideal of the variety of flexes of plane cubics

Popov V.

math. arXiv. Cornell University, 2025. No. 2502.01539.

Algorithmization and Programming

2023/2024
Academic Year
RUS
Instruction in Russian
9
ECTS credits
Type:
Compulsory course
When:
2 year, 1-4 module

Instructors

Программа дисциплины

Аннотация

Целями освоения дисциплины Алгоритмизация и программирование является ознакомление студентов с методами решения прикладных задач и их реализации на языке программирования Си и С++. В процессе изучения дисциплины студенты приобретают навыки проектирования и разработки программных приложений, которые будут использоваться при выполнении различных заданий и работ по дисциплинам, изучаемым на последующих курсах. В результате освоения дисциплины студент должен знать: 1) Основы информатики. 2) Основные структуры данных и методы их обработки. 3) Различия между языками программирования высокого и низкого уровня. 4) Язык программирования Си и возможности стандартной библиотеки. 5) Язык программирования С++ и возможности стандартной библиотеки.6) Инструменты разработки: git и cmake.Должен уметь: 1) Формализовать прикладную задачу, выбирать для неё подходящие структуры данных и алгоритмы решения. 2) Программировать алгоритмы, используя средства языка Си и С++. 3) Разрабатывать тестовые случаи и сценарии.Иметь навыки (приобрести опыт): 1) В разработке программ на языке Си и С++. 2) В проведении отладки и тестирования разработанных программ. 3) В проведении анализа получаемых результатов и оформлении сопроводительной документации на программы.4) Организация проекта с использованием git и cmake. Изучение данной дисциплины базируется на следующих дисциплинах: Линейная алгебра; Математический анализ; Дискретная математика. Для освоения учебной дисциплины, студенты должны владеть следующими знаниями и компетенциями: знать основы информатики и ИКТ; знать основы линейной алгебры; знать элементы математической логики; уметь использовать программные и аппаратные средства информатики.
Цель освоения дисциплины

Цель освоения дисциплины

  • Ознакомление студентов с методами решения прикладных задач и их реализации на языке программирования Си.
  • Освоение основ объектно-ориентированного программирования на языке С++
Планируемые результаты обучения

Планируемые результаты обучения

  • Владеет основными шаблонами проектирования, понимает принципы их реализации и использования в разных языках программирования.
  • Навыки программного создания, чтения и изменения файлов на языке Си.
  • Навыки работы со статической и динамической памятью на языке Си.
  • Написание простейших программ на языке Си.
  • Определение пользовательских типов данных и операций над ними.
  • Понимание основных методов сортировки данных и критериев их эффективности.
  • Реализация некоторых абстрактных типов данных на языке Си.
  • Реализация пользовательских функций на языке Си.
  • Способен проектировать и реализовывать систему с множеством связанных объектов на основе концепции ООП в С++.
  • Способен реализовать программу на языке С++ по заданному алгоритму.
  • Способен реализовать программу на языке С++ с использованием контейнеров и алгоритмов стандартной библиотеки, шаблонов и обработкой всех видов исключений.
  • Умеет создавать приложения с 2D графическим интерфейсом.
  • Умеет организовывать программные проекты с помощью системы сборки cmake.
  • Умеет пользоваться системой контроля версий для версионирования разрабатываемого ПО.
Содержание учебной дисциплины

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

  • Базовые понятия и конструкции языка Си. Препроцессорные директивы.
  • Функции.
  • Указатели, массивы, строки. Статическая и динамическая память.
  • Организация ввода/вывода в языке Си. Файлы.
  • Структурные типы данных языка Си.
  • Алгоритмы сортировки и поиска данных.
  • Абстрактные типы данных.
Элементы контроля

Элементы контроля

  • неблокирующий Аудиторная работа
  • неблокирующий Лабораторные работы
  • неблокирующий Экзамен 2 модуль
  • блокирующий Экзамен 4 модуль
  • неблокирующий Экзамен 1 модуль
  • неблокирующий Экзамен 4 модуль
Промежуточная аттестация

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

  • 2022/2023 учебный год 2 модуль
    0.025 * Аудиторная работа + 0.025 * Аудиторная работа + 0.2 * Лабораторные работы + 0.15 * Лабораторные работы + 0.6 * Экзамен 2 модуль
  • 2022/2023 учебный год 4 модуль
    0.2 * Лабораторные работы + 0.2 * Лабораторные работы + 0.6 * Экзамен 4 модуль
  • 2023/2024 учебный год 1 модуль
    0.2 * Аудиторная работа + 0.3 * Лабораторные работы + 0.5 * Экзамен 1 модуль
  • 2023/2024 учебный год 4 модуль
    0.25 * Лабораторные работы (2 - 4 модуль) + 0.15 * Аудиторная работа (2 - 4 модуль) + 0.2 * Экзамен 1 модуля + 0.4 * Экзамен 4 модуля
Список литературы

Список литературы

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

  • Курс программирования на языке Си : учебник для вузов, Подбельский, В. В., 2018
  • Практикум по программированию на языке СИ : учебное пособие, Подбельский, В. В., 2004
  • Язык программирования, Керниган, Б., 2012

Рекомендуемая дополнительная литература

  • Алгоритмы и структуры данных, Вирт, Н., 2001

Авторы

  • Сластников Сергей Александрович
  • Жукова Лилия Фаилевна
  • Зонтов Юрий Владимирович