Programming Practicum in Python

Course Website

About

The course is devoted to practical programming skills in Python with emphasis on data science and machine learning applications. Special attention is paid to Python fundamentals, data analysis tools, neural networks, and industrial development practices. The aim of the course is to provide students with comprehensive Python programming skills essential for modern data science and ML engineering.

Syllabus

The course is structured into three logical blocks covering progression from basic Python to industrial applications:

Block 1: Introduction to Python Language

  1. Python Introduction: Built-in data types, memory model, and language fundamentals
  2. Functions and Iterators: Function definition, iterators, generators, and advanced Python constructs
  3. Object-Oriented Programming I: Language features, attributes, inheritance, and class design principles

Block 2: Python for Machine Learning

  1. Data Analysis Tools: NumPy, Pandas, Matplotlib, and essential data manipulation libraries
  2. Machine Learning Tools: Scikit-learn, model training, evaluation, and ML pipeline development
  3. Object-Oriented Programming II: Typing, polymorphism, data classes, decorators, and advanced OOP concepts
  4. Neural Networks: Deep learning frameworks, PyTorch/TensorFlow, and neural network implementation

Block 3: Industrial Development Elements

  1. Virtual Environments and Containers: Environment management, Docker, and deployment considerations
  2. Python Modules and Web Clients: Module system, HTTP clients, and API interaction
  3. Server-Side Web Development: Flask/FastAPI, REST APIs, and web service architecture
  4. Code Efficiency Methods: Performance optimization, profiling, and best practices for production code

Lectures and Practical Assignments

The course combines theoretical lectures with hands-on practical assignments:

Labworks

4 practical assignments covering the complete Python development workflow:

  1. Introduction to Python: Basic language constructs, data structures, and programming fundamentals
  2. Data Analysis and Machine Learning: Data manipulation, statistical analysis, and ML model implementation
  3. Neural Networks: Deep learning model development, training, and evaluation
  4. Web Server for ML Models: Full-stack ML application with training and inference capabilities

Grading

To pass the course and receive credit, students must:

Prerequisites

Basic programming knowledge, mathematical foundations (linear algebra, statistics), and familiarity with algorithmic thinking.