We may earn an affiliate commission when you visit our partners.
Course image
Course image
Coursera logo

Programación Orientada a Objetos con Python

Agustin Olmedo

Este curso te dará ágil acceso a los conceptos del paradigma de programación orientado a objetos, utilizando el lenguaje de programación Python en su versión 3.0.

Read more

Este curso te dará ágil acceso a los conceptos del paradigma de programación orientado a objetos, utilizando el lenguaje de programación Python en su versión 3.0.

Una vez termines este curso, tendrás conocimiento tanto para el diseño de programas con objetos como para diagramar UML; lo que te permitirá diseñar y construir sistemas con objetos, modelando cualquier aspecto de la realidad que desees. Además podrá hacer sistemas de calidad realizando pruebas automáticas del sistema y reestructuraciones del mismo .

Aquí también podrás conocer cómo documentar el software y buenas prácticas de diseño. Además, conocerás las ventajas de realizar pruebas automáticas del software y la técnica de programación Test Driven Development (TDD), la cual te será muy útil para hacer sistemas de calidad.

Enroll now

What's inside

Syllabus

Introducción a la Programación Orientada a Objetos
En este módulo abordaremos los siguientes contenidos: veremos qué es el paradigma orientado a objetos y qué es un programa según este paradigma. Luego aprenderemos los conceptos de objeto, mensaje, colaboración y relación de conocimiento. Veremos que existen dos implementaciones del paradigma orientado a objetos: uno basado en prototipos y otro basado en clases. Python implementa el paradigma orientado a objetos utilizando clases. Aprenderemos a trabajar con clases, métodos de instancia, métodos de clase, variables de instancia y variables de clase. Además, veremos los conceptos de herencia y polimorfismo y aprenderemos como utilizar bien estos mecanismos. Finalmente, veremos algunas buenas prácticas en la programación orientada a objetos.
Read more
Diseño con objetos
Avanzamos al módulo 2 de contenido. En esta semana aprenderemos los principios de diseño que nos ayudan a hacer mejores diseños, sin caer en los errores más comunes. Veremos los principios de simplicidad, consistencia, entendible, máxima cohesión y mínimo acoplamiento. Además, aprenderemos varias reglas prácticas que nos ayudarán a programar mejor en el paradigma orientado a objetos.
Diseño con UML
Llegamos al módulo 3 del curso. En esta semana trabajaremos con diagramas UML. Comprenderás qué son y para qué sirven los diagramas de objetos, los diagramas de clases y los diagramas de secuencia. Además, utilizaremos el lenguaje de diagramas (UML) para realizar los diagramas de objeto, de clase y de secuencia.
Testing y TDD
Llegamos al último Módulo del curso. Felicitaciones por haber llegado hasta aquí. En esta semana aprenderemos diferentes técnicas de desarrollo de software, que nos permiten construir software de buena calidad. Primero nos abocaremos a aprender a hacer pruebas unitarias automáticas de nuestros programas. Luego aprenderemos qué es la refactorización de código y veremos diversos tipos de refactorings muy utilizados. Finalmente, veremos la técnica de programación Test Driven Development (TDD ), que nos permite construir programas de forma iterativa e incremental partiendo desde los test y refactorizando el código para mejorar los programas que hacemos a medida que conocemos más el dominio de problema.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Se enfoca en Python 3.0, una versión ampliamente utilizada en la industria
Enseña los principios de programación orientada a objetos, fundamentales para el diseño y la implementación de sistemas
Abarca tanto el diseño con objetos como con UML, herramientas esenciales para el desarrollo de software
Incluye prácticas de diseño y técnicas de testing, aspectos cruciales para la calidad del software
La instrucción corre a cargo de Agustín Olmedo, un instructor reconocido en el campo
Requiere conocimientos previos de programación, lo que puede ser una barrera para los principiantes

Save this course

Save Programación Orientada a Objetos con Python to your list so you can find it easily later:
Save

Reviews summary

Programación orientada a objetos práctica con python

Este curso se centra en los paradigmas de la programación orientada a objetos usando Python. Contiene conceptos como diseño de programas con objetos, diagramas UML, pruebas unitarias y la técnica de programación Test Driven Development (TDD). Está bien recibido por los estudiantes, que destacan sus bases sólidas, su enfoque práctico y su material suficiente.
El curso introduce la metodología Test Driven Development (TDD).
"Realmente muy bueno aprender POO y llevar a cabo las pruebas a través del método de TDD. "
El curso ofrece material completo, incluyendo teoría y ejercicios prácticos.
"...aunque el lenguaje es algo abstracto,para los que no estudiamos carreras informáticas, pude aprender mucho con este curso. "
El curso hace hincapié en la práctica con ejercicios y proyectos.
"Excelente curso, me gusto la forma de transmitir los conocimientos."
El curso proporciona una sólida base en programación orientada a objetos.
"Excelente curso, aprendí mucho en estas 4 semanas, muchas gracias al Profesor Olmedo."
Las preguntas de evaluación son muy específicas, limitando las soluciones.
"Las preguntas de las correcciones me parecen muy especificas como si solo hubiera 1 solucion."
Algunos estudiantes señalan la falta de ejemplos prácticos.
"me gusto mucho complicado pero la mejor experirncia que he tenido"
El curso puede resultar complejo para principiantes en programación.
"Un curso muy completo pensado para las personas que deseen aprender programación orientada a objetos de la manera correcta, genial!"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Programación Orientada a Objetos con Python with these activities:
Revisar los conceptos básicos de programación en Python
Mejorará la comprensión de los conceptos básicos de programación, lo que facilitará el aprendizaje de la programación orientada a objetos.
Browse courses on Python
Show steps
  • Revisar tutoriales en línea o documentación sobre conceptos básicos de Python.
  • Resolver ejercicios o problemas de práctica para reforzar la comprensión.
Encontrar un mentor con experiencia en programación orientada a objetos
Proporcionará orientación y apoyo personalizados, acelerando el progreso del aprendizaje.
Show steps
  • Identificar a mentores potenciales dentro de la industria o redes profesionales.
  • Contactar a los mentores y programar sesiones de tutoría.
Participar en un curso en línea sobre Python 3.10
Ampliará el conocimiento del lenguaje de programación utilizado en el curso.
Show steps
  • Elegir un curso en línea de una plataforma de aprendizaje reputada.
  • Completar el curso a su propio ritmo y utilizar los recursos proporcionados.
Two other activities
Expand to see all activities and additional details
Show all five activities
Participar en un grupo de estudio con otros estudiantes
Facilitará el aprendizaje colaborativo, la aclaración de conceptos y la resolución de problemas.
Show steps
  • Formar un grupo de estudio con otros estudiantes del curso.
  • Reunirse regularmente para discutir el material del curso y trabajar en ejercicios.
Implementar patrones de diseño (Singleton, Factory)
Reforzará la comprensión de patrones de diseño y mejorará las habilidades de programación.
Show steps
  • Leer artículos o documentación sobre patrones de diseño.
  • Implementar ejemplos de patrones de diseño en un proyecto de software.

Career center

Learners who complete Programación Orientada a Objetos con Python will develop knowledge and skills that may be useful to these careers:
Software Architect
Software Architects design, build, and maintain the overall architecture of software systems. This course would be helpful because it teaches the fundamentals of object-oriented programming (OOP) in Python, which is a widely used programming language for software development. The course covers concepts such as inheritance, polymorphism, and encapsulation, which are essential for designing and implementing robust and scalable software systems. Additionally, the course provides exposure to design principles and best practices, which can help Software Architects make informed decisions about the design and implementation of software systems.
Software Engineer
Software Engineers design, develop, and maintain software applications. This course would be helpful because it teaches the fundamentals of OOP in Python, which is a popular programming language used in software development. The course covers concepts such as inheritance, polymorphism, and encapsulation, which are essential for writing clean, maintainable, and reusable code. Additionally, the course provides exposure to design principles and best practices, which can help Software Engineers write high-quality software.
Full-Stack Developer
Full Stack Developers are responsible for both the front-end and back-end development of web applications. This course would be helpful because it teaches the fundamentals of OOP in Python, which is a popular programming language used in both front-end and back-end development. The course covers concepts such as inheritance, polymorphism, and encapsulation, which are essential for writing clean, maintainable, and reusable code. Additionally, the course provides exposure to design principles and best practices, which can help Full Stack Developers build high-quality web applications.
Data Scientist
Data Scientists use data to extract insights and build predictive models. This course would be helpful because it teaches the fundamentals of OOP in Python, which is a popular programming language used in data science. The course covers concepts such as inheritance, polymorphism, and encapsulation, which are essential for writing clean, maintainable, and reusable code. Additionally, the course provides exposure to design principles and best practices, which can help Data Scientists build high-quality data science models.
Machine Learning Engineer
Machine Learning Engineers build and maintain machine learning models. This course would be helpful because it teaches the fundamentals of OOP in Python, which is a popular programming language used in machine learning. The course covers concepts such as inheritance, polymorphism, and encapsulation, which are essential for writing clean, maintainable, and reusable code. Additionally, the course provides exposure to design principles and best practices, which can help Machine Learning Engineers build high-quality machine learning models.
Web Developer
Web Developers design, build, and maintain websites. This course would be helpful because it teaches the fundamentals of OOP in Python, which is a popular programming language used in web development. The course covers concepts such as inheritance, polymorphism, and encapsulation, which are essential for writing clean, maintainable, and reusable code. Additionally, the course provides exposure to design principles and best practices, which can help Web Developers build high-quality websites.
Quality Assurance Analyst
Quality Assurance Analysts test software applications to ensure that they meet quality standards. This course would be helpful because it teaches the fundamentals of OOP in Python, which is a popular programming language used in software development. The course covers concepts such as inheritance, polymorphism, and encapsulation, which are essential for writing clean, maintainable, and reusable code. Additionally, the course provides exposure to testing techniques and best practices, which can help Quality Assurance Analysts write high-quality test cases.
User Experience Designer
User Experience Designers design the user interface and user experience of software applications. This course may be helpful because it teaches the fundamentals of OOP in Python, which is a popular programming language used in software development. The course covers concepts such as inheritance, polymorphism, and encapsulation, which can be helpful for understanding how software applications are structured and how to design user interfaces that are easy to use and navigate.
Product Manager
Product Managers manage the development and launch of software products. This course may be helpful because it teaches the fundamentals of OOP in Python, which is a popular programming language used in software development. The course covers concepts such as inheritance, polymorphism, and encapsulation, which can be helpful for understanding how software applications are structured and how to manage the development process.
Business Analyst
Business Analysts gather and analyze business requirements to help organizations improve their processes and systems. This course may be helpful because it teaches the fundamentals of OOP in Python, which is a popular programming language used in business applications. The course covers concepts such as inheritance, polymorphism, and encapsulation, which can be helpful for understanding how business applications are structured and how to analyze business requirements.
Technical Writer
Technical Writers create documentation for software applications and other technical products. This course may be helpful because it teaches the fundamentals of OOP in Python, which is a popular programming language used in software development. The course covers concepts such as inheritance, polymorphism, and encapsulation, which can be helpful for understanding how software applications are structured and how to write clear and concise documentation.
Project Manager
Project Managers plan and manage software development projects. This course may be helpful because it teaches the fundamentals of OOP in Python, which is a popular programming language used in software development. The course covers concepts such as inheritance, polymorphism, and encapsulation, which can be helpful for understanding how software applications are structured and how to manage software development projects.
Systems Analyst
Systems Analysts analyze and design computer systems. This course may be helpful because it teaches the fundamentals of OOP in Python, which is a popular programming language used in systems development. The course covers concepts such as inheritance, polymorphism, and encapsulation, which can be helpful for understanding how computer systems are structured and how to design efficient and effective systems.
Database Administrator
Database Administrators manage and maintain databases. This course may be helpful because it teaches the fundamentals of OOP in Python, which is a popular programming language used in database development. The course covers concepts such as inheritance, polymorphism, and encapsulation, which can be helpful for understanding how databases are structured and how to manage and maintain them.
Information Security Analyst
Information Security Analysts protect computer systems and networks from unauthorized access and attacks. This course may be helpful because it teaches the fundamentals of OOP in Python, which is a popular programming language used in information security. The course covers concepts such as inheritance, polymorphism, and encapsulation, which can be helpful for understanding how computer systems and networks are structured and how to protect them from unauthorized access and attacks.

Reading list

We've selected 15 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Programación Orientada a Objetos con Python.
Este libro proporciona una introducción completa a la programación orientada a objetos con Python. Cubre los conceptos básicos, como clases, objetos, herencia y polimorfismo, así como temas más avanzados, como programación funcional y diseño de patrones.
Este libro proporciona una guía para escribir código limpio, que es legible, mantenible y extensible. Es una lectura esencial para cualquier programador que desee mejorar la calidad de su software.
Este libro proporciona una guía para el diseño impulsado por el dominio, que es un enfoque para diseñar software que se centra en el dominio del problema. Es una lectura esencial para cualquier programador que desee mejorar la calidad de su software.
Este libro proporciona ideas sobre la gestión y el desarrollo de proyectos de software. Es una lectura esencial para cualquier programador que desee mejorar sus habilidades de gestión de proyectos.
Este libro proporciona una guía para refactorizar el código existente, que es el proceso de mejorar su diseño sin cambiar su funcionalidad. Es una lectura esencial para cualquier programador que desee mejorar sus habilidades de diseño.
Este libro proporciona una guía para realizar pruebas unitarias, que es el proceso de probar unidades individuales de código. Es una lectura esencial para cualquier programador que desee mejorar la calidad de su software.
Este libro proporciona información sobre la gestión de proyectos de software y el trabajo en equipo. Es una lectura esencial para cualquier programador que desee mejorar sus habilidades de colaboración.
Este libro proporciona una introducción a los principios y prácticas del análisis y diseño orientado a objetos. Cubre temas como modelado de objetos, patrones de diseño y pruebas de software.
Este libro proporciona información sobre la innovación y la disrupción en la industria tecnológica. Es una lectura esencial para cualquier programador que desee comprender el panorama cambiante de la industria del software.
Este libro proporciona una introducción al desarrollo impulsado por pruebas, que es una técnica para escribir pruebas antes de escribir código. Es una lectura esencial para cualquier programador que desee mejorar la calidad de su software.
Este libro proporciona una introducción a los principios y prácticas de la programación orientada a objetos. Si bien está escrito en Java, los conceptos cubiertos son aplicables a Python también.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Programación Orientada a Objetos con Python.
Diseño de Proyectos de Desarrollo
Most relevant
Fundamentos TIC para profesionales de negocios:...
Most relevant
Introducción a Java
Most relevant
Programar en Python
Most relevant
¿Cómo hacer uso responsable de la inteligencia artificial?
Most relevant
Programación Orientada a Objetos con Java
Most relevant
Guía Completa JUnit y Mockito incluye Spring Boot Test
Most relevant
Ingeniería Robótica - Coche Robot Inteligente
Most relevant
Introducción a Data Science: Programación Estadística con...
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser