We use cookies in order to improve the quality and usability of the HSE website. More information about the use of cookies is available here, and the regulations on processing personal data can be found here. By continuing to use the site, you hereby confirm that you have been informed of the use of cookies by the HSE website and agree with our rules for processing personal data. You may disable cookies in your browser settings.

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

Programming Languages

2024/2025
Academic Year
RUS
Instruction in Russian
5
ECTS credits
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). — Режим доступа: для авториз. пользователей.

Авторы

  • Марковская Наталья Владимировна
  • Овчинников Андрей Анатольевич