Цель курса состоит в том, чтобы студенты освоили навыки проектирования и реализации алгоритмов с применением методов структурного программирования; научились анализировать сложность алгоритмов и эффективно выбирать методы и структуры данных для решения конкретных задач с использованием языка программирования C и других структурных языков. Они должны понять принципы модульного программирования, разработки и тестирования программных модулей, а также уметь применять приобретённые знания на практике для решения инженерных и научных задач.
Задачи изучения курса включают:
- получение целостного представления об алгоритмическом подходе к решению проблем;
- освоение техник структурного программирования и проектирования программ;
- изучение методов оптимизации и тестирования программных решений;
- формирование умения создавать программные продукты с учетом требований надежности и производительности.
В практической части студенты выполняют проект, который закрепляет теорию.
Для успешного освоения курса студентам необходимо иметь фундаментальные знания из курсов по структурам данных, алгоритмам, математическому анализу, основам программирования и программной инженерии, а также знать базовые концепции проектирования программных систем и тестирования. Важно также владение языком C или другим процедурным языком программирования, поскольку курс ориентирован на структурный подход к разработке.