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

Introducción a la programación orientada a objetos en Java

Marcela Hernández Hoyos, Álvaro Andrés Gómez D’Alleman, and Juan Pablo Reyes Gómez

¡Le damos la bienvenida al curso de Introducción a la programación en java por objetos de la Universidad de los Andes!

Read more

¡Le damos la bienvenida al curso de Introducción a la programación en java por objetos de la Universidad de los Andes!

El propósito de este curso es ofrecerle un ambiente interactivo orientado a construir aprendizajes sobre el lenguaje de la programación en Java para la creación y manipulación de objetos. La estrategia pedagógica empleada es el aprendizaje activo basado en casos. Es un curso altamente interactivo que constantemente lo reta a responder preguntas, verificar su comprensión, ejercitarse en código, resolver casos en diferentes niveles y múltiples oportunidades para pasar de la teoría a la práctica con actividades formativas que le permitirán ganar puntos de experiencia, puntos de competencia y puntos de habilidad, con los cuales desarrollará habilidades de abstracción y de programación.

Además, podrá utilizar dos aplicaciones web desarrolladas por la Universidad de los Andes que son novedosas e importantes para el desarrollo de habilidades de programación:

1. CupiExámenes: Software de ejercitación en código Java, que ofrece retroalimentación automática sobre la escritura incorrecta del código y califica el proceso de programación es decir, le indica si el resultado está bien o mal, dónde se equivocó y por qué.

2. CupiTips: Es otra aplicación web donde puede encontrar una lista de errores comunes que se cometen al programar en Java y le permite al estudiante corregirlos de manera que pueda aprender de ellos.

La Universidad de los Andes está poniendo a su disposición y de forma gratuita estas aplicaciones, así como los libros que le permitirán nivelarse o aclarar algunos conceptos importantes, si así lo necesita para poder tomar este curso.

Tenga en cuenta que el tiempo estimado para la realización de las actividades de cada módulo es de 14 horas en promedio. Usted puede invertir este tiempo en un periodo de 1 o 2 semanas por módulo, de acuerdo con sus posibilidades y necesidades educativas. Así mismo le recomendamos que desarrolle todas las actividades educativas en el orden propuesto, de manera que pueda sacar mejor provecho de este curso.

Enroll now

What's inside

Syllabus

Módulo 1: Clases y objetos
¡Le damos la bienvenida al módulo 1! Uno de los paradigmas más conocidos y usados en la actualidad es el paradigma orientado a objetos, el cual está fundamentado en pilares como la abstracción, el encapsulamiento, la modularidad, el polimorfismo y la herencia. En este módulo tendrá la oportunidad de conocer los conceptos básicos de este paradigma: clases, objetos, asociaciones y métodos. Tenga en cuenta que el tiempo estimado para la realización de todas las actividades de este módulo es de cerca de 14 horas, tiempo que usted puede invertir de acuerdo con sus posibilidades. Le recomendamos que desarrolle todas las actividades en el orden propuesto y que considere hacerlo en un tiempo de dos semanas.
Read more
Módulo 2: Arreglos y vectores
¡Le damos la bienvenida al módulo 2! La construcción del modelo conceptual del mundo del problema en muchas ocasiones implica usar el concepto de colección o grupos de elementos de la misma clase, y manejar estrategias para añadir nuevos elementos a ese grupo o para buscar un elemento en particular dentro de dicha colección. En este módulo vamos a tratar algunos conceptos fundamentales de la programación que nos permiten manejar grupos de elementos: los arreglos y las matrices, que son estructuras contenedoras de 1 y 2 dimensiones. Usaremos estas entidades para representar colecciones de datos u objetos en nuestro modelo del mundo. Además, vamos a revisar las diferentes operaciones algorítmicas que podemos realizar sobre las estructuras de datos en 1 y 2 dimensiones, ya sea para agregar y eliminar elementos o para realizar tanto búsquedas como manipulaciones de los objetos contenidos allí. Tenga en cuenta que el tiempo estimado para la realización de todas las actividades de este módulo es de cerca de 16 horas, tiempo que usted puede invertir de acuerdo con sus posibilidades. Le recomendamos que desarrolle todas las actividades en el orden propuesto y que considere hacerlo en un tiempo de dos semanas.
Módulo 3: Ordenamiento
¡Le damos la bienvenida al módulo 3! Uno de los problemas críticos que enfrentan los programadores es la eficiencia de los programas que escriben. Un usuario en general espera que el programa sea capaz de contestar sus requerimientos rápidamente. ¿Cómo construir entonces programas que sean eficientes? La respuesta a esta pregunta es bastante más difícil de contestar, puesto que intervienen muchos factores diferentes. Uno de los enfoques de esta situación es el problema de la búsqueda eficiente de información en un grupo de valores, puesto que dicha actividad es fundamental en muchos programas y una buena cantidad del tiempo de ejecución se va en localizar algo que el usuario quiere consultar. Dado este contexto, resulta muy conveniente ordenar la información que maneja el programa (objetos o valores simples) para que sea fácil de encontrar. El tema de búsqueda en particular será el que abordaremos en este módulo. Tenga en cuenta que el tiempo estimado para la realización de todas las actividades de este módulo es de cerca de 11 horas, tiempo que usted puede invertir de acuerdo con sus posibilidades. Le recomendamos que desarrolle todas las actividades en el orden propuesto y que considere hacerlo en un tiempo de dos semanas.
Módulo 4: Herencia
¡Le damos la bienvenida al módulo 4! Es un hecho que los programas de computador que se construyen deben evolucionar a medida que el problema y el contexto en el que éste ocurre cambian. Un programa de buena calidad es aquel que además de resolver el problema actual que se plantea, tiene una estructura que le permite evolucionar a costo razonable. No nos interesa construir un programa que tengamos que rehacer cada vez que algún aspecto del problema cambie o un nuevo requerimiento aparezca. Además de hacer evolucionar los programas a bajo costo, nos enfrentamos siempre al reto de hacer las implementaciones de la manera lo más eficiente posible (en tiempo e inversión). Para esto, lo ideal sería aprovechar otros desarrollos previos que nos ayuden en la construcción de nuestro programa. Esta es la idea del mecanismo de reutilización de clases denominado herencia, tema de este módulo. Imagínese los elevados costos si cada vez que nos lanzamos a construir un nuevo programa debemos partir desde cero. En este módulo vamos a enfrentarnos al problema de hacer implementaciones eficientes de programas: vamos a utilizar el mecanismo de herencia que nos permitirá reutilizar código de clases que ya implementamos para acelerar el tiempo que toma programar nuevas clases. A través del módulo nos familiarizaremos con los conceptos de superclases y subclases, entenderemos cómo a través de la visibilidad de los atributos y métodos podremos tener mayor o menor versatilidad al momento de implementar nuevas clases usando herencia. También explicaremos qué es una clase abstracta y sus implicaciones en el mundo del problema. Tenga en cuenta que el tiempo estimado para la realización de todas las actividades de este módulo es de cerca de 15 horas, tiempo que usted puede invertir de acuerdo con sus posibilidades. Le recomendamos que desarrolle todas las actividades en el orden propuesto y que considere hacerlo en un tiempo de dos semanas.
Módulo 5: Interfaz Gráfica
¡Le damos la bienvenida al módulo 5! A diferencia de los módulos anteriores, en este módulo del curso, vamos a cambiar de metodología de trabajo, ya que para construir una interfaz gráfica no se necesitan grandes habilidades algorítmicas. Se trata sobre todo de entender cómo utilizar algunas clases de Java que nos permiten crear los elementos gráficos y de interacción, cómo conectarlos entre sí y cómo conectarlos con el mundo del programa. Vamos a trabajar de la siguiente manera: primero revisaremos los conceptos teóricos básicos necesarios para ir creando poco a poco los elementos que componen la interfaz gráfica, estos son: la ventana principal, los páneles, las etiquetas, las cajas de textos y los botones. Segundo, veremos cómo repartir las responsabilidades entre la interfaz gráfica y el mundo y cómo conectarlos entre sí. Y por último, veremos cómo se maneja la interacción con el usuario. Después de cada presentación teórica, usted desarrollará un ejercicio para poner en práctica los nuevos conocimientos y enfrentarse al reto de hacerlo usted mismo con la ayuda de una guía de trabajo. El punto de partida de los retos de este módulo es el mundo de la aplicación. Su misión es construir la interfaz gráfica de forma incremental, ¡reto tras reto! Tenga en cuenta que el tiempo estimado para la realización de todas las actividades de este módulo es de cerca de 9 horas, tiempo que usted puede invertir de acuerdo con sus posibilidades. Le recomendamos que desarrolle todas las actividades en el orden propuesto y que considere hacerlo en un tiempo de dos semanas.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Explora la programación orientada a objetos, que es un paradigma fundamental en la industria del software
Enseña los conceptos básicos de programación orientada a objetos, como clases, objetos, asociaciones y métodos
Presenta estructuras de datos como arreglos y matrices, que son esenciales para la manipulación eficiente de datos
Aborda técnicas de ordenamiento, cruciales para la búsqueda eficiente de información en conjuntos de datos
Introduce la herencia, un mecanismo para reutilizar código y acelerar el desarrollo
Guía al alumno en la creación de una interfaz gráfica de usuario, una habilidad esencial para el desarrollo de aplicaciones

Save this course

Save Introducción a la programación orientada a objetos en Java to your list so you can find it easily later:
Save

Reviews summary

Java intro to oop at los andes

This course, "Introducción a la programación orientada a objetos en Java", is an excellent introduction to OOP and the basics of Java for any experience level. Even if you have no prior programming experience, this course will lead you through the basics up to object-oriented principles. With a near-perfect sentiment score based on 86 reviews, its strengths include a very structured syllabus, useful resources such as videos, and an engaging learning platform.
EngagingPractice
"Los ejercicios son interesantes."
"Este curso es muy bueno se aprende uso de objetos con todos sus temas como definicion herencia polimorfismo planeamiento del proyecto, uso de eclipse, metodos de ordenamiento etc."
WellStructured
"Bien estructurado, las explicaciones son muy buenas y sintetizan a la perfección las lecturas."
"El curso esta muy bien estructurado, las actividades son claras y motivan cada nivel del curso."
"Curso excelentemente estructurado y muy didáctico, con los recursos facilitados alcanzan su meta: que sus alumnos aprendan el lenguaje Java."
UsefulResources
"Cuenta con una gran documentación y vídeos que explican de forma detallada en mundo de la programación orientada a objetos..."
"Excelente curso para aprender a utilizar el lenguaje Java y ver todo su potencial más allá del archiconocido "Hello World!". Se tocan muy bien todos los aspectos relevantes de este lenguaje."
"Es un curso excelente.Contenido académico de primera.Gracias a todos por la oprotunidad, especialmente a los docentes, que demuestran un alto nivel académico.Felicidades a todos por extraordinario trabajo."

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 Introducción a la programación orientada a objetos en Java with these activities:
Revisión de conceptos matemáticos para programación
Refresca los conceptos matemáticos esenciales para la programación, como el álgebra lineal y el cálculo.
Show steps
  • Revisa un tutorial o libro de texto sobre matemáticas para programación.
  • Realiza ejercicios prácticos para aplicar los conceptos a problemas de programación.
Repaso de conceptos básicos de java
Refresca los conceptos básicos de Java, como la sintaxis, los tipos de datos y la programación orientada a objetos, para prepararte mejor para el curso.
Browse courses on Java
Show steps
  • Revisa un tutorial o libro de texto sobre los conceptos básicos de Java.
  • Realiza ejercicios prácticos para poner en práctica los conceptos aprendidos.
Organización del material del curso
Optimiza tu aprendizaje organizando las notas, tareas, pruebas y exámenes del curso.
Show steps
  • Crea un sistema organizado para almacenar y acceder al material del curso.
  • Revisa regularmente el material del curso y completa cualquier tarea pendiente.
Six other activities
Expand to see all activities and additional details
Show all nine activities
Organizar y revisar los materiales del curso
Mejore su experiencia de aprendizaje organizando y revisando regularmente los materiales del curso.
Show steps
  • Crear un sistema para organizar notas, diapositivas y otros materiales.
  • Establecer un horario regular para revisar los materiales.
  • Identificar las áreas que necesitan revisión adicional y buscar recursos adicionales.
Tutoriales sobre interfaces gráficas de usuario en Java
Mejora tus habilidades en el desarrollo de interfaces gráficas de usuario aprendiendo de tutoriales en línea o libros de texto.
Browse courses on JavaFX
Show steps
  • Identifica un tutorial o libro de texto que cubra las interfaces gráficas de usuario en Java.
  • Sigue el tutorial o lee el libro de texto, realizando ejercicios prácticos para reforzar los conceptos.
  • Experimenta con la creación de tus propias interfaces gráficas de usuario.
Sesiones de estudio en grupo
Mejora tu comprensión del material del curso discutiendo conceptos y resolviendo problemas con tus compañeros.
Show steps
  • Forma un grupo de estudio con otros estudiantes del curso.
  • Reúnanse regularmente para discutir el material del curso, compartir recursos y ayudarse mutuamente con las tareas.
Práctica de algoritmos y estructuras de datos en Java
Fortalece tus habilidades en algoritmos y estructuras de datos resolviendo problemas prácticos en Java.
Browse courses on Java
Show steps
  • Únete a una plataforma de práctica de algoritmos como LeetCode o HackerRank.
  • Comienza a resolver problemas de dificultad creciente, centrándote en algoritmos y estructuras de datos.
Desarrolla un proyecto de programación de Java
Aplica tus conocimientos y habilidades de Java creando un proyecto de programación que resuelva un problema del mundo real.
Show steps
  • Identifica un problema que te gustaría resolver mediante programación.
  • Diseña y desarrolla una solución utilizando Java y las habilidades adquiridas en el curso.
  • Prueba y depura tu solución, asegurando su funcionalidad y eficiencia.
  • Documenta tu proyecto y comparte tus hallazgos con otros.
Tutoría de estudiantes de Java
Refuerza tus conocimientos de Java ayudando a otros estudiantes que están aprendiendo el lenguaje.
Show steps
  • Ofrece tutoría a estudiantes de Java en línea o en persona.
  • Prepara materiales de estudio y ejercicios para ayudar a los estudiantes.
  • Proporciona comentarios y orientación a los estudiantes.

Career center

Learners who complete Introducción a la programación orientada a objetos en Java will develop knowledge and skills that may be useful to these careers:
Software Developer
Software Developers build and develop computer software applications, including cloud and mobile apps. Those looking to pivot into this in-demand role may wish to take this course in order to gain a foundation in the Java programming language as well as an understanding of basic programming concepts.
Computer Programmer
Computer Programmers write and test code that allows computer applications and software programs to run. This course may be helpful for those seeking to become Computer Programmers in that it offers an introduction to Java and covers topics such as classes, objects, and methods.
Web Developer
Web Developers design and create websites. This course teaches the basics of Java, as well as essential computer science principles like abstraction, encapsulation, and inheritance. These concepts are fundamental to building a successful website and can help someone transition into a role as a Web Developer.
Computer Systems Analyst
Computer Systems Analysts study an organization's current computer systems and procedures, and design changes to make them more efficient and effective. This course may be helpful for those preparing for a transition into this career in that it offers an introduction to the Java programming language and covers basic programming concepts.
Information Security Analyst
Information Security Analysts plan and implement security measures to protect an organization's computer networks and systems. This course can be helpful for those looking to move into this field as it offers a solid foundation in the Java programming language and covers basic programming concepts, such as classes, objects, and methods.
Data Analyst
Data Analysts collect, analyze, interpret, and present data. Those seeking to enter this field may find this course helpful as it provides an introduction to the Java programming language, as well as essential computer science principles such as abstraction, encapsulation, and inheritance.
Database Administrator
Database Administrators oversee the installation, configuration, maintenance, and performance of database management systems. Those looking to begin a career as a Database Administrator may find this course helpful as it covers the basics of the Java programming language, as well as core programming concepts and data structures like arrays and vectors.
Software Quality Assurance Analyst
Software Quality Assurance Analysts test software to identify bugs and ensure quality. This course may be helpful for those seeking to become Software Quality Assurance Analysts in that it offers an introduction to Java, and covers essential programming concepts like abstraction, modularity, and inheritance.
IT Support Specialist
IT Support Specialists provide technical assistance and support to computer users. Those looking to enter this field may find this course helpful as it covers basic computer science concepts, including classes, objects, and methods, and offers an introduction to the Java programming language.
Systems Analyst
Systems Analysts develop, implement, and maintain information systems. Those seeking to become Systems Analysts may find this course helpful as it offers an introduction to Java and covers core programming concepts and data structures like arrays and vectors.
Network Administrator
Network Administrators manage, maintain, and troubleshoot computer networks. Those seeking to become Network Administrators may find this course helpful as it offers an introduction to Java and covers core programming concepts and data structures like arrays and vectors.
Business Analyst
Business Analysts gather and analyze business needs and develop solutions to improve business processes. This course may be helpful for aspiring Business Analysts in that it covers basic programming concepts such as classes, objects, and methods, as well as an introduction to the Java programming language.
Project Manager
Project Managers plan, execute, and close out projects. This course may be helpful for those seeking to become Project Managers in that it covers basic computer science principles, including classes, objects, and methods, and offers an introduction to the Java programming language.
UX Designer
UX Designers research, design, and test user interfaces for websites, apps, and other digital products. This course may be helpful for aspiring UX Designers as it covers basic programming concepts such as classes, objects, and methods, as well as an introduction to the Java programming language.
Technical Writer
Technical Writers create instruction manuals, help files, and other documentation for software programs and other technical products. This course may be helpful for aspiring Technical Writers in that it covers basic programming concepts such as classes, objects, and methods, as well as an introduction to the Java programming language.

Reading list

We've selected 14 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 Introducción a la programación orientada a objetos en Java.
Este libro proporciona una introducción completa a la programación orientada a objetos con Java. Cubre los conceptos básicos del paradigma orientado a objetos, como clases, objetos, herencia y polimorfismo. También aborda temas más avanzados como colecciones, genéricos e interfaces.
Este libro es una guía práctica de las mejores prácticas de programación en Java. Proporciona consejos sobre cómo escribir código limpio, eficiente y mantenible. Es una lectura esencial para cualquier programador de Java.
Este libro es una introducción divertida y atractiva a la programación en Java. Utiliza un enfoque visual para explicar los conceptos de programación, lo que lo hace ideal para principiantes.
Este libro es una referencia completa del lenguaje de programación Java. Cubre todos los aspectos del lenguaje, desde los conceptos básicos hasta las características más avanzadas. Es un recurso valioso para cualquier programador de Java.
Este libro es una guía completa de la programación orientada a objetos en Java. Cubre todos los conceptos básicos, así como temas más avanzados como diseño de patrones y programación concurrente. Está escrito de manera clara y concisa, con muchos ejemplos y ejercicios.
Este libro es una guía práctica de programación concurrente en Java. Cubre todos los aspectos de la programación concurrente, desde los conceptos básicos hasta las características más avanzadas. Es una lectura esencial para cualquier programador de Java que trabaje con código concurrente.
Este libro es una guía práctica de refactorización de código. Proporciona técnicas para mejorar el diseño y la mantenibilidad del código existente. Es una lectura esencial para cualquier programador que quiera mejorar sus habilidades de programación.
Este libro es una guía práctica de programación limpia. Proporciona técnicas para escribir código limpio, eficiente y mantenible. Es una lectura esencial para cualquier programador que quiera mejorar sus habilidades de programación.
Este libro es una guía clásica de patrones de diseño en la programación orientada a objetos. Proporciona una descripción detallada de 23 patrones de diseño comunes, junto con ejemplos y explicaciones claras.
Este libro es una introducción divertida y atractiva a los patrones de diseño en la programación orientada a objetos. Utiliza un enfoque visual para explicar los diferentes patrones de diseño.
Este libro es un texto completo sobre diseño orientado a objetos con Java. Cubre todos los conceptos básicos, así como temas más avanzados como patrones de diseño y programación concurrente. Está escrito de manera clara y concisa, con muchos ejemplos y ejercicios.

Share

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

Similar courses

Here are nine courses similar to Introducción a la programación orientada a objetos en Java.
Programación en Python
Most relevant
Diseño de Videojuegos: Una introducción
Most relevant
Introducción a la programación en Java: empezando a...
Most relevant
Recuperación de proyectos en crisis
Most relevant
Introducción a la programación en Java: escribiendo buen...
Most relevant
Lectura crítica: proceso, niveles y herramientas
Most relevant
Introducción a Java
Most relevant
Contenido de las matemáticas de primaria
Most relevant
Programación y políticas financieras, Parte 1: Cuentas...
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