Guía docente de Fundamentos del Software (2971113)

Curso 2024/2025
Fecha de aprobación: 25/06/2024

Grado

Grado en Ingeniería Informática y Matemáticas

Rama

Ingeniería y Arquitectura

Módulo

Formación Básica

Materia

Informática

Curso

1

Semestre

2

Créditos

6

Tipo

Troncal

Profesorado

Teórico

David Griol Barres. Grupo: A

Práctico

David Griol Barres Grupos: 1 y 2

Tutorías

David Griol Barres

Ver email
  • Primer semestre
    • Martes de 10:30 a 13:30 (Despacho 23 3ªplanta Etsiit)
    • Miércoles de 10:30 a 13:30 (Despacho 23 3ªplanta Etsiit)
  • Segundo semestre
    • Martes de 10:30 a 13:30 (Despacho 23 3ªplanta Etsiit)
    • Miércoles de 10:30 a 13:30 (Despacho 23 3ªplanta Etsiit)

Prerrequisitos y/o Recomendaciones

Los estudiantes no tendrán que tener asignaturas, materias o módulos aprobados como requisito indispensable para cursar el módulo.

En los dobles grados se recomienda haber cursado las asignaturas de primer semestre: Tecnología y Organización de Computadoras (TOC) y Fundamentos de Programación (FP).

Breve descripción de contenidos (Según memoria de verificación del Grado)

  • Componentes de un sistema de computación.
  • Componentes de un Sistema Operativo.
  • Servicios del Sistema Operativo: llamadas al sistema e intérpretes de órdenes.
  • Compilación, enlazado y carga de programas.
  • Entornos y herramientas de desarrollo de aplicaciones.
  • Bases de datos.
  • Aplicaciones en ingeniería.

Competencias

General competences

  • CG05. 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.

Competencias Específicas

  • CE04. 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.

Competencias Transversales

  • CT06. Motivación por la calidad y la mejora continua, actuando con rigor, responsabilidad y ética profesional. 

Resultados de aprendizaje (Objetivos)

  • Conocer los principales componentes de un sistema informático: hardware, sistema operativo y utilidades del sistema, y aplicaciones.
  • Saber cuáles son los objetivos y funciones del sistema operativo.
  • Identificar diferentes tipos de sistemas operativos según su utilidad: sistemas multiprogramados de propósito general, de tiempo-real, y embebidos.
  • Manejar los servicios que ofrece el sistema operativo vía llamadas al sistema, intérpretes de órdenes o programas de utilidad.
  • Comprender los pasos necesarios para construir un programa de aplicación desde su programación hasta la generación del código ejecutable y su posterior ejecución por el sistema operativo.
  • Utilizar un entorno de desarrollo de aplicaciones, teniendo en cuenta las herramientas necesarias para trabajar con distintos módulos de código fuente, interdependencias entre estos, portabilidad de la aplicación y depuración de errores.
  • Enumerar los objetivos básicos, funciones, modelos y componentes de un sistema de bases de datos.
  • Identificar las ventajas que ofrece los sistemas de bases de datos frente a los sistemas de archivos convencionales suministrados por los sistemas operativos.
  • Establecer las diferencias entre base de datos y sistema gestor de la base de datos.
  • Aprender el concepto de independencia de datos y apreciar su importancia en los sistemas de bases de datos.
  • Utilizar programas informáticos que faciliten y mejoren la consecución de los objetivos anteriormente citados.

Programa de contenidos Teóricos y Prácticos

Teórico

Tema 1. Sistema de cómputo

  • Componentes de los sistemas de cómputo.
  • Capa hardware: interrupciones y excepciones, protección, y entradas/salidas.
  • El sistema operativo.
  • Utilidades de sistema.

Tema 2. Introducción a los sistemas operativos

  • Componentes de un sistema operativo multiprogramado.
  • Servicios del sistema operativo: API y shell.
  • Programas y procesos.
  • Modelos de memoria para los procesos.

Tema 3. Compilación y enlazado de programas

  • Proceso de compilación.
  • Ciclo de vida y modelo de memoria de un proceso.
  • Bibliotecas. Automatización del proceso de compilación y enlazado.

Tema 4. Sistemas de archivos. Introducción a las bases de datos

  • Concepto de archivo y directorio.
  • Organización de la información.
  • Bases de datos.
  • Gestores de bases de datos.

Tema 5. Generación y depuración de aplicaciones

  • Concepto de plataforma. Software independiente de plataforma.
  • Frameworks para el desarrollo de aplicaciones.
  • Técnicas de depuración de programas.

Práctico

  • Práctica 1. Órdenes básicas del sistema operativo e intérprete de órdenes.
  • Práctica 2. Construcción de una aplicación.
  • Práctica 3. Depuración de una aplicación.

Bibliografía

Bibliografía fundamental

  • W. Stallings, Operating Systems. Internals and Design Principles (9th edition), Pearson, 2018.
  • A. Prieto, A. Lloris y J.C. Torres, Introducción a la Informática (4a edición), McGraw-Hill, 2006.
  • J. Carretero et al., Sistemas Operativos (3a Edición), McGraw-Hill, 2021.
  • M. K. Johnson, y E. W. Troan, Linux Application Development, (2a edición), Addison-Wesley Professional, 2005.
  • C. Newham, N. Rosenblatt, Learning the Bash Shell, O'Reilly, (3a edición), 2005.

Bibliografía complementaria

  • N. Matthew, y R. Stones, Beginning Linux Programming (4a edición), Willey, 2008.
  • B. J. Gough, Introduction to GCC, Network Theroy Limited, (2nd edition), 2005.
  • R. Mechlenburg, Managing Project With GNU Make: The Power of GNU Make for Build Anything, (3th edition), O'Reilly, 2004.
  • R. M. Stallman, R. H. Pecsh, y S. Shebs, Debugging with GDB: The GNU Source-Level Debugger, Free Software Foundation, (9th edition), 2003.
  • N. Nethercote, J. Weidendorfer, y J. Seward, Valgrind 3.3 - Advanced Debugging and Profiling for GNU/Linux Applications: Advanced Debugging and Profiling for GNU / Linux Applications, Network Theroy Limited, 2008.

Enlaces recomendados

La gestión administrativa de la asignatura se realiza a través de la plataforma PRADO.

Más información de la asignatura en el Directorio del Departamento de Lenguajes y Sistemas Informáticos.

Metodología docente

  • MD01. Lección Magistral (Clases Teóricas-Expositivas) 
  • MD02. Actividades Prácticas (Resolución de Problemas, Resolución de Casos Prácticos, Desarrollo de Proyectos, Prácticas en Laboratorio, Taller de Programación, Aula de Informática, Prácticas de Campo). 
  • MD03.  Seminarios (Debates, Demos, Exposición de Trabajos Tutelados, Conferencias, Visitas Guiadas, Monografías). 
  • MD04. Actividades no presenciales Individuales. 
  • MD05. Actividades no presenciales Grupales. 
  • MD06. Tutorías Académicas. 

Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final)

Evaluación Ordinaria

Régimen de asistencia

La asistencia tanto a las clases prácticas como teóricas será opcional, no siendo necesario un control de ésta. Sin embargo, se recuerda que la enseñanza con evaluación continua implica que el estudiante debe asistir de forma regular a clase.

Evaluación continua

Se utilizarán alguna o algunas de las siguientes técnicas de evaluación:

  • Para la parte teórica la evaluación consistirá en la realización de varias sesiones de evaluación basadas en exámenes escritos de los temas de teoría compuestos por preguntas sobre conceptos y/o tipo test, y supuestos prácticos. Además, se considerarán entregas de ejercicios sobre el desarrollo y los resultados de las actividades que se propongan.
  • Para la parte práctica se realizarán los supuestos indicados en el cuaderno de prácticas, resolución de problemas y dos sesiones de evaluación con el uso del ordenador basadas en el desarrollo de supuestos prácticos vistos en las sesiones.

La calificación global corresponderá por tanto a la puntuación ponderada de los diferentes aspectos y actividades que integran el sistema de evaluación. Por tanto, el resultado de la evaluación será una calificación numérica obtenida mediante la suma ponderada de las calificaciones correspondientes a una parte teórica, una parte práctica y una parte relacionada con el trabajo autónomo de los alumnos. La adaptación del sistema de evaluación general propuesto a las características de esta asignatura, con indicación explícita del peso de la evaluación de cada actividad formativa, se ajustará a lo indicado en la siguiente tabla:

Actividades Formativas Ponderación
Parte teórica 45%
Parte práctica 45%
Otros (ejercicios, supuestos prácticos...) 10%

Para aprobar la asignatura es necesario tener una calificación numérica superior o igual a 5 (sobre 10). No obstante, además del requisito anterior, se establece como requisito adicional para superar la asignatura que tanto la calificación correspondiente a la parte teórica como la correspondiente a la parte práctica sean mayores o iguales a 4 (sobre 10)

Evaluación Extraordinaria

Los estudiantes que no hayan superado la asignatura en la convocatoria ordinaria dispondrán de una convocatoria extraordinaria. A ella podrán concurrir todos los estudiantes, con independencia de haber seguido o no un proceso de evaluación continua. La calificación de los estudiantes en la convocatoria extraordinaria se ajustará a las reglas establecidas en la Guía Docente de la asignatura, garantizando, en todo caso, la posibilidad de obtener el 100% de la calificación final.

  • Realización de un examen escrito basado en preguntas sobre conceptos y/o tipo test y supuestos prácticos (50%).
  • Realización de un examen en aula de prácticas basado en los supuestos descritos en el cuaderno de prácticas de la asignatura (50%).

Todo lo relativo a la evaluación se regirá por la normativa sobre planificación docente y organización de exámenes vigente en la Universidad de Granada. El sistema de calificaciones se expresará mediante calificación numérica de acuerdo con lo establecido en el art. 5 del R. D 1125/2003, de 5 de septiembre, por el que se establece el sistema europeo de créditos y el sistema de calificaciones en las titulaciones universitarias de carácter oficial y validez en el territorio nacional.

Evaluación única final

Establecida en la "Normativa de Evaluación y de Calificación de los Estudiantes ugr". Para los estudiantes que se acojan a la evaluación única final, esta modalidad de evaluación estará formada por todas aquellas pruebas que el profesor estime oportunas, de forma que se pueda acreditar la adquisición de la totalidad de las competencias generales y específicas por parte del estudiante tal y como están descritas en el apartado correspondiente de esta guía docente. Se aplica la ponderación del 50% para teoría y del 50% para prácticas.


Para aprobar la asignatura es necesario tener una calificación numérica superior o igual a 5 (sobre 10). No obstante, además del requisito anterior, se establece como requisito adicional para superar la asignatura que tanto la calificación correspondiente a la parte teórica como la correspondiente a la parte práctica sean mayores o iguales a 4 (sobre 10).


Las pruebas serán:

  • Realización de un examen escrito basado en preguntas sobre conceptos y/o tipo test y supuestos prácticos (50%).
  • Realización de un examen en aula de prácticas basado en los supuestos descritos en el cuaderno de prácticas de la asignatura (50%).

Información adicional

Definición de grupo grande y grupo pequeño:

  • Los grupos grandes son grupos de 45 a 60 estudiantes.
  • Los grupos pequeños son grupos de 15 a 20 estudiantes.