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.
Esta asignatura se imparte de forma coordinada entre diferentes titulaciones. En el caso de los grados que habilitan para el ejercicio de profesiones reguladas aplica la orden CIN/352/2009, de 9 de febrero, BOE de 20 febrero de 2009 https://www.boe.es/diario_boe/txt.php?id=BOE-A-2009-2894. En cualquier caso, esta asignatura permite desarrollar la competencia de formación básica que se menciona en dicha orden ¿Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería.¿ Además, esta asignatura permite desarrollar las siguientes competencias
CB1 - Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio
CB2 - Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio
CG3 - Conocimiento de materias básicas y tecnologías, que le capacite para el aprendizaje de nuevos métodos y tecnologías, así como que le dote de una gran versatilidad para adaptarse a nuevas situaciones (denominada CG2 en el Grado de Ciencia e Ingeniería de Datos)
CG11 - Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería (no incluida en el Grado de Ciencia de Ingeniería de Datos aunque se abordará igualmente en la asignatura)
ECRT7 - Conocimiento y utilización de los fundamentos de la programación en redes, sistemas y servicios de telecomunicación (no incluida en el Grado de Ciencia de Ingeniería de Datos aunque se abordará igualmente en la asignatura)
CE7 - Capacidad para asimilar los conceptos básicos de la programación y capacidad de realización de programas orientados al análisis de datos (competencia específica en el Grado de Ciencia e Ingeniería de Datos aunque se abordará igualmente en el resto de grados)
Para abordar estas competencias generales se han definido las siguientes objetivos específicos.
1.Diseño y desarrollo de aplicaciones en el lenguaje de programación Java
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