Computadores

Créditos
7.5
Tipos
Obligatoria
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
AC
Mail
Esta asignatura proporciona al estudiante los conocimientos sobre la estructura del computador. También incorpora los conocimientos básicos sobre la codificación de los datos, estructura de los programas y librerías, niveles de ejecución usuario y sistema operativo, los conceptos de compilación e interpretación, sistemas de almacenamiento de datos, sistemas de ficheros, paralelismo y técnicas de evaluación del rendimiento.

Profesores

Responsable

  • Javier Verdu Mula ( )

Otros

  • Xavier Martorell Bofill ( )

Horas semanales

Teoría
3
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0.4
Aprendizaje autónomo
7.5

Competencias

Competencias Técnicas

Competencias técnicas

  • CE4 - Utilizar los sistemas de computación actuales, incluidos sistemas de alto rendimiento, para el proceso de grandes volúmenes de datos desde el conocimiento de su estructura, funcionamiento y particularidades.

Competencias Transversales

Transversales

  • CT5 - Uso solvente de los recursos de información. Gestionar la adquisición, la estructuración, el análisis y la visualización de datos e información en el ámbito de especialidad y valorar de forma crítica los resultados de dicha gestión.
  • CT6 - Aprendizaje autónomo. Detectar deficiencias en el propio conocimiento y superarlas mediante la reflexión crítica y la elección de la mejor actuación para ampliar dicho conocimiento.
  • CT7 - Tercera lengua. Conocer una tercera lengua, preferentemente el inglés, con un nivel adecuado oral y escrito y en consonancia con las necesidades que tendrán los titulados y tituladas.

Básicas

  • CB1 - Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio.
  • CB2 - 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.
  • CB5 - Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía

Competencias Técnicas Genéricas

Genéricas

  • CG1 - Concebir sistemas computacionales que integren datos de procedencias y formas muy diversas, creen con ellos modelos matemáticos, razonen sobre dichos modelos y actúen en consecuencia, aprendiendo de la experiencia.
  • CG2 - Elegir y aplicar los métodos y técnicas más adecuados a un problema definido por datos que representen un reto por su volumen, velocidad, variedad o heterogeneidad, incluidos métodos informáticos, matemáticos, estadísticos y de procesado de la señal.
  • CG4 - Identificar oportunidades para aplicaciones innovadoras orientadas a datos en entornos tecnológicos en continua evolución.

Objetivos

  1. Conocer los objetivos de la asignatura
    Competencias relacionadas: CB1,
  2. Trabajar con los diferentes tipos de datos, naturales, enteros, punto flotante y su agrupación
    Competencias relacionadas: CE4, CB1,
    Subcompetences:
    • Determinación del error de precisión en los valores en coma flotante
    • Cadenas de caracteres, tablas y estructuras
  3. Demostrar conocimento y comprensión de los conceptos fundamentales de los computadores, y sobre la estructura básica de un computador.
    Competencias relacionadas: CT6, CB1,
    Subcompetences:
    • Procesador, memoria, entrada/salida, sistemas de almacenaje y comunicaciones
  4. Describir y trabajar con el entorno de ejecución de los programas.
    Competencias relacionadas: CE4, CT6, CT7, CG1, CB2, CB5,
    Subcompetences:
    • Definir con palabras propias los conceptos de sistema operativo, programa, libreria y proceso
    • Distingir entre los niveles usuario y sistema
  5. Conocer la estructura de los programas y saber utilizar las herramientas para analizarla y manipularla.
    Competencias relacionadas: CE4, CT5, CB2, CB5,
    Subcompetences:
    • Secciones dentro de un programa: código, datos y pila
  6. Conocer los principios básicos de los lenguajes de programación.
    Competencias relacionadas: CT6, CB2,
    Subcompetences:
    • Distinguir entre lenguajes interpretados y compilados
    • Traducción entre lenguajes de programación
    • Lenguaje ensamblador.
  7. Conocer y saber trabajar con los servicios del sistema operativo
    Competencias relacionadas: CE4, CB5,
    Subcompetences:
    • Conocer el interfaz de las llamadas a sistema
    • Conocer las ventajas e inconvenientes del interfaz del sistema operativo
  8. Conocer y saber trabajar con las librerías
    Competencias relacionadas: CE4, CT6, CB5,
    Subcompetences:
    • Distinguir entre las funcionalidades proporcionadas por los distintos niveles de ejecución: sistema y librerías
    • Librerías de soporte del sistema y del lenguaje
  9. Conocer y saber utilizar las herramientas de compilación de programas
    Competencias relacionadas: CE4, CT6, CB5,
    Subcompetences:
    • Saber seleccionar las opciones de compilación más adecuadas
    • Conocer las opciones de optimización de programas
  10. Conocer y saber utilizar modelos de programación paralelos
    Competencias relacionadas: CE4, CT6, CT7, CG2, CG4, CB2, CB5,
    Subcompetences:
    • Distinguir entre modelos de memoria compartida y modelos de memoria distribuida
    • Distinguir los conceptos de proceso y flujo
    • Conocer y saber utilizar las herramientas de sincronización
  11. Conocer y saber utilizar las técnicas básicas de análisis del rendimiento
    Competencias relacionadas: CT5, CG2, CB2,
    Subcompetences:
    • Saber analizar el rendimiento del computador: procesador, memoria, comunicaciones y subsistema de almacenamiento
  12. Conocer y saber utilizar las herramientas de entrada/salida proporcionadas por los entornos de ejecución
    Competencias relacionadas: CE4, CT5, CG1, CG2, CG4, CB5,
    Subcompetences:
    • Conocer y utilizar los canales de comunicación y dispositivos disponibles en el sistema
  13. Conocer y saber utilizar los sistemas de almacenaje
    Competencias relacionadas: CE4, CT6, CG2, CG4, CB5,
    Subcompetences:
    • Saber organizar los datos de las aplicaciones en ficheros
    • Sistemas de discos redundantes y volúmenes lógicos
    • Saber describir las características de los sistemas de ficheros

Contenidos

  1. Representación de los datos
    Conocer y trabajar con los diferentes tipos de datos y su representación en los computadores. Codificación binaria, caracteres, enteros, cadenas, valores en coma flotante, y su agrupación en clases, estructuras y uniones.
  2. Elementos del computador
    Descripción de los elementos que forman parte de un computador: los procesadores, la jerarquía de memoria, los componentes de entrada/salida, almacenes de datos y la manera en que estan conectados.
  3. Librerías de sistema
    Se presentan las funcionalidades que proporcionan las librerías de sistema.
    Presenta los formatos de los ficheros ejecutables y cómo obtener la información contenida en éstos.
  4. Entorno de compilación
    Se presentan las herramientas de compilación e interpretación de los lenguajes de programación. Describe las opciones de compilación y optimización de los compiladores. Se completa la estructura de los ficheros ejecutables, incluyendo la tabla de símbolos y la información de depuración.
  5. Sistema Operativo
    Se describen los objetivos que tiene el sistema operativo dentro del entorno de ejecución. Este capítulo presenta las abstracciones básicas del sistema operativo y su interfaz. Llamadas a sistema, interrupciones y excepciones.
  6. Fundamentos de la programación
    Se describe en entorno de ejecución básico sobre el que se ejecutan los programas. Definición de sistema operativo, niveles de ejecución, usuario y sistema (privilegiado), conceptos de programa y proceso. Estructura de los programas y las librerías. Principios básicos de los lenguajes de programación. Lenguaje ensamblador. Traducción desde lenguajes de alto nivel a lenguajes de bajo nivel.
  7. Introducción al paralelismo
    Paralelismo y concurrencia. Procesos y flujos. Sincronización. Modelos de programación
  8. Técnicas básicas de análisis del rendimiento
    Rendimiento de las aplicaciones, métricas, obtención de la información, performance counters, relojes de alta precisión. Cálculo del rendimiento, GFlops, bandwidth.
  9. Subsistema de entrada/salida
    Se presenta la parte del subsistema de entrada/salida del entorno de ejecución, canales, terminales, ficheros, pipes.
  10. Sistemas de almacenamiento
    Se presentan los componentes físicos de entrada/salida para almacenar datos: discos y sistemas de ficheros. Se incluye una visión de los mecanismos de tolerancia a fallos, basada en los sistemas de discos redundantes y volúmenes lógicos.

Actividades

Actividad Acto evaluativo


Presentación de la asignatura


Objetivos: 1
Teoría
0.5h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Representación de los datos


Objetivos: 2
Teoría
2.5h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

El computador y sus componentes


Objetivos: 3
Contenidos:
Teoría
6h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Librerías y compilación


Objetivos: 8 9
Contenidos:
Teoría
3h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Sistema Operativo


Objetivos: 7
Contenidos:
Teoría
5h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8.5h

Control parcial


Objetivos: 3 2 4 5 6 7 8 9 1
Semana: 8 (Fuera de horario lectivo)
Tipo: examen de teoría
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
3h
Aprendizaje autónomo
10h

Fundamentos de la programación


Objetivos: 4 5 6
Contenidos:
Teoría
6h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Paralelismo


Objetivos: 10
Contenidos:
Teoría
6h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Análisis del rendimiento


Objetivos: 11
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Entrada/salida y comunicaciones


Objetivos: 12
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
1h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Sistemas de ficheros


Objetivos: 13
Contenidos:
Teoría
4h
Problemas
0h
Laboratorio
1h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Prueba de laboratorio

Prueba de laboratorio de la asignatura, consistente en una sesión de laboratorio, con un enunciado específico, realizado de forma individual. Se realiza durante una sesión de laboratorio en concreto.
Objetivos: 3 2 4 5 6 7 8 10 9 11 12 13 1
Semana: 14
Tipo: examen de laboratorio
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Examen final

Examen final de la asignatura, consistente en preguntas teóricas sobre todos los contenidos vistos en las sesiones de teoría y laboratorio
Objetivos: 3 2 4 5 6 7 8 10 9 11 12 13 1
Semana: 15 (Fuera de horario lectivo)
Tipo: examen final
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
3h
Aprendizaje autónomo
10h

Metodología docente

La asignatura se basa en clases presenciales de teoría y laboratorio. Las clases de teoría siguen el programa definido en esta guía docente, habitualmente son a base de material proporcionado en transparencias.

En estas clases de teoría, se promociona el diálogo entre el profesor y los estudiantes proporcionando actividades a realizar conjuntamente basadas en aspectos particulares del tema que se está tratando.

Las clases de laboratorio siguen los mismos temas y se basan en enunciados de prácticas en ordenador guiadas por un enunciado.

Método de evaluación

Hay dos pruebas evaluativas de la parte de teoría:
- PT: El examen parcial de teoría (15%)
- FT: El examen final de teoría (60%)

Evaluación Ordinaria: La nota final de la asignatura se obtiene a partir de
- MAX(75%FT; 15%PT+60%FT)
- Una prueba de laboratorio (15%)
- También ponemos nota a la entrega de un trabajo (a definir durante el curso) (5%) y a las entregas de laboratorio (5%), que estarán relacionadas con las competencias de Uso Solvente de Recursos de Información y Aprendizaje Autónomo, respectivamente.

Reevaluación: Sólo aquellos/as que hayan suspendido (es decir, hayan realizado el examen parcial y/o final de teoria) podrán presentarse al examen de Reevaluación (examen sólo de teoría). Así, la nota de Reevaluación sustituye la nota global de teoría (es decir, 75% de la nota de la asignatura). En todo caso, si la nota de evaluación ordinaria era de 4 o superior y se ha obtenido una nota inferior con la Reevaluación, entonces se mantiene la nota de la evaluación ordinaria.

Bibliografía

Básica:

Web links

Capacidades previas

Tener nociones básicas de programación