El objetivo de este curso es que el estudiante profundice en técnicas de programación, incluyendo orientación a objetos avanzada (POO), así como algunas de las estructuras de datos y algoritmos de uso habitual. El lenguaje de programación en que se desarrollará el curso es Java, si bien las habilidades fundamentales adquiridas serán de carácter genérico de modo que puedan ser aplicadas a otros lenguajes de uso habitual.
Para conseguir este objetivo los alumnos deberán conseguir los siguientes resultados de aprendizaje que se especifican en relación a los resultados de aprendizaje genéricos de la titulación especificados en la orden CIN 352/2009 (PO: 1.2 y 2.7) y en los criterios ABET para la titulación (PO: a) así como las competencias (CB1, CB2, CG3, CG11 y ECRT 7)
1. Diseño y desarrollo de aplicaciones en el lenguaje de programación Java (CIN: 1.2, 2.7, PO: a)
a. Conocimientos. Interpretar, explicar y ejemplificar:
i. Los mecanismos de la POO
ii. El concepto de recursión
iii. Los fundamentos de las estructuras de datos más habituales lineales (ej. listas) y no lineales (ej. árboles)
iv. Los distintos algoritmos de trabajo sobre estructuras de datos
b. Capacidades:
i. Programar aplicaciones orientadas a objetos
ii. Representar, diseñar e implementar algoritmos recursivos
iii. Implementar algoritmos y usar algunas estructuras de datos importantes (listas enlazadas, pilas, colas, árboles)
iv. Decidir qué estructuras de datos se adaptan a determinados problemas, y reutilizar o diseñar algoritmos adecuados para resolver problemas concretos
c. Actitudes. Actitud crítica respecto a:
i. La idoneidad de distintas estructuras de datos y algoritmos para problemas concretos.
ii. El uso de la bibliografía y otros recursos de información para temas relacionados con la materia.
2. Utilizar con destreza las herramientas para el desarrollo de aplicaciones
a. Ser capaz de crear, compilar y ejecutar un programa en Java
b. Interpretar correctamente y eliminar los mensajes de error y advertencia que muestre el compilador