Бакалавриат
2026/2027




Введение в программирование
ID 1270893
Статус:
Курс обязательный (Программная инженерия)
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
1-й курс, 1 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
3
Контактные часы:
24
Программа дисциплины
Аннотация
Цель дисциплины состоит в том, чтобы подготовить студентов к дальнейшему изучению программирования на C и NASM, сформировать базовую техническую грамотность и дать практические навыки работы с инструментами, которые будут использоваться в основном курсе.
В рамках дисциплины рассматриваются математические, логические основы функционирования ЭВМ, а также базовые понятия алгоритмизации и парадигм программирования. Изучаются основы профессиональной работы с операционными системами, архитектурой ЭВМ. Рассматриваются вопросы представления данных в памяти, базовой архитектуры компьютера, роли операционной системы, работе в Linux, сборки программ, а также начальному использованию системы контроля версий Git.
Является адаптационным курсом, предназначенным для подготовки студентов к изучению основного блока дисциплин профессиональной подготовки.
Цель освоения дисциплины
- Освоить математические и логические основы функционирования ЭВМ Изучить основы алгоритмизации Изучить базовые принципы работы с операционными системами и состав архитектуры ЭВМ
Планируемые результаты обучения
- знать системы счисления и арифметические операции в различных СС; уметь переводить числа из разных систем счисления в разные; представлять применение логических функций и законов алгебры логики; знать базовые принципы работы с операционными системами; уметь работать с файловой системой;
- знать назначение основных компонентов компьютера: CPU, RAM, SSD/HDD, GPU; знать базовые понятия памяти: бит, байт, машинное слово, адрес, адресное пространство; представлять роль регистров процессора, стека и кучи на уровне общей модели исполнения программы; знать отличие программы как файла от процесса как выполняющегося экземпляра программы;
- уметь собирать и запускать простые программы на C; уметь собирать и запускать простые программы на NASM под Linux x86-64; уметь читать сообщения об ошибках компиляции, ассемблирования, линковки и запуска;
- знать назначение стандартных потоков stdin, stdout, stderr; представлять основные этапы сборки C-программы и NASM-программы; представлять назначение gcc, nasm, ld, make, gdb, objdump, readelf, nm; уметь использовать Git на базовом уровне;
Содержание учебной дисциплины
- Математические и логические основы работы ЭВМ
- Архитектура ЭВМ и операционные системы
Элементы контроля
- СРсистемы счисления и кодирование
- ЛРвыполнение заданий по работе с файлами и каталогами, операционными системами; развертывание виртуальной машины; устные ответы на вопросы
Список литературы
Рекомендуемая основная литература
- Игнашева Е.П. - Системы счисления, алгоритмизация и программирование - 978-5-16-015295-0 - НИЦ ИНФРА-М - 2026 - https://znanium.ru/catalog/document?id=465839 - 465839 - ZNANIUM
- Колдаев В. Д., Лупин С. А. - Архитектура ЭВМ - 978-5-8199-0868-6 - Издательский Дом ФОРУМ - 2024 - https://znanium.ru/catalog/document?id=445220 - 445220 - ZNANIUM
- Савельев, Д. А. Операционные системы. Основы разработки программ для операционных систем семейств Windows и Linux : учебно-методическое пособие / Д. А. Савельев. — Самара : Самарский университет, 2024. — 132 с. — ISBN 978-5-7883-2035-9. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/480527 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Рекомендуемая дополнительная литература
- Bryant, R. E., & O’Hallaron, D. R. (2014). Computer Systems: Pearson New International Edition : A Programmer’s Perspective (Vol. 2nd ed., Pearson new international ed). Harlow: Pearson. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1418192