Logo

Fundamentos de Ingeniería del Software

Código: 102708
Créditos: 3
2026/2027
Titulación Tipo Curso
Ingeniería Electrónica de Telecomunicación OB 2
Ingeniería de Sistemas de Telecomunicación OB 2

Profesor/a de contacto

Nombre :
Marc Esteve García
Correo electrónico :
marc.esteve.garcia@uab.cat

Idiomas de los grupos

Puede consultar esta información al final del documento.

Prerrequisitos

No es necesario saber nada de programación.

Objetivos

El objetivo de la asignatura es introducir al alumnado en los fundamentos de la ingeniería del software, con especial énfasis en el análisis y el diseño orientados a objetos, así como en la resolución de problemas mediante algoritmos y programación estructurada en Python. La asignatura pretende desarrollar la capacidad de modelizar, implementar y validar soluciones informáticas sencillas, fomentando al mismo tiempo las buenas prácticas de programación y la autonomía en la resolución de problemas.

Resultados de aprendizaje

Ingeniería Electrónica de Telecomunicación
  • KU098 (Distinguir los patrones de programación básicos.) Distinguir los patrones de programación básicos.
  • SU105 (Utilizar los fundamentos teóricos de la programación y de los lenguajes de programación para el desarrollo de sistemas software. Entender la arquitectura básica del computador, sus unidades funcionales y sus fundamentos teóricos de programación.) Utilizar los fundamentos teóricos de la programación y de los lenguajes de programación para el desarrollo de sistemas software. Entender la arquitectura básica del computador, sus unidades funcionales y sus fundamentos teóricos de programación.
  • SU106 (Utilizar los fundamentos de la programación en redes, sistemas y servicios de telecomunicación.) Utilizar los fundamentos de la programación en redes, sistemas y servicios de telecomunicación.
  • SU107 (Diseñar e implementar bases de datos en el desarrollo de aplicaciones software y, en concreto, aplicadas a sistemas de la información.) Diseñar e implementar bases de datos en el desarrollo de aplicaciones software y, en concreto, aplicadas a sistemas de la información.
Ingeniería de Sistemas de Telecomunicación
  • KU098 (Distinguir los patrones de programación básicos.) Distinguir los patrones de programación básicos.
  • SU105 (Utilizar los fundamentos teóricos de la programación y de los lenguajes de programación para el desarrollo de sistemas software. Entender la arquitectura básica del computador, sus unidades funcionales y sus fundamentos teóricos de programación.) Utilizar los fundamentos teóricos de la programación y de los lenguajes de programación para el desarrollo de sistemas software. Entender la arquitectura básica del computador, sus unidades funcionales y sus fundamentos teóricos de programación.
  • SU106 (Utilizar los fundamentos de la programación en redes, sistemas y servicios de telecomunicación.) Utilizar los fundamentos de la programación en redes, sistemas y servicios de telecomunicación.
  • SU107 (Diseñar e implementar bases de datos en el desarrollo de aplicaciones software y, en concreto, aplicadas a sistemas de la información.) Diseñar e implementar bases de datos en el desarrollo de aplicaciones software y, en concreto, aplicadas a sistemas de la información.

Contenidos

  • Introducción a la programación y a los paradigmas básicos del desarrollo de software.
  • Patrones de programación y estructuras de control fundamentales.
  • Fundamentos teóricos de la programación y de los lenguajes de programación.
  • Arquitectura básica del computador y unidades funcionales.
  • Programación aplicada a sistemas, redes y servicios de telecomunicación.
  • Conceptos básicos de bases de datos e introducción al diseño y la implementación de aplicaciones con persistencia de datos.
  • Resolución de problemas mediante técnicas de programación estructurada y modular.
  • Desarrollo de ejemplos prácticos y casos aplicados al ámbito de las telecomunicaciones.

Actividades formativas y Metodología

Título Horas ECTS Resultados de aprendizaje
Clases teóricas, resolución de problemas y prácticas de laboratorio 30 1,2 KU098, SU105, SU106, SU107
Estudio, resolución de ejercicios y desarrollo de prácticas 23 0,92 KU098, SU105, SU106, SU107
Desarrollo supervisado de ejercicios y proyectos 22 0,88 KU098, SU105, SU106, SU107
  • Actividades dirigidas: horas presenciales de clase y laboratorio.
  • Actividades supervisadas: tutorías y seguimiento académico.
  • Actividades autónomas: el resto de las horas necesarias hasta completar la carga total de la asignatura.
Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.

Evaluación

Actividades de evaluación continuada

Título Peso Horas ECTS Resultados de aprendizaje
Práctica individual de programación 15% 0 0 KU098, SU105, SU106, SU107
Proyecto integrador de programación en Python 35% 0 0 KU098, SU105, SU106, SU107
Prueba individual 1 25% 0 0 KU098, SU105
Prueba individual 2 25% 0 0 KU098, SU105, SU106, SU107

La evaluación de la asignatura se llevará a cabo de forma continua a partir de diferentes evidencias de aprendizaje, combinando pruebas individuales, actividades prácticas y el desarrollo de un proyecto integrador en Python.

Las actividades de evaluación son las siguientes:

Prueba individual 1: prueba teórico-práctica sobre los primeros contenidos de la asignatura. Representa el 25 % de la calificación final.

Prueba individual 2: prueba teórico-práctica de carácter integrador sobre los contenidos trabajados durante el curso. Representa el 25 % de la calificación final.

Práctica individual de programación: resolución, implementación y validación de un ejercicio de programación en Python. Representa el 15 % de la calificación final.

Proyecto integrador de programación en Python: desarrollo de una aplicación sencilla que integre los principales contenidos de la asignatura, como la programación estructurada y modular, la programación orientada a objetos, la persistencia de datos, el tratamiento de errores, las pruebas y la documentación del código. Representa el 35 % de la calificación final.

La calificación final se calculará mediante la siguiente expresión:

Nota final = 0,25 × Prueba 1 + 0,25 × Prueba 2 + 0,15 × Práctica individual + 0,35 × Proyecto integrador

Para superar la asignatura será necesario obtener una calificación final igual o superior a 5 sobre 10. También será necesario obtener una media mínima de 4 sobre 10 en el conjunto de las dos pruebas individuales. En caso de que no se cumpla esta condición, la calificación final máxima de la asignatura será de 4,7.

La práctica individual y el proyecto podrán incluir diferentes fases, entregas parciales o actividades de validación. El profesorado podrá solicitar una explicación, una breve defensa oral o una modificación del código para comprobar su autoría y el grado de comprensión. Las actividades no entregadas dentro del plazo establecido se calificarán con un cero, excepto en casos debidamente justificados.

Las pruebas individuales se podrán recuperar mediante una prueba de recuperación. La calificación obtenida sustituirá a la nota de la prueba correspondiente. La práctica individual y el proyecto integrador no serán recuperables, ya que se desarrollan y se evalúan progresivamente durante el curso.

El calendario de las actividades, los plazos de entrega y las fechas de las pruebas se publicarán en el Campus Virtual. Para cada actividad de evaluación se indicarán el procedimiento y el periodo de revisión de la calificación.

Cualquier irregularidad que pueda alterar la calificación de una actividad, como la copia, el plagio, la suplantación de identidad o el uso no autorizado de herramientas de inteligencia artificial, comportará la aplicación de las medidas previstas en la normativa académica de la UAB. Cuando el uso de estas herramientas esté permitido, el alumnado deberá declararlo y ser capaz de justificar y defender el trabajo presentado.

Software

  • Visual Studio Code
  • Python
  • Jupyter
  • Github
  • Navegador

Grupos e idiomas de la asignatura

La información proporcionada es provisional hasta el 30 de noviembre. A partir de esta fecha, podrá consultar el idioma de cada grupo a través de este enlace. Para acceder a la información, será necesario introducir el CÓDIGO de la asignatura

Tipo de docencia Grupo Idioma Semestre Turno
(TE) Teoría 31 Catalán/Español primer cuatrimestre manaña-mixto
(PAUL) Prácticas de aula 311 Catalán/Español primer cuatrimestre manaña-mixto
(PLAB) Prácticas de laboratorio 311 Catalán/Español primer cuatrimestre manaña-mixto
(PAUL) Prácticas de aula 312 Catalán/Español primer cuatrimestre manaña-mixto
(PLAB) Prácticas de laboratorio 312 Catalán/Español primer cuatrimestre manaña-mixto