Diseño y programación orientada al objeto UOC
Descripción
La asignatura tiene como principal objetivo la comprensión de los conceptos generales del paradigma de la programación orientada a objetos (POO) y su puesta en práctica mediante el desarrollo de aplicaciones con lenguajes de programación orientados a objetos.
Los elementos del paradigma de la POO se enseñan desvinculados de cualquier lenguaje con el objetivo de que el estudiante comprenda los conceptos de manera "pura". No obstante, durante el semestre se intenta mostrar/comparar cómo los lenguajes más utilizados ponen en práctica los diferentes conceptos de la POO.
A lo largo de la asignatura se enseña cómo diseñar/modelar programas (apoyándose en el Lenguaje de Modelado Unificado, UML), para posteriormente implementar el diseño creado mediante un lenguaje de programación concreto, en nuestro caso, Java.
Así pues, el enfoque de la asignatura es fundamentalmente práctico, orientado a la resolución de ejercicios, lo cual requiere una dedicación especial por parte del estudiante.
Los elementos del paradigma de la POO se enseñan desvinculados de cualquier lenguaje con el objetivo de que el estudiante comprenda los conceptos de manera "pura". No obstante, durante el semestre se intenta mostrar/comparar cómo los lenguajes más utilizados ponen en práctica los diferentes conceptos de la POO.
A lo largo de la asignatura se enseña cómo diseñar/modelar programas (apoyándose en el Lenguaje de Modelado Unificado, UML), para posteriormente implementar el diseño creado mediante un lenguaje de programación concreto, en nuestro caso, Java.
Así pues, el enfoque de la asignatura es fundamentalmente práctico, orientado a la resolución de ejercicios, lo cual requiere una dedicación especial por parte del estudiante.
La asignatura en el conjunto del plan de estudios
La asignatura está pensada como la extensión de las asignaturas "Fundamentos de Programación" y "Prácticas de Programación" que cubren los fundamentos básicos de la programación en lenguajes estructurados. Concretamente, se añade la Orientación a Objetos sobre la base de las habilidades de construcción de programas que se adquirieron en dicha asignatura.
Hay que tener en cuenta que el paradigma de la programación orientada a objetos se encuentra hoy en prácticamente todas las áreas de la informática, por lo que aparecerá también en otras asignaturas de la carrera. Por este motivo, otras asignaturas posteriores del Plan de Estudios requerirán los conocimientos de esta materia como punto de partida.
Hay que tener en cuenta que el paradigma de la programación orientada a objetos se encuentra hoy en prácticamente todas las áreas de la informática, por lo que aparecerá también en otras asignaturas de la carrera. Por este motivo, otras asignaturas posteriores del Plan de Estudios requerirán los conocimientos de esta materia como punto de partida.
Campos profesionales en que se proyecta
La comprensión de los conceptos de la orientación a objetos es un requisito fundamental para el ejercicio profesional en el ámbito general del Desarrollo de Sistemas Software, incluyendo las actividades de Análisis, Diseño y Programación.
Dentro del desarrollo de la profesión los lenguajes de modelado de información como UML son el medio de comunicación y documentación más difundido en las empresas de desarrollo, debido a la proliferación de herramientas de Ingeniería del Software Asistida por Ordenador (Computer Aided Software Engineering, CASE) basadas en ellos y a las Metodologías de Desarrollo que las utilizan como notación.
Adicionalmente, el enfoque orientado a objetos se emplea en áreas de gestión en la empresa, como es el caso del Modelado o la Reingeniería de los Procesos de Negocio.
Por otro lado, los lenguajes orientados a objetos ocupan un lugar central en la industria del software, debido a la amplia difusión de lenguajes de este tipo (como Java, C++ o el más reciente C#), y podemos considerar que su conocimiento es requisito imprescindible para las actividades de desarrollo en general.
Dentro del desarrollo de la profesión los lenguajes de modelado de información como UML son el medio de comunicación y documentación más difundido en las empresas de desarrollo, debido a la proliferación de herramientas de Ingeniería del Software Asistida por Ordenador (Computer Aided Software Engineering, CASE) basadas en ellos y a las Metodologías de Desarrollo que las utilizan como notación.
Adicionalmente, el enfoque orientado a objetos se emplea en áreas de gestión en la empresa, como es el caso del Modelado o la Reingeniería de los Procesos de Negocio.
Por otro lado, los lenguajes orientados a objetos ocupan un lugar central en la industria del software, debido a la amplia difusión de lenguajes de este tipo (como Java, C++ o el más reciente C#), y podemos considerar que su conocimiento es requisito imprescindible para las actividades de desarrollo en general.
Conocimientos previos
Son necesarios los conocimientos adquiridos en las asignaturas "Fundamentos de Programación" y "Prácticas de Programación". Por lo tanto, la superación de esta asignatura se considera un prerrequisito imprescindible antes de comenzar con "Diseño y Programación Orientados a Objetos".
Es fundamental tener soltura en la formulación de algoritmos y en la programación estructurada, ya que en la presente asignatura NO se enseña algorítmica ni los conceptos básicos de la programación, p.ej. bucles, condicionales, etc.
Es fundamental tener soltura en la formulación de algoritmos y en la programación estructurada, ya que en la presente asignatura NO se enseña algorítmica ni los conceptos básicos de la programación, p.ej. bucles, condicionales, etc.
Información previa a la matrícula
Es imprescindible haber superado las asignaturas "Fundamentos de Programación" y "Prácticas de Programación".
También es recomendable haber superado la asignatura "Ingeniería del Software" ya que facilita la comprensión de algunos conceptos además que permite tener un experiencia más enriquecedora de la asignatura.
También es recomendable haber superado la asignatura "Ingeniería del Software" ya que facilita la comprensión de algunos conceptos además que permite tener un experiencia más enriquecedora de la asignatura.
Contenidos
La asignatura se compone de dos grandes bloques, uno teórico y otro de carácter más práctico. Ambos bloques se realizarán en paralelo durante el curso, puesto que se complementan.
Estos conocimientos del bloque teórico están estructurados en los siguientes módulos:
1. Introducción al paradigma de la programación orientada a objetos
2. Abstracción y encapsulación
3. Asociaciones (relaciones entres objetos)
4. Herencia (relaciones entre clases)
Por su parte, el bloque práctico permitirá materializar los conocimientos adquiridos en el bloque teórico. Como documentación de ayuda, el estudiante dispondrá de una guía de Java que explica la sintaxis y los conceptos básicos de este lenguaje.
1. Introducción al paradigma de la programación orientada a objetos
2. Abstracción y encapsulación
3. Asociaciones (relaciones entres objetos)
4. Herencia (relaciones entre clases)
Por su parte, el bloque práctico permitirá materializar los conocimientos adquiridos en el bloque teórico. Como documentación de ayuda, el estudiante dispondrá de una guía de Java que explica la sintaxis y los conceptos básicos de este lenguaje.