• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Programming Languages

2024/2025
Academic Year
RUS
Instruction in Russian
5
ECTS credits
Delivered at:
Department of Informatics
Course type:
Compulsory course
When:
1 year, 1, 2 module

Instructor


Линский Евгений Михайлович

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

Аннотация

Изучение данной дисциплины базируется на знании студентами основ математики и информатики в пределах программы средней школы. Для освоения учебной дисциплины, студенты должны владеть школьными знаниями. Основные положения дисциплины должны быть использованы в дальнейшем при изучении следующих дисциплин: Алгоритмы и структуры данных, Объектно-ориентированное программирование, Программирование на языке 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 module
    1 * Домашнее задание
  • 2024/2025 2nd module
    0.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). — Режим доступа: для авториз. пользователей.

Авторы

  • Юдаева Оксана Юрьевна