Цепочка кафедральных курсов, использующих свободное программное обеспечение (Дмитрий Волканов, OSEDUCONF-2022)
Материал из 0x1.tv
- Докладчик
- Дмитрий Волканов
В докладе рассказывается про опыт преподавания курсов «Язык программирования Python», «Совместная разработка на Python», «Разработка программного обеспечения для GNU/Linux», «Архитектура современных ЭВМ» и «Практические аспекты сетевых протоколов в Linux» на кафедре АСВК факультета ВМК МГУ имени М.В. Ломоносова и рассказывается о том, какое свободное программное обеспечение используется в рамках данных курсов.
Содержание
Видео
Презентация
Thesis
Основным направлением деятельности кафедры АСВК факультета ВМК МГУ имени М. В. Ломоносова является подготовка специалистов по разработке распределённой инфраструктуры для передачи больших потоков данных. В настоящее время разработан ряд курсов, выстраивающихся в единую цепочку. В докладе рассказывается о тех курсах, что читались в 2021/2022 учебном году.
На младших курсах студенты факультета ВМК изучают Паскаль, Ассемблер, C и С++. Студенту при выполнении курсовой работы необходимо владеть языком программирования Python. В рамках курса «Язык программирования Python» изучают современное состояние языка программирования Python, синтаксис и основные приёмы программирования на нём, а также выполняют домашние задания. В рамках курса используется Python и его инфраструктура.
Разработка программ это не только написание кода, но и ряд дополнительных активностей, а также умение работать в команде. На курсе «Совместная разработка приложений на Python» изучаются три аспекта совместной разработки приложений: инструменты и дисциплина совместной работы (DVCS), направления разработки (документирование, тестирование, интернационализация, деплоймент), а также инструментарий, определяемый языком программирования Python. В качестве отчёта студенты объединяются в микрогруппы и пишут совместный проект. В курсе рассматриваются система контроля версий git, средство документирования кода Sphinx, несколько систем локализации и сборки.
Разработка невозможна без знания современных архитектур. Архитектура процессоров RISC-V на данный момент, наиболее стройная и понятная из всех актуальных архитектур вычислительных систем. В курсе «Архитектура и язык ассемблера RISC-V» прослеживается связь между конкретной организацией процессора и общими принципами построения вычислительных систем. В учебном процессе используются эмулятор RARS, а также среда разработки и визуализатор выполнения кода RISC-V.
Специалист по разработке должен понимать, как работает сеть Интернет. Задача курса «Практические аспекты сетевых протоколов в Linux» иллюстрация организации и работы семейства сетевых протоколов TCP/IP на примере операционной системы семейства GNU/Linux. В курсе рассматриваются все уровни TCP/IP в той мере, в какой они используются системой. Для практических занятий в курсе предусматривается использование виртуальных машин VitrualBox.
Разработка невозможна без знания жизненного цикла создания программного обеспечения (ПО). В курсе Разработка программного обеспечения для GNU/Linux рассматривается жизненный цикл создания программного продукта на примере практик, используемых при разработке приложений на C для операционной системы семейства GNU/Linux.
Всё ПО используемое в рамках курсов является свободным и обладает такими свойствами, как публичная доступность, достаточная для обучения функциональность, возможность лицензирования и публикации результатов. Несвободное ПО имеет ряд усложнений, затрудняющее его изучение.
Также стоит отметить, что все лекции читаются в прямом эфире на сайте youtube.com, все желающие могут задать вопросы в чате и затем лекции выкладываются в открытом доступе.