Guía docente de Fundamentos del Software (2971113)
Grado
Rama
Módulo
Materia
Curso
Semestre
Créditos
Tipo
Profesorado
Teórico
Práctico
- David Griol Barres Grupo: 2
- Ana María Sánchez López Grupo: 1
Prerrequisitos y/o Recomendaciones
-
Requisitos: No se exige tener asignaturas, materias o módulos aprobados para cursar este módulo.
-
Dobles grados: Se recomienda haber cursado Tecnología y Organización de Computadoras (TOC) y Fundamentos de Programación (FP) en el primer semestre.
-
Lecturas obligatorias:
-
Compromiso ético: El alumnado es responsable del uso ético de las herramientas de IA generativa (GenAI), evitando el plagio y citando adecuadamente todas las fuentes con autoría.
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.
Resultados de aprendizaje (Objetivos)
Conocimientos o contenidos
- C01. Conoce las materias básicas y tecnologías que capacitan para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que dotan de una gran versatilidad para adaptarse a nuevas situaciones.
- C04. Conoce los fundamentos del uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería.
- C05. Conoce 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.
Competencias
- COM05. 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.
- COM09. Analizar y valorar el impacto social y medioambiental de las soluciones técnicas, comprendiendo la responsabilidad ética y profesional de la actividad del Ingeniero Técnico en Informática.
Habilidades o destrezas
- HD19. Trabaja en equipo, usando competencias demostrables mediante la elaboración y defensa de argumentos.
- HD20. Aplica principios de ética profesional para conseguir la mejora continua y la calidad de los productos actuando con rigor y responsabilidad.
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 guiones.
- Práctica 3. Compilación de programas.
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.
- MD02. Actividades prácticas.
- MD03. Seminarios.
- MD04. Actividades no presenciales.
- MD05. 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 parcilaes 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 (un 90% de examenes parciales y 10% de trabajos y/o asistencia y/o ejercicios). Es imprescindible haber obtenido una calificación superior a 2 sobre 10 en cada uno de los examenes parciales de teoría para aprobar la teoría.
- Para la parte práctica se realizarán los supuestos indicados en el cuaderno de prácticas, resolución de problemas y dos examenes parciales con el uso del ordenador basadas en el desarrollo de supuestos prácticos vistos en las sesiones (un 90% de examenes parciales y 10% de trabajos). La calificación de los examenes se obtendrá mediante la media ponderada de las dos pruebas prácticas, correspondiendo un 35 % al primer examen parcial y un 65 % al segundo.
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. 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 |
| Teoría | 50% |
| Práctica | 50% |
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)
En caso de no superar la asignatura en la convocatoria ordinaria, si el estudiante hubiera aprobado una de las dos partes de la asignatura (teoría o práctica), con una calificación igual o superior a 5 sobre 10, dicha calificación se conservará para la convocatoria extraordinaria. En consecuencia, el estudiante únicamente deberá presentarse a la parte no superada.
Evaluación extraordinaria
Todo lo relativo a la evaluación se regirá por normativa sobre planificación docente y organización de exámenes vigente en la Universidad de Granada. El sistema de calificaciones se expresará mediante una calificación numérica, de conformidad con lo establecido en el artículo 5 del Real Decreto 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 todo el territorio nacional.
Podrán concurrir a la convocatoria extraordinaria todos los estudiantes, con independencia de haber seguido o no un proceso de evaluación continua. Asimismo, cuando el estudiante haya obtenido en la convocatoria ordinaria una calificación igual o superior a 5 sobre 10 en una de las dos partes de la asignatura (teoría o prácticas), dicha calificación se conservará para la convocatoria extraordinaria. En consecuencia, únicamente deberá realizar la prueba correspondiente a la parte no superada.
La calificación en la convocatoria extraordinaria permitirá, en todo caso, obtener el 100 % de la calificación final de la asignatura y se determinará mediante las siguientes pruebas:
-
Examen escrito sobre los contenidos teóricos de la asignatura, compuesto por preguntas de desarrollo, preguntas tipo test y/o supuestos prácticos (50 % de la calificación final).
-
Examen práctico en el aula de informática, basado en los supuestos incluidos en el cuaderno de prácticas de la asignatura (50 % de la calificación final).
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.
Información de interés para estudiantado con discapacidad y/o Necesidades Específicas de Apoyo Educativo (NEAE): Gestión de servicios y apoyos (https://ve.ugr.es/servicios/atencion-social/estudiantes-con-discapacidad).