2026/2027




Программирование на C
Статус:
Маго-лего
Кто читает:
Департамент электронной инженерии
Когда читается:
1, 2 модуль
Охват аудитории:
для своего кампуса
Преподаватели:
Бахмутский Михаил Витальевич
Язык:
русский
Кредиты:
6
Контактные часы:
56
Программа дисциплины
Аннотация
В рамках курса "Программирование на С" студенты освоят ключевые концепции программирования на языке С, включая работу с синтаксисом, переменными, указателями, функциями и другими базовыми конструкциями. В процессе обучения уделено внимание взаимодействию с операционной системой Linux, организации раздельной компиляции и использованию утилит для управления проектами. Также студенты научатся решать задачи, связанные с динамической и статической памятью, разрабатывать и оптимизировать алгоритмы, включая работу с графами и простейшие методы решения уравнений. Практические занятия направлены на разработку программ, обработку строк и массивов, а также отладку и тестирование кода. Контроль знаний включает домашние задания и итоговый экзамен.
Цель освоения дисциплины
- Обучение основам программирования на языке C, включая изучение синтаксиса, базовых конструкций языка, работу с памятью, файлами, алгоритмами и другими ключевыми концепциями.
Планируемые результаты обучения
- Студент изучит основы синтаксиса и типовой системы языка C.
- Студент освоит навыки программирования в среде Linux, включая работу с файловой системой и командной оболочкой.
- Студент сформирует умение разрабатывать и отлаживать программы с использованием базовых конструкций языка (условные операторы, циклы, функции, указатели).
- Студент изучит принципы работы с динамической и статической памятью.
- Студент освоит методы организации раздельной компиляции и управления сборкой программ.
- Студент разработает алгоритмы для обработки строк, массивов и графов.
- Студент изучит основы юнит- и интеграционного тестирования, а также практики автоматического запуска тестов в CI.
- Студент приобретет навыки оптимизации программ и решения простых математических задач.
Содержание учебной дисциплины
- Название 1: Операционная система Linux. Устройство файловых систем. Оболочка. Файлы. Исполняемые файлы. ssh, ssh-agent и ssh-ключи
- Название 2: Первая программа на С. Препроцессор. Компиляция. Запуск. Hello world
- Название 3: Основные синтаксические конструкции C. Система типов. Переменные. Условные конструкции. Циклы
- Название 4: Функции. Параметры функций. Указатели (1). Scanf
- Название 5: Указатели (2). Массивы. Строки. Разбор аргументов командной строки
- Название 6: Работа с файлами и консольным вводом
- Название 7. Динамическая и статическая память. Алгоритмы на строках и массивах
- Название 8: Алгоритмы на строках и массивах (2). Замеры скорости. Отладка
- Название 9: Структуры. Typedef. Указатели на функции
- Название 10: Раздельная компиляция. Компоновка. Make
- Название 11: Алгоритмы на графах
- Название 12: Алгоритмы оптимизации и решения уравнений (простейшие)
- Название 13: Юнит- и интеграционное тестирование
- Название 14: Запуск тестов в CI. Git Lab
Промежуточная аттестация
- 2026/2027 2nd moduleФормула оценивания: Домашнее задание: SUM(Домашние задания 1-10) * 0.300 + Экзамен: Экзамен * 0.700 ГДЕ (SUM_14_ПРАКТИЧЕСКИХ ЗАДАНИЙ НА СЕМИНАРЕ + ЭКЗАМЕН) ≤ 30 БАЛЛОВ
Список литературы
Рекомендуемая основная литература
- Керниган, Б. В. Язык программирования C : учебник / Б. В. Керниган, Д. М. Ричи. — 2-е изд. — Москва : ИНТУИТ, 2016. — 313 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100543 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Приемы объектно - ориентированного проектирования : паттерны проектирования, Гамма, Э., 2014
- Чистая архитектура. Искусство разработки программного обеспечения - 978-5-4461-0772-8 - Мартин Р. - 2019 - Санкт-Петербург: Питер - https://ibooks.ru/products/361841 - 361841 - iBOOKS
- Чистый код: создание, анализ и рефакторинг - 978-5-4461-0960-9 - Мартин Роберт - 2019 - Санкт-Петербург: Питер - https://ibooks.ru/products/361844 - 361844 - iBOOKS
Рекомендуемая дополнительная литература
- Кетков, Ю. Л. Введение в языки программирования C и C++ : учебное пособие / Ю. Л. Кетков. — 2-е изд. — Москва : ИНТУИТ, 2016. — 291 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100719 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.