Guia docente
DATOS IDENTIFICATIVOS 2024_25
Asignatura PROGRAMACION II Código 00709011
Enseñanza
0709 - GRADO EN INGENIERÍA INFORMÁTICA
Descriptores Cr.totales Tipo Curso Semestre
6 Obligatoria Segundo Primero
Idioma
Castellano
Prerrequisitos
Departamento ING.MECANICA,INFORMAT.AEROESP.
Responsable
RODRÍGUEZ DE SOTO , ADOLFO
Correo-e arods@unileon.es
gestc@unileon.es
agutf@unileon.es
Profesores/as
RODRÍGUEZ DE SOTO , ADOLFO
ESTEBAN COSTALES , GONZALO
GUTIERREZ FERNANDEZ , ALEXIS
Web http://agora.unileon.es
Descripción general Como segunda asignatura de programación, Programación II se centra en los tres procesos básicos de construcción de un programa software: diseño, codificación y prueba, pero haciendo especial énfasis en el diseño y la prueba. Se busca que el alumno sea capaz de un mayor grado de abstracción a la hora de construir programas a través de la elaboración, valoración y ejecución de diseños descritos utilizando un lenguaje de modelado y utilizando técnicas de diseño como recursion, métodos de diseño de algoritmos y patrones de software. Capacitará al alumno para utilizar distintas técnicas de creación de casos de prueba.
Tribunales de Revisión
Tribunal titular
Cargo Departamento Profesor
Presidente CONDE GONZALEZ , MIGUEL ANGEL
Secretario ING.MECANICA,INFORMAT.AEROESP. SANCHEZ GONZALEZ , LIDIA
Vocal ING.MECANICA,INFORMAT.AEROESP. CASTEJON LIMAS , MANUEL
Tribunal suplente
Cargo Departamento Profesor
Presidente ING.MECANICA,INFORMAT.AEROESP. MATELLAN OLIVERA , VICENTE
Secretario FERNANDEZ ROBLES , LAURA
Vocal GUERRERO HIGUERAS , ANGEL MANUEL

Competencias
Código  
A18101 709CE14 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.
A18121 709CE4 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.
A18122 709CE5 Conocimiento de la estructura, organización, funcionamiento e interconexión de los sistemas informáticos, los fundamentos de su programación, y su aplicación para la resolución de problemas propios de la ingeniería.
A18124 709CE7 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.
B5614 709CG4 Capacidad para definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas, de acuerdo con los conocimientos adquiridos.
B5619 709CG9 Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática.
B5623 709CT1 Capacidad para el análisis, síntesis, resolución de problemas y la toma de decisiones.
B5624 709CT2 Capacidad para interpretación de resultados con iniciativa, creatividad y razonamiento crítico y autocrítico.
B5626 709CT4 Capacidad para el aprendizaje autónomo e individual en cualquier campo de la ingeniería.
B5629 709CT7 Capacidad de organización y planificación con enfoque a la calidad.
C2 CMECES2 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.
C5 CMECES5 Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía

Resultados de aprendizaje
Resultados Competencias
Conoce los fundamentos de un lenguaje de programación generalista orientado a objetos. A18121
A18122
A18124
B5619
C2
C5
Es capaz de aplicar sus conocimientos de un lenguaje de programación en la construcción de programas informáticos. A18101
A18121
A18122
A18124
B5614
B5619
B5623
B5624
B5626
B5629
C2
C5
Es capaz de resolver problemas mediante la construcción de un programa informático que calcule la solución en función del caso de entrada. A18101
A18121
A18122
A18124
B5614
B5619
B5623
B5624
B5626
B5629
C2
Conoce las técnicas básicas para la prueba de programas de ordenador. A18121
A18124
B5619
B5623
B5624
B5626
B5629
C2
Es capaz de aplicar las técnicas de verificación y validación de programas a problemas concretos. A18101
A18121
A18122
A18124
B5614
B5619
B5623
B5624
B5626
B5629
C2
C5

Contenidos
Bloque Tema
Parte I. DISEÑO DE PROGRAMAS DE COMPUTADORA Tema 1. TÉCNICAS DE DISEÑO DE ALGORITMOS RECURSIVOS
Se describen formas de diseñar y probar algoritmos recursivos. Programación por contrato.
Tema 2. CONCURRENCIA EN JAVA
Se enseñan las instrucciones básicas para la construcción de programas concurrentes en el lenguaje Java
Tema 3. PATRONES SOFTWARE
Se describen los patrones creacionales, estructurales y de comportamiento básicos y su aplicación en Java
Parte II. EL PROBLEMA DE LA CORRECCIÓN Tema 4. PRUEBA DE PROGRAMAS
Se dan varias técnicas para la construcción de conjuntos de test adecuados para la prueba de programas
Parte III. PROGRAMAS CON INTERFAZ GRÁFICO Tema 5. INTERFACES GRÁFICOS DE USUARIO EN LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Se enseña a programar en Java con un interfaz gráfico de usuario, usando los elementos básicos de este tipo de interfaces.

Planificación
Metodologías  ::  Pruebas
  Horas en clase Horas fuera de clase Horas totales
Prácticas en laboratorios 22 11 33
 
Tutorías 2 0 2
Trabajos 0 34 34
Resolución de problemas/ejercicios en el aula ordinaria 4 4 8
Aprendizaje basado en problemas (ABP)/ Problem Based Learning (PBL) 0 24 24
 
Sesión Magistral 26 13 39
 
Pruebas objetivas de tipo test 2 0 2
 
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos

Metodologí­as
Metodologías   ::  
  descripción
Prácticas en laboratorios Clases prácticas en las que el profesor plantea problemas y el alumno resuelve apoyándose en la orientación y consejo del profesor. Se realizarán de forma individual y por grupos.
Tutorías Asistencia y apoyo para la resolución de dudas sobre la realización de los ejercicios y trabajos de programación.
Trabajos Realización de trabajos de programación de forma individual sin asistencia del profesor y con evaluación presencial a través de modificaciones posteriores. En la asignatura se denominan Prácticas de Programación
Resolución de problemas/ejercicios en el aula ordinaria Resolución de problemas de programación mediante el diseño de un programa por parte del profesor en el aula.
Aprendizaje basado en problemas (ABP)/ Problem Based Learning (PBL) Resolución individual pero cooperativa de problemas de programación que se evaluarán automáticamente y que serán resueltos por el profesor posteriormente a la fecha de entrega. En la asignatura se denominan Ejercicios de Programación.
Sesión Magistral Clases teóricas en las que el profesor introduce los conceptos, lenguajes y métodos en forma de lección magistral, pero requiriendo la participación activa del alumno mediante la elaboración de preguntas.

Tutorías
 
Tutorías
descripción
Se publicarán en la página web de la asignatura.

Evaluación
  descripción calificación
Trabajos Se denominarán Prácticas de Programación. Consistirán en 2 prácticas de programación por parte del alumno sin la asistencia continua del profesor. Se realizan de forma individual principalmente. Se evalúan mediante la puntuación obtenida en la entrega junto con la defensa de las mismas a través del examen final en el que el alumno deberá modificar su entrega según las especificaciones indicadas en el examen y sin asistencia documental ni conexión a internet. 40%
Aprendizaje basado en problemas (ABP)/ Problem Based Learning (PBL) Se denominan Ejercicios de Programación. Realización y entrega online de problemas de programación evaluados mayoritariamente de forma automática y resueltos posteriormente por el profesor en el aula. 20%
Prácticas en laboratorios Realización y entrega de las prácticas de programación realizadas durante las clases de prácticas de laboratorio. La mayor parte del trabajo se realizará con el profesor en las clases de laboratorio, pero también pueden requerir que se completen por parte del alumno. 5%
Pruebas objetivas de tipo test Cuestionarios tipo test sobre el material impartido en las clases teóricos y sobre las lecturas obligatorias a realizar sobre el curso y realizados sin asistencia documental ni conexión a internet.
Se calculará la media de la nota de todos los tests que se realicen.
30%
Otros El profesor asignará un 5% de la nota final en función de la participación del alumno en las distintas actividades de la asignatura: asistencia, participación y comportamiento respetuoso en las clases presenciales, participación en las herramientas online, motivación por la asignatura, y otras. 5%
 
Otros comentarios y segunda convocatoria

Los trabajos presentados podrán ser revisados con un programa informático antiplagio que podrá realizar comprobaciones entre los trabajos entregados de los alumnos de la convocatoria actual y anteriores y contra fuentes externas. Durante las pruebas de evaluación no será posible la utilización de recursos electrónicos (calculadoras, tablets, teléfonos, ordenadores, etc), ni de conexiones a internet excepto para aquellas pruebas que bajo indicación expresa del profesor requieran el uso de alguno de estos recursos. En caso de producirse alguna irregularidad durante la celebración del examen o prueba de evaluación correspondiente se procederá a la retirada inmediata del examen, expulsión del alumno y calificación como suspenso. En cualquier caso se atenderá a lo establecido en la normativa interna de la ULe incluida en el documento "Pautas de actuación en los supuestos de plagio, copia o fraude en exámenes o pruebas de evaluación" (Aprobado Comisión Permanente del Consejo de Gobierno 29/01/2015).

En el caso de la asignatura de Programación II, cada trabajo de programación a realizar individualmente por cada alumno y que se entregue online (Pruebas Prácticas, denominadas en la asignatura Ejercicios de Programación, y Trabajos, denominados Prácticas de Programación) se le someterá a tres algoritmos de control de plagio sobre el conjunto de trabajos entregados y en caso de superar en cualquiera de ellos un porcentaje de semejanza mayor al 95% se emitirá un primer aviso a cada uno de los alumnos del grupo de plagio. Cuando se produzca un segundo aviso se procederá a la anulación de la entrega y cada alumno en este caso tendrá que realizar alguna prueba específica adicional e individual.
En la segunda convocatoria de la asignatura se conservarán las notas obtenidas en la primera convocatoria en cada uno de los apartados de Evaluación descritos. El alumno podrá entregar y presentarse a los distintos apartados de evaluación (exceptuando las Prácticas de Laboratorio y los Ejercicios de Programación) para intentar mejorar su nota final. En la segunda convocatoria ordinaria solo se podrá alcanzar el 80% de la calificación máxima asignada a la asignatura.

Fuentes de información
Acceso a la Lista de lecturas de la asignatura

Básica Adolfo Rodríguez de Soto, Colección de problemas de Metodología y Tecnología de la Programación, Universidad de León, 2006
Adolfo Rodríguez de Soto, Metodología y tecnología de la programación, Universidad de León, 2006
Erich Gamma et al., Patrones de Diseño, Addison Wesley, 2003
John Zukowski, The Definitive Guide to Java Swing, Apress, 2005
Bruce Eckel, Thinking in Java 4th edition, Prentice Hall, 2006
Perdita Stevens y Rob Pooley, Utilización de UML en Ingeniería del Software con Objetos y Componentes, Addison Wesley, 2002

Documentación electrónica en el sitio web de la asignatura (http://agora.unileon.es)

Complementaria Bertrand Meyer, TOUCH OF CLASS Learning to program well with classes, objects and contracts, Springer, 2009


Recomendaciones


Asignaturas que se recomienda haber cursado previamente
PROGRAMACION I / 00709009
ESTRUCTURAS DE DATOS / 00709018