Programación Orientada a ObjetosCurso 2014/2015
Javier Bermúdez Ruiz
Marcos Menárguez Tortosa
Begoña Moros Valle
http://dis.um.es/docencia/poo
Contenido de la presentación
• Programa de teoría.
• Programa de prácticas.
• Evaluación.
• Horarios.
• Introducción.
Objetivos delPrograma de Teoría
• Describir los conceptos que caracterizan el modelo orientado a objetos (OO).
• Valorar en qué medida las técnicas OO favorecen la calidad del software.
• Estudiar cómo Java refleja los conceptos del paradigma OO.
Metodología
• Desarrollo de los temas del programa junto con resolución de ejercicios.
• Aprendizaje basado en problemas/proyectos
• Tiempo destinado a los ejercicios:– Resolución de ejercicios prácticos propuestos con
anterioridad.
– Ejercicios de repaso del contenido teórico.
– Ritmo de la clase guiado por la participación de los alumnos.
• Evaluación final mediante un examen teórico.
Programa de Teoría
• Tema 1: Introducción al paradigma orientado a objetos.
• Tema 2: Clases y Objetos
• Tema 3: Herencia
• Tema 4: Genericidad, colecciones y patrones de diseño
• Tema 5: Corrección y Robustez. Excepciones en Java
• Tema 6: Características avanzadas de Java.
Bibliografía básica
Core Java 2. Vol I. Fundamentos. Cay S. Horstmann, Gary Cornell
Objetivos delPrograma de Prácticas
• Aprender el lenguaje de programación Java
• Practicar los conceptos OO en Java en el desarrollo de ejercicios y un proyecto de programación
• Manejar un entorno de programación Java: Eclipse
Metodología
• Dos modalidades de prácticas:
– Prácticas laboratorio cerrado
– Prácticas de laboratorio abierto
• Evaluación final mediante un examen práctico de problemas en el laboratorio y el proyecto de programación.
Metodología
• Prácticas laboratorio cerrado
– Resolución de problemas guiada por el profesor.
– Corrección en el laboratorio.
– Entrega del proyecto en cada sesión.
Metodología• Prácticas de laboratorio abierto
– Desarrollo de un proyecto de programación: Videojuego
– Una entrega antes de vacaciones de Navidad (16 de diciembre).
– Organizado en etapas de acuerdo a las prácticas realizadas en laboratorio cerrado.
Evaluación de la asignatura• Peso de los contenidos de la asignatura:
– 30% - Examen de teoría
– 35% - Examen práctico de problemas (en laboratorio)
– 35% - Proyecto de programación
• Se debe superar cada una de las partes.
• El examen práctico sólo se podrá realizar si se aprueba el proyecto de programación.
• El aprobado de algún examen o las prácticas sólo se guardará durante EL CURSO ACADÉMICO.
Exámenes
• Exámenes oficiales en cada convocatoria :
– 27 de enero de 2015 (Tarde)
– 10 de junio de 2015 (Tarde)
– 15 de julio de 2015 (Mañana)
• Los exámenes de teoría y prácticas se hacen el mismo día y en el mismo turno.
Horario de la asignatura
• Teoría:
– Grupo 1: Lunes 9:25-11:25 (Aula A.03)
– Grupo 2: Lunes 11:35 – 13:35 (Aula A.04)
– Grupo 3: Martes 15:30 – 17:30 (Aula A.03)
• Prácticas:
– Martes, Miércoles y Jueves.
Profesorado
• Javier Bermúdez Ruiz
– Prácticas G2.1, G3.1 y G3.2
– Facultad de Informática (2ª planta): 2.30
– Tutorías: consultar la guía docente
– Tutoría electrónica a través de Aula Virtual.
Profesorado
• Marcos Menárguez Tortosa
– Teoría G2
– Prácticas G2.2 y G2.3
– Facultad de Informática (2ª planta): 2.33
– Tutorías: consultar guía docente
– Tutoría electrónica a través de correo electrónico ([email protected])
Profesorado
• Begoña Moros Valle
– Teoría de los grupos G1 y G3
– Prácticas del grupo G1 y G3.3
– Facultad de Informática (2ª planta): 2.37
– Tutorías: consultar guía docente
– Tutoría electrónica a través de Aula Virtual.
Introducción
Lenguajes OO – Años 80
Popularidad de los lenguajes OO.
C++ (1985):
• Extensión de C con características OO.
• Muy popular, ayudó a difundir la POO.
Eiffel (1985):
• Bertrand Meyer
• Lenguaje orientado a objetos puro.
• Fruto de un profundo estudio del paradigma OO.
• Lenguaje “teórico” poco utilizado.
Lenguajes OO – Años 90
Java (1995):
• Sun Microsystems Oracle
• Lenguaje OO puro.
• Se popularizó por su uso en la web.
• Actualmente soporta una extensa plataforma de desarrollo de software (numerosas bibliotecas de código).
C# (2000):
• Combina C++ y Java.
• Integrado en la plataforma .NET de Microsoft.
Tecnología Java
https://www.java.com/es/about/
– En empresas, el 97% de los ordenadores de
escritorio ejecutan Java
– En el ámbito doméstico, el 89% de los ordenadores
personales en Estados Unidos ejecutan Java
– 9 millones de desarrolladores de Java en todo el
mundo
– 3.000 millones de teléfonos móviles ejecutan Java
– Todos los reproductores de Blu-ray incluyen Java
– 125 millones de dispositivos de televisión ejecutan
Java
Características del lenguaje Java
Independiente de la plataforma de ejecución:
• El compilador Java genera código intermedio (bytecodes) independiente de la plataforma.
• Los bytecodes son interpretados por la máquina virtual de Java (JVM).
• El código compilado se puede ejecutar en muchas plataformas (Windows, Linux, Mac, etc.) siempre y cuando cuenten con el entorno de ejecución de Java (incluye la máquina virtual)
• La tecnología de implementación (compilador+intérprete) hace que el código Java sea portable.
Características del lenguaje Java
Independiente de la plataforma de ejecución:
http://javapapers.wordpress.com/2011/11/28/java-virtual-machine-jvm/
Características del lenguaje Java
Sencillo:
• La sintaxis de Java es muy parecida a C++
• Elimina las características de C++ más complejas, por ejemplo, punteros.
Orientado a Objetos:
• A diferencia de C++, es un lenguaje OO puro.
• Las capacidades OO son similares a las de C++.
Características del lenguaje Java
Robusto:
• Lenguaje fuertemente tipado
- El compilador detecta muchos problemas que, en otros lenguajes, aparecerían en tiempo de ejecución.
• Mecanismo de excepciones
- Gestión de errores en tiempo de ejecución.
• Elimina los errores derivados de una mala gestión de memoria
- Mecanismo de “recogida de basura”.
- Elimina la gestión de punteros.
Evolución del lenguaje Java
http://wiki.bcmoney-mobiletv.com/index.php?title=Java
Java vs. .NET
Un programa Java se implementa una vez y se puede ejecutar en plataformas diferentes (cualquier hw y sistema operativo).
Los programas compilados en .NET se ejecutan sólo en Windows pero pueden escribirse en lenguajes diferentes (C#, VB.NET, F#, C++, etc.)
Top Related