ООП и паттерны проектирования в Python

  • 3.9
Approx. 29 hours to complete

Course Summary

This course teaches Object-Oriented Programming (OOP) and Design Patterns in Python. Students will learn how to write efficient and maintainable code using OOP and apply common design patterns in Python.

Key Learning Points

  • Learn OOP concepts and principles in Python
  • Understand and apply design patterns in Python
  • Write efficient and maintainable code
  • Gain practical experience through hands-on coding exercises
  • Build a portfolio of projects using OOP and Design Patterns

Related Topics for further study


Learning Outcomes

  • Understand and apply OOP concepts and principles in Python
  • Utilize design patterns in Python to write efficient and maintainable code
  • Build a portfolio of projects using OOP and Design Patterns

Prerequisites or good to have knowledge before taking this course

  • Basic Python programming knowledge
  • Understanding of programming concepts

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced
  • Hands-on coding exercises

Similar Courses

  • Python Data Structures
  • Python Programming Essentials
  • Applied Data Science with Python

Related Education Paths


Notable People in This Field

  • Creator of Python
  • Director of Computing Outreach at University of Michigan
  • Software Development Consultant

Related Books

Description

Курс возводит слушателя от написания простых конкретных классов к профессиональному конструированию приложения в объектно-ориентированной парадигме. Паттерны проектирования позволяют шагнуть за пределы простого использования синтаксических конструкций языка. Вы научитесь писать красиво и элегантно, будете использовать проверенные временем концепции и создавать масштабируемые программы. Использование паттернов проектирования является признаком профессионализма программиста.

Outline

  • Тестирование и отладка программ
  • О курсе
  • Профессионализм в программировании
  • Культура программирования
  • Выбор идентификаторов
  • Структурное программирование
  • Проектирование приложения «сверху-вниз»
  • Зачем нужно тестировать программы
  • Контрактное программирование
  • Модульное тестирование и Test-Driven Development
  • Библиотека doctest
  • Библиотека unittest
  • Telegram и форум курса
  • Mail.Ru Group
  • Фонд развития онлайн-образования
  • Краткое изложение PEP 8
  • Код программы рисования пейзажа
  • Итеративная разработка с проектированием "сверху-вниз"
  • Команда assert и библиотека PyContracts
  • Пример разработки через тестирование
  • Использование unittest
  • Авторское решение задания
  • Конспект по Неделе 1
  • Тест на знание PEP 8
  • Преимущества структурного программирования
  • Зачем тестировать программы
  • Использование контрактов
  • Тест на модульное тестирование
  • Объектно-ориентированное проектирование
  • Чем хорошо объектно-ориентированное программирование?
  • Отличие класса от объекта
  • Отличие интерфейса класса от реализации
  • Инкапсуляция и полиморфизм в Python
  • SOLID принципы ООП
  • Наследование в Python
  • Абстрактные классы и библиотека abc
  • UML-нотация и диаграммы классов
  • Объектно-ориентированный рефакторинг программ
  • Парадигмы ООП
  • SOLID-принципы
  • Парадигма наследования
  • Создание базовых классов: решение
  • Решение рефакторинга кода
  • Конспект по Неделе 2
  • Объектно-ориентированное программирование
  • Принципы и парадигмы ООП
  • Построение схемы наследования
  • UML-нотация
  • Паттерны проектирования (часть 1)
  • Зачем нужны паттерны проектирования
  • Классификация паттернов проектирования
  • Задача паттерна Decorator
  • Реализация декоратора класса
  • Задача паттерна Adapter
  • Реализация адаптера класса
  • Задача паттерна Observer
  • Реализация паттерна Наблюдатель
  • Паттерны проектирования
  • Паттерн проектирования "Декоратор"
  • Создание декоратора класса — решение от преподавателей
  • Примеры паттерна Adapter
  • Создание адаптера для класса — решение от преподавателей
  • Использование паттерна Наблюдатель
  • Паттерн Наблюдатель — решение от преподавателей
  • Конспект по Неделе 3
  • Паттерны проектирования
  • Паттерны проектирования (часть 2)
  • Задача паттерна Chain of Responsibility
  • Краткая реализация паттерна Chain of Responsibility
  • Практическая реализация паттерна Chain of Responsibility
  • Задача паттерна Abstract Factory
  • Краткая реализация паттерна Abstract Factory
  • Практическая реализация паттерна Abstract Factory
  • Язык YAML. Назначение и структура. PyYAML
  • Использование YAML для конфигурирования паттерна Abstract Factory
  • Материалы лекции
  • Реализовать Chain of Responsibility — решение от преподавателей
  • Материалы лекции
  • Реализуйте абстрактную фабрику — решение от преподавателей
  • Продвинутый пример на использование YAML
  • Парсинг YAML-файла — решение задания от преподавателей
  • Конспект по Неделе 4
  • Итоговый проект
  • Продолжение курса

Summary of User Reviews

Discover Object-Oriented Programming (OOP) and Design Patterns with Python in this course on Coursera. Students rave about the course's hands-on approach and engaging instructors, resulting in high overall ratings. One key aspect that users appreciate is the course's emphasis on practical coding skills that can be applied to real-world projects.

Key Aspect Users Liked About This Course

Emphasis on practical coding skills

Pros from User Reviews

  • Engaging instructors
  • Hands-on approach
  • Real-world applications
  • Clear explanations
  • Great for beginners

Cons from User Reviews

  • Some concepts can be difficult to grasp
  • Not enough explanation of certain topics
  • Not enough challenge for advanced programmers
  • Limited interaction with instructors
  • Some technical issues with the platform
Russian
Available now
Approx. 29 hours to complete
Максимов Егор Сергеевич, Хирьянов Тимофей Фёдорович, Герцев Михаил Николаевич
Moscow Institute of Physics and Technology, Mail.Ru Group, E-Learning Development Fund
Coursera
Share
Saved Course list
Cancel
Get Course Update
Computer Courses