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
IntermediateCourse 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 skillsPros 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