Бакалавриат
2024/2025
Языки программирования
Статус:
Курс обязательный (Компьютерные технологии, системы и сети)
Направление:
09.03.01. Информатика и вычислительная техника
Кто читает:
Департамент информатики
Когда читается:
1-й курс, 1, 2 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Линский Евгений Михайлович
Язык:
русский
Кредиты:
5
Программа дисциплины
Аннотация
Изучение данной дисциплины базируется на знании студентами основ математики и информатики в пределах программы средней школы. Для освоения учебной дисциплины, студенты должны владеть школьными знаниями. Основные положения дисциплины должны быть использованы в дальнейшем при изучении следующих дисциплин: Алгоритмы и структуры данных, Объектно-ориентированное программирование, Программирование на языке Verilog
Цель освоения дисциплины
- Формирование у студентов теоретических знаний и практических навыков в области разработки программного обеспечения на языке C. Конструкции языка C близко сопоставляются типичным машинным инструкциям, благодаря чему он традиционно является одним из основных языков системного программирования (в частности, на нем написана ОС Linux). Изучение приемов программирования на C позволяет не только научиться писать эффективные программы, но и разобраться как работает компьютер при их выполнении. Язык C повлиял на синтаксис таких языков как C++, C#, Java и Objective-C. Знание С позволит лучше понять решения, принятые авторами этих языков, и оценить накладные расходы по времени и памяти при их использовании.
Планируемые результаты обучения
- знать основные типы алгоритмов
- знать представление информации в ЭВМ, основные типы данных, используемые в ЭВМ
- знать этапы разработки программы; синтаксис языка С
- уметь формализовать решение вычислительных задач в виде алгоритма
- уметь записывать алгоритм в терминах языка C
- уметь составлять программы на языке высокого уровня
- владеть навыками использования основных методов, способов и средств получения, хранения, переработки информации
- владеть навыками составления, компиляции, отладки программы на языке C
- владеть навыками самостоятельного создания оригинальных программ для решения практических задач
- уметь работать с разными видами представления информации
- знать процесс превращения программы в машинный код (компилятор, ассемблер, линковщик)
- знать, что такое указатели
- знать, как устроена карта памяти (стек и куча)
- знать, что такое указатели на функции и интрузивные списки
- знать, как устроен вызов функции
- владеть навыками использования библиотек
- владеть навыкам отладки программ
- владеть навыками организации процесса построения программы из исходных кодов (gcc, make)
Содержание учебной дисциплины
- Раздел 1.
- Раздел 2.
- Раздел 3.
- Раздел 4.
- Раздел 5.
- Раздел 6.
- Раздел 7.Обзор стандартной библиотеки C. string.h (memcpy, memcmp, strcpy, strcmp, strcat, strstr, strchr, strtok) stdlib.h (atoi, strtoll, srand/rand, qsort)
- Раздел 8.
- Раздел 9.
Промежуточная аттестация
- 2024/2025 1st module1 * Домашнее задание
- 2024/2025 2nd module0.3 * Домашнее задание + 0.3 * Лабораторная работа + 0.4 * Экзамен
Список литературы
Рекомендуемая основная литература
- Кривцов, А. Н. Алгоритмизация и программирование. Основы программирования на С/С++ : учебное пособие / А. Н. Кривцов, С. В. Хорошенко. — Санкт-Петербург : СПбГУТ им. М.А. Бонч-Бруевича, 2020. — 202 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/180057 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Рацеев, С. М. Программирование на языке Си : учебное пособие для вузов / С. М. Рацеев. — Санкт-Петербург : Лань, 2022. — 332 с. — ISBN 978-5-8114-8585-7. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/193320 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
- Солдатенко, И. С. Практическое введение в язык программирования Си : учебное пособие / И. С. Солдатенко, И. В. Попов. — Санкт-Петербург : Лань, 2022. — 132 с. — ISBN 978-5-8114-3150-2. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/213149 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
- Канцедал, С. А. Алгоритмизация и программирование : учебное пособие / C. А. Канцедал. — Москва : ФОРУМ : ИНФРА-М, 2021. — 352 с. — (Среднее профессиональное образование). - ISBN 978-5-8199-0727-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/1189320
- Кетков, Ю. Л. Введение в языки программирования C и C++ : учебное пособие / Ю. Л. Кетков. — 2-е изд. — Москва : ИНТУИТ, 2016. — 291 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100719 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.