Programming Practicum in Python
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
- Python Introduction: Built-in data types, memory model, and language fundamentals
- Functions and Iterators: Function definition, iterators, generators, and advanced Python constructs
- Object-Oriented Programming I: Language features, attributes, inheritance, and class design principles
Block 2: Python for Machine Learning
- Data Analysis Tools: NumPy, Pandas, Matplotlib, and essential data manipulation libraries
- Machine Learning Tools: Scikit-learn, model training, evaluation, and ML pipeline development
- Object-Oriented Programming II: Typing, polymorphism, data classes, decorators, and advanced OOP concepts
- Neural Networks: Deep learning frameworks, PyTorch/TensorFlow, and neural network implementation
Block 3: Industrial Development Elements
- Virtual Environments and Containers: Environment management, Docker, and deployment considerations
- Python Modules and Web Clients: Module system, HTTP clients, and API interaction
- Server-Side Web Development: Flask/FastAPI, REST APIs, and web service architecture
- 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:
- Format: Interactive lectures + coding assignments
- Structure: 11 lectures covering theoretical foundations and practical implementations
- Assignments: 4 comprehensive practical tasks building upon each other
Labworks
4 practical assignments covering the complete Python development workflow:
- Introduction to Python: Basic language constructs, data structures, and programming fundamentals
- Data Analysis and Machine Learning: Data manipulation, statistical analysis, and ML model implementation
- Neural Networks: Deep learning model development, training, and evaluation
- Web Server for ML Models: Full-stack ML application with training and inference capabilities
Grading
To pass the course and receive credit, students must:
- Total Score: Accumulate at least 60 points across all 4 assignments
- Minimum per Assignment: Score at least 10 points on each individual assignment
- Maximum Score: 100 points total (25 points per assignment)
Prerequisites
Basic programming knowledge, mathematical foundations (linear algebra, statistics), and familiarity with algorithmic thinking.