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

C/C++ Programming

2024/2025
Academic Year
RUS
Instruction in Russian
8
ECTS credits
Course type:
Compulsory course
When:
1 year, 1-4 module

Instructors


Боряев Сергей Сергеевич


Климов Алексей Сергеевич


Марьевичев Николай Евгеньевич

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

Аннотация

Дисциплина "Основы и методология программирования" знакомит студентов с основами программирования на примере языка Си. Студенты изучают основные понятия: переменная, операторы, функция, структуры и учатся решать простейшие задачи на языке Си. Курс готовит студентов к дальнейшему изучению языков программирования более высокого уровня
Цель освоения дисциплины

Цель освоения дисциплины

  • Знакомство с основными парадигмами программирования
  • Изучение основных понятий программирования: переменных, массивов, операторов, функций, структур
  • Получение навыков разработки простейших задач на языке Си
Планируемые результаты обучения

Планируемые результаты обучения

  • Использовать в программе оператор условия
  • Использовать командную строку аргументов для передачи параметров в программу
  • Использовать наиболее подходящие операции языка для решения поставленной задачи
  • Использовать слово extern для переменных
  • Использовать указатели при работе с массивами
  • Использовать указатель на функцию для отложенного вызова функции
  • Использовать функции ввода/вывода
  • Копировать экземпляры структур с полями-указателями
  • Называть основные парадигмы программирования
  • Объявлять и использовать локальные переменные со словом static
  • Описывать историю развития языка Си
  • Описывать оператор множественного выбора
  • Определять переменные и инициализировать их
  • Передавать массивы в функции и возвращать массивы из функции
  • Передавать структуры в функции и возвращать структуры из функции
  • Подключаться к слушающему сокету
  • Пользоваться функциями стандартной библиотеки string.h
  • Различать объявление и описание функции
  • Разрабатывать и использовать функции в программе
  • Разрабатывать многопоточные программы
  • Разрабатывать программы с использованием основных операторов языка
  • Разрабатывать рекурсивные функции
  • Разрабатывать структуры с самоадресацией
  • Разрабатывать структуры, создавать экземпляры структур
  • Решать задачи с использованием массивов
  • Решать задачи с использованием циклов
  • Создавать выражения на языке Си с использованием переменных и операций
  • Создавать динамические массивы
  • Создавать и инициализировать указатели
  • Создавать и использовать многомерные массивы
  • Создавать макросы обычные и макросы с параметрами
  • Создавать массивы и инициализировать их
  • Создавать многопоточный слушающий сокет
  • Создавать многофайловые программы
  • Создавать объединения, понимать разницу между объединением и структурой
  • Создавать поток с использованием библиотеки threads.h
  • Создавать слушающий сокет.
  • Создавать список, очередь, стек, бинарное дерево
  • Создавать строки, получать их от пользователя
  • Читать и записывать файлы, как текстовые, так и бинарные
Содержание учебной дисциплины

Содержание учебной дисциплины

  • Введение в программирование
  • Понятие переменной. Операции
  • Операторы языка Си
  • Массивы
  • Указатели
  • Функции
  • Строки и файлы
  • Классы памяти
  • Препроцессор
  • Пользовательские типы данных
  • Динамические структуры данных
  • Многопоточность
  • Работа с сетью
Элементы контроля

Элементы контроля

  • блокирует часть оценки/расчета Решение задач
  • блокирующий Экзамен
  • блокирует часть оценки/расчета Опросы
  • блокирует часть оценки/расчета Проекты
  • блокирующий Экзамен
Промежуточная аттестация

Промежуточная аттестация

  • 2024/2025 2nd module
    0.15 * Опросы + 0.15 * Опросы + 0.1 * Решение задач + 0.1 * Решение задач + 0.5 * Экзамен
  • 2024/2025 4th module
    0.1 * Опросы + 0.1 * Опросы + 0.2 * Проекты + 0.05 * Решение задач + 0.05 * Решение задач + 0.5 * Экзамен
Список литературы

Список литературы

Рекомендуемая основная литература

  • Программирование на языке С++: Учебное пособие / Т.И. Немцова, С.Ю. Голова, А.И. Терентьев; Под ред. Л.Г. Гагариной. - М.: ИД ФОРУМ: ИНФРА-М, 2012. - 512 с.: ил.; 60x90 1/16 + CD-ROM. - (Проф. обр.). (п, cd rom) ISBN 978-5-8199-0492-3 - Режим доступа: http://znanium.com/catalog/product/244875
  • Программирование на языке Си/А.В.Кузин, Е.В.Чумакова - М.: Форум, НИЦ ИНФРА-М, 2015. - 144 с.: 70x100 1/16. - (Высшее образование) (Обложка) ISBN 978-5-00091-066-5 - Режим доступа: http://znanium.com/catalog/product/505194

Рекомендуемая дополнительная литература

  • Кудрина, Е. В.  Основы алгоритмизации и программирования на языке C# : учебное пособие для бакалавриата и специалитета / Е. В. Кудрина, М. В. Огнева. — Москва : Издательство Юрайт, 2019. — 322 с. — (Бакалавр. Академический курс). — ISBN 978-5-534-09796-2. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/428603 (дата обращения: 28.08.2023).
  • Павловская, Т. А. Программирование на языке высокого уровня Паскал : учебное пособие / Т. А. Павловская. — 2-е изд. — Москва : ИНТУИТ, 2016. — 153 с. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/100415 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
  • Царев, Р. Ю. Программирование на языке Си [Электронный ресурс] : учеб. пособие / Р. Ю. Царев. – Красноярск : Сиб. федер. ун-т, 2014. – 108 с. - ISBN 978-5-7638-3006-4 - Режим доступа: http://znanium.com/catalog.php?bookinfo=510946
  • Язык Си: кратко и ясно: Учебное пособие / Д.В. Парфенов. - М.: Альфа-М: НИЦ ИНФРА-М, 2014. - 320 с.: 60x90 1/16. (переплет) ISBN 978-5-98281-397-8 - Режим доступа: http://znanium.com/catalog/product/459254

Авторы

  • Лупанова Елена Александровна
  • Бычков Илья Сергеевич