Бакалавриат
2023/2024
Программирование С/С++
Лучший по критерию «Полезность курса для Вашей будущей карьеры»
Лучший по критерию «Полезность курса для расширения кругозора и разностороннего развития»
Лучший по критерию «Новизна полученных знаний»
Статус:
Курс обязательный (Компьютерные науки и технологии)
Направление:
01.03.02. Прикладная математика и информатика
Когда читается:
1-й курс, 1-4 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для всех кампусов НИУ ВШЭ
Язык:
русский
Кредиты:
8
Контактные часы:
140
Программа дисциплины
Аннотация
Дисциплина "Основы и методология программирования" знакомит студентов с основами программирования на примере языка Си. Студенты изучают основные понятия: переменная, операторы, функция, структуры и учатся решать простейшие задачи на языке Си. Курс готовит студентов к дальнейшему изучению языков программирования более высокого уровня
Цель освоения дисциплины
- Знакомство с основными парадигмами программирования
- Изучение основных понятий программирования: переменных, массивов, операторов, функций, структур
- Получение навыков разработки простейших задач на языке Си
Планируемые результаты обучения
- Использовать в программе оператор условия
- Использовать командную строку аргументов для передачи параметров в программу
- Использовать наиболее подходящие операции языка для решения поставленной задачи
- Использовать слово extern для переменных
- Использовать указатели при работе с массивами
- Использовать указатель на функцию для отложенного вызова функции
- Использовать функции ввода/вывода
- Копировать экземпляры структур с полями-указателями
- Называть основные парадигмы программирования
- Объявлять и использовать локальные переменные со словом static
- Описывать историю развития языка Си
- Описывать оператор множественного выбора
- Определять переменные и инициализировать их
- Передавать массивы в функции и возвращать массивы из функции
- Передавать структуры в функции и возвращать структуры из функции
- Подключаться к слушающему сокету
- Пользоваться функциями стандартной библиотеки string.h
- Различать объявление и описание функции
- Разрабатывать и использовать функции в программе
- Разрабатывать многопоточные программы
- Разрабатывать программы с использованием основных операторов языка
- Разрабатывать рекурсивные функции
- Разрабатывать структуры с самоадресацией
- Разрабатывать структуры, создавать экземпляры структур
- Решать задачи с использованием массивов
- Решать задачи с использованием циклов
- Создавать выражения на языке Си с использованием переменных и операций
- Создавать динамические массивы
- Создавать и инициализировать указатели
- Создавать и использовать многомерные массивы
- Создавать макросы обычные и макросы с параметрами
- Создавать массивы и инициализировать их
- Создавать многопоточный слушающий сокет
- Создавать многофайловые программы
- Создавать объединения, понимать разницу между объединением и структурой
- Создавать поток с использованием библиотеки threads.h
- Создавать слушающий сокет.
- Создавать список, очередь, стек, бинарное дерево
- Создавать строки, получать их от пользователя
- Читать и записывать файлы, как текстовые, так и бинарные
Содержание учебной дисциплины
- Введение в программирование
- Понятие переменной. Операции
- Операторы языка Си
- Массивы
- Указатели
- Функции
- Строки и файлы
- Классы памяти
- Препроцессор
- Пользовательские типы данных
- Динамические структуры данных
- Многопоточность
- Работа с сетью
Промежуточная аттестация
- 2023/2024 учебный год 2 модуль0.15 * Опросы + 0.15 * Опросы + 0.1 * Решение задач + 0.1 * Решение задач + 0.5 * Экзамен
- 2023/2024 учебный год 4 модуль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