DATOS IDENTIFICATIVOS 2023_24
Asignatura (*) FUNDAMENTOS DE COMPUTADORES Código 17234002
Titulación
Grado en Ingeniería Informática (2010)
Ciclo
Descriptores Cr.totales Tipo Curso Periodo
6 Formación básica Primer 2Q
Lengua de impartición
Català
Departamento Ingeniería Electrónica, Eléctrica y Automática
Ingeniería Informática y Matemáticas
Coordinador/a
MILLAN MARCO, PEDRO
Correo-e pere.millan@urv.cat
santiago.romani@urv.cat
simeo.reig@urv.cat
victoreduardo.navas@urv.cat
francescxavier.iglesias@urv.cat
cristina.llop@urv.cat
Profesores/as
MILLAN MARCO, PEDRO
ROMANÍ ALSO, SANTIAGO
REIG PELLEJA, SIMEON
NAVAS MONTENEGRO, VICTOR EDUARDO
IGLESIAS MARCA, FRANCESC XAVIER
LLOP VALLVERDÚ, CRISTINA
Web http://campusvirtual.urv.cat
Descripción general e información relevante <p>DESCRIPCIÓN GENERAL DE LA ASIGNATURA: Estructura, organización, diseño lógico, funcionamiento e interconexión de los computadores; programación y rendimiento de lenguaje ensamblador; uso de sistemas operativos.</p><p>Although this course is not offered in English, foreign exchange students will receive personalised support in English and will be able to develop the assessment&nbsp;activities in this language.&nbsp;</p>

Competencias
Tipo A Código Competencias Específicas
 FB4 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.
 FB5 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.
Tipo B Código Competencias Transversales
 B2 Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones.
 CT2 Gestionar la información y el conocimiento mediante el uso eficiente de las TIC
Tipo C Código Competencias Nucleares

Resultados de aprendizaje
Tipo A Código Resultados de aprendizaje
 FB4 Comprende la correspondencia existente entre los elementos fundamentales de los lenguajes de alto nivel y los elementos del lenguatge máquina que apoyan.
Utiliza las herramientas de desarrollo y depuración de software, específicamente en el ámbito de programación a bajo nivel.
Utiliza los recursos que proporciona un sistema operativo des de la interfaz de usuario.
 FB5 Evalúa valores expresados en diferentes bases de numeración, especialmente en binario y hexadecimal, siendo capaz de convertir valores entre base decimal y base 2 o base 16 y viceversa, además de saber realizar operaciones aritméticas básicas (sumar, restar) con valores naturales y enteros codificados en complemento a 2.
Conoce los diferentes componentes de un sistema informático compuesto por maquinario y programario.
Comprende el funcionamiento, las interrelaciones y la estructura de niveles de un computador.
Comprende los circuitos lógicos combinacionales.
Comprende los circuitos lógicos secuenciales.
Analiza máquinas de estados finitos básicas.
Analiza la organización y el funcionamiento de subsistemas de la arquitectura Von Neumann: procesador, memoria, y entrada / salida.
Analiza el funcionamiento de los elementos digitales que constituyen un procesador (ALU, registros, cálculo de dirección, secuenciador, etc.) y entiende cómo intervienen en la ejecución de programas escritos en lenguaje máquina.
Comprende la correspondencia existente entre los elementos fundamentales de los lenguajes de alto nivel y los elementos del lenguaje máquina que dan soporte.
Comprende los factores esenciales que afectan el tiempo de ejecución de un programa.
Evalúa los diferentes componentes del lenguaje máquina: organización de la memoria, codificación de instrucciones / datos, secuenciamiento del programa, operandos de una instrucción, modos de direccionamiento, tipo de instrucciones, uso de la pila, implementación de rutinas, etc
Utiliza los recursos que proporciona un sistema operativo des de la interfície de usuario.
Sintetiza programas escritos en lenguaje máquina.
Analiza la relación entre un programa escrito en pseudocódigo o en otro lenguaje de alto nivel con la su correspondiente versión en lenguaje máquina.
Comprende el funcionamiento de las herramientas de compilación, acoplamiento y enlazado, en su papel de generación de código máquina a partir del código fuente.
Utiliza las herramientas de desarrollo y depuración de programario, específicamente en el ámbito de programación a bajo nivel.
Tipo B Código Resultados de aprendizaje
 B2 Conoce los diferentes componentes de un sistema informático compuesto por maquinario i programario.
Comprende el funcionamento, las interrelaciones y la estructura de niveles de un computador.
Comprende los circuitos lógicos combinacionales.
Comprende los circuitos lógicos secuenciales.
Analiza máquinas de estados finitos básicos.
Analiza la organitzación y el funcionamento de subsistemas de la arquitectura Von Neumann: procesador, memoria y entrada / sortida.
Analiza el funcionamento de los elementos digitales que constituyen un procesador (ALU, registros, cálculo de dirección, secuenciador, etc.) y entiende como intervienen en la ejecución de programes escritos en lenguaje máquina.
Comprende los factores esenciales que afectan el tiempo de ejecución de un programa.
Evalúa valores expresados en diferentes bases de numeración, en especial en binario y hexadecimal, siendo capaz de convertir valores entre base decimal y base 2 o base 16 y viceversa, además de saber realizar operaciones aritméticas básicas (sumar, restar) con valores naturales y enteros codificados en complemento a 2.
Evalúa los diferentes componentes del lenguaje máquina: organización de la memoria, codificación de instrucciones/datos, secuenciamiento del programa, operandos de una instrucción, modos de direccionamiento, tipo de instrucciones, uso de la pila, implementación de rutinas, etc.
Sintetiza programas escritos en lenguaje máquina
Analiza la relación entre un programa escrito en pseudocódigo o en algún otro lenguaje de alto nivel con su correspondiente versión en lenguaje máquina.
Comprende el funcionamiento de las herramientas de compilación, ensamblado y enlazado, en su papel de generación de código máquina a partir del código fuente.
Utiliza las herramientas de desarrollo y depuración de software, específicamente en el ámbito de programación a bajo nivel.
 CT2 Domina las herramientas para gestionar la propia identidad y las actividades en un entorno digital.
Busca y obtiene información de manera autónoma con criterios de fiabilidad y pertenencia.
Organiza la información con las herramientas adecuadas (en línea y presenciales) que le permitan desarrollar sus actividades académicas.
Elabora información con las herramientas y formatos adecuados a la situación comunicativa, y lo hace de manera honesta.
Utiliza las TIC para compartir e intercambiar información.
Tipo C Código Resultados de aprendizaje

Contenidos
tema Subtema
1. Introducción - Componentes y funcionamiento de un sistema informático.
- La información en un computador: codificación binaria y operaciones.
2. Lenguaje máquina y ensamblador del ARM - Introducción al lenguaje máquina ARM.
- Introducción al lenguaje ensamblador GAS.
- Programación a bajo nivel.
- Programación con rutinas.
3. Circuitos digitales de un computador - Puertas lógicas.
- Bloques combinacionales.
- Bloques secuenciales.
- Máquinas de estados finitos.
- Circuitos UC-UP.

Planificación
Metodologías  ::  Pruebas
  Competencias (*) Horas en clase
Horas fuera de clase
(**) Horas totales
Actividades introductorias
1 0 1
Sesión magistral
FB5
CT2
29 25 54
Resolución de problemas/ejercicios en el aula ordinaria
FB5
13 17 30
Prácticas en laboratorios
FB5
CT2
26 29 55
Atención personalizada
FB5
CT2
2 0 2
 
Pruebas objetivas de tipo test
FB5
CT2
1 3 4
Pruebas prácticas
FB4
FB5
B2
CT2
1 3 4
 
(*) En el caso de docencia no presencial, serán las horas de trabajo con soporte virtual del profesor.
(**) Los datos que aparecen en la tabla de planificación son de carácter orientativo, considerando la heterogeneidad de los alumnos

Metodologías
Metodologías
  descripción
Actividades introductorias Explicación de los objetivos, contenidos y proceso de evaluación.
Sesión magistral Explicación de conceptos teóricos mediante transparencies y pizarra. Se formulan preguntas al alumnado para que desarrolle sus propias soluciones ante la problemática planteada.
Resolución de problemas/ejercicios en el aula ordinaria Durante el curso se plantearán ejercicios relacionados con el contexto teórico presentado en las sesiones magistrales.
Prácticas en laboratorios Aplicación de los conocimientos teóricos a situaciones concretas, utilizando ordenadores, simuladores y otros elementos prácticos de los laboratorios.
Atención personalizada Los profesores estarán disponibles durante las clases y en horario de consultas, para atender a los alumnos y responder las dudas que se les planteen durante el desarrollo de la asignatura.

Atención personalizada
descripción

Los alumnos pueden acudir personalmente al despacho del profesor en horas de consulta, para plantearle cualquier duda relacionada con la explicación teórica o práctica, realización de problemas o prácticas y evolución y dificultades en su proceso de aprendizaje de las materias y competencias de la asignatura. La atención al estudiante se podrá realizar mediante reuniones online, en horarios concertados previamente por correo electrónico, o mediante otras herramientas virtuales.


Evaluación
Metodologías Competencias descripción Peso        
Pruebas objetivas de tipo test
FB5
CT2
Varias pruebas objetivas de preguntas cortas y/o tipo test.
- Examen 1ª parte (35%).
- Examen 2ª parte (25%).
60%
Pruebas prácticas
FB4
FB5
B2
CT2
Laboratorios. Resolución de prácticas de laboratorio: análisis preliminar, diseño, implementación y documentación. En alguna de las prácticas: defensa oral individual (entrevista).
- Laboratorios/práctica 1ª parte (25%).
- Laboratorios/práctica 2ª parte (15%).
40%
Otros  

Se puede conseguir sumar hasta 1 punto a la nota final, realizando actividades optativas que se plantean en diversos laboratorios.

+1 punt
 
Otros comentarios y segunda convocatoria

Los elementos de evaluación de la asignatura son 4: examen 1ª parte, laboratorios/práctica 1ª parte, examen 2ª parte, laboratorios/práctica 2ª parte.

Se debe obtener una nota mínima en cada uno de los 4 elementos de evaluación, para poder aprobar la asignatura. Si algún elemento de evaluación no supera la nota mínima, la nota final de la asignatura no podrá ser superior a 4,5. La nota mínima es la misma en 1ª y 2ª convocatoria.

La evaluación en 1ª convocatoria será de forma continuada.

En 2ª convocatoria la evaluación consistirá en 2 exámenes (1ª parte, 2ª parte) y 2 prácticas individuales (ARM, diseño lógico) específicas para 2ª convocatoria. Solo habrá que examinarse de los elementos de evaluación que no hayan obtenido la nota mínima en 1ª convocatoria. En caso de presentarse a 2ª convocatoria, la nota será la de 2ª convocatoria (tanto si es superior como inferior a la de 1ª convocatoria).

Los exámenes se realizarán de forma presencial. Durante la realización de los exámenes, no se permite consultar ninguna documentación ni usar ningún tipo de dispositivo electrónico adicional (calculadoras, ordenadores, tabletas, teléfonos, relojes, etc).

En caso de detectar copia o realización fraudulenta de alguna actividad de evaluación, la nota global de aquella convocatoria será 0, y será necesario volver a realizar todas las pruebas evaluativas en la siguiente convocatoria (no se guardará nota de las actividades que tuviesen la nota mínima en la convocatoria en la que se ha detectado la copia).


Fuentes de información

Básica Professors/es Fonaments Computadors, Transparències Fonaments Computadors, 2023, ETSE-URV (Tarragona)
William Stallings, Computer Organization and Architecture, 11th ed (2018), Pearson
Thomas L. Floyd, Fundamentos de Sistemas Digitales, 11ª ed (2016), Pearson Prentice-Hall
Antonio Adán Oliver, Circuitos Digitales. Problemas y Ejercicios Resueltos, 2018, Ra-Ma

Complementaria William Hohl, ARM assembly language : fundamentals and techniques, 2nd ed (2014), CRC Press
Mano M. Morris, Charles R. Kime, Fundamentos de diseño lógico y de computadores, 2005, Pearson Prentice-Hall
Steve Furber, ARM System-on-Chip Architecture, 2nd ed (2000), Addison-Wesley Professional
Daniel Kusswurm, Modern Arm Assembly Language Programming: Covers Armv8-A 32-bit, 64-bit, and SIMD, October 2020, Apress
Larry D. Pyeatt, Modern Assembly Language Programming with the ARM Processor, May 2016, Newnes

Recomendaciones

Asignaturas que continúan el temario
ESTRUCTURA DE COMPUTADORES/17234108
COMPUTADORES/17234107

Asignaturas que se recomienda cursar simultáneamente
FUNDAMENTOS DE PROGRAMACIÓN II/17234131

Asignaturas que se recomienda haber cursado previamente
FUNDAMENTOS DE PROGRAMACIÓN I/17234001
 
Otros comentarios
Es muy importante el trabajo día a día. Para obtener una información más precisa, detallada y actualizada, consulta frecuentemente el campus virtual (Moodle) y está pendiente del correo electrónico de estudiante URV.
(*)La Guía docente es el documento donde se visualiza la propuesta académica de la URV. Este documento es público y no es modificable, excepto en casos excepcionales revisados por el órgano competente o debidamente revisado de acuerdo la normativa vigente.