Язык Python в промышленном окружении

Код специальности / Specialty code: Код специальности / Specialty code: 7-06-0533-04

Специальность / Specialty: Математика и компьютерные науки / Mathematics and Computer Sciences

Учебная дисциплина, модуль / Academic discipline, module: Язык Python в промышленном окружении / Python in Industrial Environment

Краткое содержание учебной дисциплины, модуля / Brief summary

Курс «Язык Python в промышленном окружении» формирует теоретические и практические навыки промышленной разработки на Python. Темы включают: ключевые концепции языка (типы данных, итераторы, генераторы, контекстные менеджеры), парадигмы программирования (ООП, функциональное, принципы SOLID), асинхронное и многопоточное программирование (asyncio, event loop), разработку серверных приложений с FastAPI, интеграцию баз данных, тестирование (unittest, pytest), логирование, контроль версий (Git) и контейнеризацию (Docker).

The course «Python in Industrial Environment» develops theoretical and practical skills in industrial Python development. Topics include: key language concepts (data types, iterators, generators, context managers), programming paradigms (OOP, functional, SOLID principles), asynchronous and multithreaded programming (asyncio, event loop), server-side application development with FastAPI, database integration, testing (unittest, pytest), logging, version control (Git), and containerization (Docker).

Формируемые компетенции / The formed competences

специализированные компетенции: Использовать инструменты анализа и алгоритмы обработки данных.

Применять современные технологии для разработки программного обеспечения.

specialized competencies: Use data analysis tools and data processing algorithms.

Apply modern technologies for software development.

Результаты обучения (знать, уметь, владеть) / Learning outcomes (know, can, be able)

знать: 

– области применения Python в промышленной и серверной разработке;

– ключевые концепции типов данных, итераторов, генераторов, контекстных менеджеров и обработки ошибок;

– основные парадигмы программирования: процедурную, функциональную и ООП, включая принципы SOLID;

– основы конкурентности и асинхронного программирования, модель event loop и конструкции async/await;

– архитектуру серверных приложений и принципы построения REST API с FastAPI;

– методы интеграции с базами данных и основы безопасности веб-приложений;

– базовые подходы к развертыванию приложений, включая контейнеризацию с Docker;

уметь: 

– создавать и структурировать Python-программы с использованием современных подходов;

– разрабатывать веб-приложения с FastAPI и интеграцией баз данных;

– применять асинхронное и многопоточное программирование для повышения производительности;

– отлаживать и тестировать приложения, используя unittest, pytest и логирование;

– использовать системы контроля версий (Git, GitHub) и готовить приложения к развертыванию;

владеть: 

– навыками написания поддерживаемого и документированного кода на Python;

– навыками разработки и развертывания веб-приложений с FastAPI и базами данных;

– навыками применения инструментов отладки, профилирования и логирования.

know: 

– areas of Python application in industrial and server-side development;

– key concepts of data types, iterators, generators, context managers and error handling;

– main programming paradigms: procedural, functional and OOP, including SOLID principles;

– basics of concurrency and asynchronous programming, event loop model and async/await constructs;

– server application architecture and REST API design principles with FastAPI;

– database integration methods and basics of web application security;

– basic approaches to application deployment, including containerization with Docker;

be able to: 

– create and structure Python programs using modern approaches;

– develop web applications with FastAPI and database integration;

– apply asynchronous and multithreaded programming to improve performance;

– debug and test applications using unittest, pytest and logging;

– use version control systems (Git, GitHub) and prepare applications for deployment;

possess: 

– skills in writing maintainable and documented Python code;

– skills in developing and deploying web applications with FastAPI and databases;

– skills in applying debugging, profiling and logging tools.

Семестр изучения учебной дисциплины, модуля / Semester of study

1

1

Пререквизиты / Prerequisites

«Методы программирования», «Технологии программирования», «Математический анализ».

«Programming Methods», «Programming Technologies», «Mathematical Analysis».

Трудоемкость в зачетных единицах (кредитах) / Credit units

3

3

Количество аудиторных часов и часов самостоятельной работы / Academic hours of students’ class work, hours of self-directed learning

всего 108 часов, в том числе 36 аудиторных часов, из них: лекции – 18 часов, лабораторные работы – 18 часов.

total 108 hours, including 36 classroom hours, including: lectures – 18 hours, laboratory classes – 18 hours.

Требования и формы текущей и промежуточной аттестации / Requirements and forms of current and interim certification

зачёт

pass/fail exam