Дисциплина базовой части профессионального цикла. Дисциплина направлена на формирование у студентов теоретических знаний и практических навыков по основам методологии программирования, включая администрирование Unix-подобных операционных систем, а также приобретение навыков использования методов алгоритмизации и объектно-ориентированного программирования на языке высокого уровня для последующей обработки данных.
Цель освоения дисциплины
Формирование у студентов теоретических знаний и практических навыков по основам методологии программирования.
Приобретение навыков использования методов алгоритмизации и объектно-ориентированного программирования на языке высокого уровня.
Формирование базовых навыков администрирования Unix-подобных операционных систем: управление правами доступа, пакетами и службами.
Планируемые результаты обучения
Знать принципы, основные конструкции и идиомы языков программирования Python и Bash, необходимые для изучения других дисциплин, предусмотренных базовым и рабочим учебными планами, а также для применения в профессиональной деятельности.
Знать принципы работы и администрирования ОС Unix, включая управление правами доступа, пакетами и службами (systemd).
Иметь навыки (приобрести опыт) по работе и администрированию в Unix-подобных операционных системах.
Иметь навыки (приобрести опыт) применения объектно-ориентированного подхода на Python, включая утиную типизацию и разрешение конфликтов методов при множественном наследовании (MRO).
Иметь навыки (приобрести опыт) формализации и решения практических задач по программированию, включая обработку данных средствами библиотек NumPy и Pandas.
Содержание учебной дисциплины
Командный интерпретатор ОС Unix.
Устройство ОС Unix.
Введение в Python.
Объектно-ориентированное программирование на Python.
Фреймворки Python.
Элементы контроля
Домашнее задание №1
Описание: Домашнее задание №1 выдается студентам в одном варианте и состоит из 5 задач. Каждой задаче присвоен свой балл. Срок выполнения домашнего задания - 2 недели. Форма представления обучающимися домашнего задания - файл со скриптом.
Домашнее задание №2
Описание: Домашнее задание №2 выдается студентам в одном варианте. Срок выполнения домашнего задания - 2 недели. Форма представления обучающимися домашнего задания - представленные в письменном виде решения задач.
Домашнее задание №3:
Описание: Домашнее задание №3 выдается студентам в одном варианте. Срок выполнения домашнего задания - 2 недели. Форма представления обучающимися домашнего задания - представленные в письменном виде решения задач.
Проверочная работа
Описание: письменная проверочная работа — 3 коротких практических задания на Bash и Python (примерно 30 минут), без права пересдачи в рамках модуля; засчитывается в промежуточную аттестацию 2 модуля.
Домашнее задание №4
Домашнее задание №4 выдается студентам в одном варианте. Срок выполнения домашнего задания - 2 недели. Форма представления обучающимися домашнего задания - представленные в письменном виде решения задач.
Домашнее задание №5
Необходимо реализовать на языке Python (с использованием библиотеки numpy) класс `BlockLinearRegression`, который обучается на данных, поступающих блоками (чанками).
Пусть данные разбиты на $k$ блоков: $(X_1, y_1), (X_2, y_2), \dots, (X_k)$, где $X_i$ — матрица размера $(B_i \times D)$, $y_i$ — вектор размера $(B_i)$, $B_i$ — размер $i$-го блока, $D$ — количество признаков.
Алгоритм должен последовательно обработать каждый блок, обновляя внутреннее состояние, и после прохождения всех блоков вычислить итоговые веса модели.
Экзамен
Устный экзамен проводится в форме ответов на вопросы экзаменационного билета. Экзаменационный билет представляет собой один из алгоритмов, которые надо было реализовать в домашнем задании. На подготовку ответа выделяется 2,5 часа.
Федоров, Д. Ю. Программирование на языке высокого уровня Python : учебное пособие для вузов / Д. Ю. Федоров. — 4-е изд., перераб. и доп. — Москва : Издательство Юрайт, 2023. — 214 с. — (Высшее образование). — ISBN 978-5-534-15733-8. — Текст : электронный // Образовательная платформа Юрайт [сайт]. — URL: https://urait.ru/bcode/515076 (дата обращения: 02.07.2026).
Рекомендуемая дополнительная литература
Партыка Т. Л., Попов И. И. - Операционные системы, среды и оболочки - 978-5-00091-501-1 - Издательство Форум - 2021 - https://znanium.ru/catalog/document?id=364475 - 364475 - ZNANIUM
Преподаватели
Галоев Илькин Багаддин Оглы
Иванцов Илья Сергеевич
Сайфулин Дмитрий Тимурович
Программа дисциплины
Аннотация
Цель освоения дисциплины
Планируемые результаты обучения
Содержание учебной дисциплины
Элементы контроля
Промежуточная аттестация
Список литературы
Рекомендуемая основная литература
Рекомендуемая дополнительная литература
Авторы