Tipo A
|
Código |
Competencias Específicas | | A4 |
Capacidad para concebir, desarrollar y mantener sistemas, servicios y aplicaciones informáticas empleando los métodos de la ingeniería del software como instrumento para el aseguramiento de su calidad. |
| A5 |
Capacidad para concebir y desarrollar sistemas o arquitecturas informáticas centralizadas o distribuidas integrando hardware, software y redes. |
| A7 |
Capacidad para definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas. |
| CM1 |
Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente.
|
| CM8 |
Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados. |
Tipo B
|
Código |
Competencias Transversales |
Tipo C
|
Código |
Competencias Nucleares |
Resultados de aprendizaje |
Tipo A
|
Código |
Resultados de aprendizaje |
| A4 |
Diseña una aplicación basada en componentes utilizando un marco de trabajo de software estándar.
Aplica técnicas de calidad del software como los test unitarios, la integración de código y el control de errores.
| | A5 |
Diseña una aplicación basada en componentes utilizando un marco de trabajo de software estándar.
| | A7 |
Aplica técnicas de refactoring y patrones de diseño en la creación de software.
Aplica técnicas de calidad del software como los test unitarios, la integración de código y el control de errores.
| | CM1 |
Conoce los principales paradigmas de programación.
Aplica técnicas de refactoring y patrones de diseño en la creación de programario.
Aplica conceptos generales de metaprogramación e intercepción de programario.
Aplica técnicas de calidad del programario como los test unitarios, la integración de código y el control de errores.
| | CM8 |
Conoce los principales paradigmas de programación.
Aplica técnicas de refactoring y patrones de diseño en la creación de programario.
Aplica conceptos generales de metaprogramación e intercepción de programario.
Diseña una aplicación basada en componentes utilitzando un marco de trabajo de programario estándar.
Aplica técnicas de calidad del programario como los test unitarios, la integración de código y el control de errores.
|
Tipo B
|
Código |
Resultados de aprendizaje |
Tipo C
|
Código |
Resultados de aprendizaje |
tema |
Subtema |
Introducción y conceptos generales |
Calidad del Software
Paradigmas de programación
Arquitectura del Software |
Sistemas de tipos y polimorfismo |
Tipado estático y dinàmico
Polimorfismo de sobrecarga
Polimorfismo paramétrico
Polimorfismo de herencia |
Patrones de diseño y refactoring |
Patrones de creacíon, estructurales y de comportamiento
Mejora del código y refactoring
Documentación del software y APIs
Métricas de evaluación de código |
Arquitectura del Software |
Agile Programming
Validación del software y tests unitarios
Programación reflectiva
Componentes software y Frameworks
|
Casos de uso |
Middleware y Objetos distribuidos
Arquitecturas orientadas a servicios
Servidores de aplicaciones
Herramientas de depuración y profiling de código |
Metodologías :: Pruebas |
|
Competencias |
(*) Horas en clase
|
Horas fuera de clase
|
(**) Horas totales |
Actividades introductorias |
|
3 |
8 |
11 |
Sesión magistral |
|
20 |
35 |
55 |
Prácticas en laboratorios |
|
26 |
25 |
51 |
Atención personalizada |
|
4 |
8 |
12 |
|
Pruebas de desarrollo |
|
7 |
14 |
21 |
|
(*) En el caso de docencia no presencial, serán las horas de trabajo con soporte virtual del profesor. (**) Los datos que aparecen en la tabla de planificación son de carácter orientativo, considerando la heterogeneidad de los alumnos |
Metodologías
|
descripción |
Actividades introductorias |
Repaso de conceptos de orientación a objetos
Ejemplos de laboratorio |
Sesión magistral |
Explicación de conceptos de teoría
Interaccción con preguntas y respuestas con los alumnos
|
Prácticas en laboratorios |
Introducción de tecnologías y herramientas
Trabajo en grupo |
Atención personalizada |
Entrevistas individuales en horario de tutorías.
Seguimiento de resultados parciales. |
descripción |
Entrevistes individuals en horari de tutories.
Seguiment de resultats parcials.
|
Metodologías |
Competencias
|
descripción |
Peso |
|
|
|
|
Prácticas en laboratorios |
|
Examen de laboratorio sin Internet (semana 6): conceptos de polimorfismo y patrones en Java |
30% |
Pruebas de desarrollo |
|
Práctica final: práctica a resolver en grupo publicada la quinta semana. A entregar incrementalmente hasta la semana 16.
Examen teórico final |
70% |
Otros |
|
|
|
|
Otros comentarios y segunda convocatoria |
La evaluación de la asignatura tendrá tres componentes fundamentales:1) Examen de laboratorio sin Internet (semana 6): conceptos de polimorfismo y patrones en Java2) Examen de teoría (semana 15)3) Práctica final: práctica a resolver en grupo publicada la quinta semana. A entregar incrementalmente hasta la semana 16. La segunda convocatoria consistirá en un examen de laboratatorio de dos horas (1), un examen de teoría de dos horas (2) y la entrega de la práctica final (3). |
Básica |
Bertrand Meyer , Construcción de Software Orientado a Objetos , Prentice Hall , 2003
Paul Deitel, Como programar en Java, Pearson Education, 2012
Gamma et al, Design Patterns, Addison-Wesley, 1994
Martin Fowler, Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999
C. Szyperski , Component Software, Beyond Object-Oriented Programming, Addison-Wesley, 2000
Kent Beck, Test Driven Development, Addison-Wesley , 2002
Luciano Ramalho, Fluent Python, O'Reilly, 2014
David Beazley, Python Cookbook, O'Reilly , 2013
Martin Odersky, Programming in Scala: A Comprehensive Step-by-Step Guide, 2nd Edition, Artima, 2010
|
|
Complementaria |
|
|
Asignaturas que continúan el temario |
SISTEMAS DISTRIBUIDOS/17234106 |
|
Asignaturas que se recomienda cursar simultáneamente |
SISTEMAS ABIERTOS/17234123 |
|
Asignaturas que se recomienda haber cursado previamente |
FUNDAMENTOS DE PROGRAMACIÓN I/17234001 | METODOLOGÍAS DE LA PROGRAMACIÓN/17234116 | ESTRUCTURAS DE DATOS/17234115 |
|
(*)La Guía docente es el documento donde se visualiza la propuesta académica de la URV. Este documento es público y no es modificable, excepto en casos excepcionales revisados por el órgano competente o debidamente revisado de acuerdo la normativa vigente. |
|