This repository contains materials for a comprehensive Python programming course designed for web developers. The course progresses from basic Python concepts to advanced web development using Django. All lesson materials are provided in Russian, while this README offers an English overview of the course structure and content.
The course is organized into several modules, each building upon the previous one:
- Basic Python - Introduction to Python syntax, data types, control structures, and basic programming concepts
- Object-Oriented Programming - Classes, objects, inheritance, and OOP principles in Python
- Web Development with Django - Building web applications using the Django framework
Each module includes:
- Detailed lessons (lesson*.md files)
- Module assignments (module*.md files)
- Practice tasks (tasks_block*.md files)
The course includes 36 lessons covering various Python topics:
- Introduction to Python, variables, data types
- Control structures (if/else, loops)
- Functions and modules
- Data structures (lists, dictionaries, sets, tuples)
- File operations
- Object-oriented programming
- Exception handling
- Regular expressions
- Working with external libraries
- Testing and debugging
- Introduction to web development
- Django framework
- Models, views, and templates
- Forms and user authentication
- RESTful APIs
The course includes three main module assignments:
- Console Task Management System - Apply basic Python concepts to create a task management application
- Rock-Paper-Scissors Game - Implement a console game using object-oriented programming principles
- E-commerce Website - Build a simple online store using Django
Additional practice tasks are provided to reinforce concepts learned in the lessons:
- Block 1 Tasks - Exercises on basic data structures, string manipulation, functions, and file operations
- Block 2 Tasks - Advanced exercises on OOP, algorithms, and more complex programming challenges
The repository also includes:
- Images and diagrams in the
pictures
directory - Additional explanatory materials (pr_explanation.md, before_postgres.md, etc.)