Дисциплина базовой части профессионального цикла. Дисциплина направлена на формирование у студентов теоретических знаний и практических навыков по основам методологии программирования, включая администрирование 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
Преподаватель
Иванцов Илья Сергеевич
Программа дисциплины
Аннотация
Цель освоения дисциплины
Планируемые результаты обучения
Содержание учебной дисциплины
Элементы контроля
Промежуточная аттестация
Список литературы
Рекомендуемая основная литература
Рекомендуемая дополнительная литература
Авторы