* Podréis encontrar más prácticas de años más recientes en la página de Manel Pérez, alumno de Ingenieria Informática de la Universitat Rovira i Virgili de Tarragona.
Curso 2000-2001
- Apuntes:
- Computadores:
- Práctica1
Dada una ROM llena de números, hacer un circuito que busque cierto número y que por una salida indique en qué posición se encuentra o cuantos números hay iguales.
Realizado con Extend. - Práctica2
Circuito secuencial que realiza la multiplicación de dos número naturales de 8 bits, el resultado será de 16 bits.
Realizado con Extend. - Práctica3
Nueva máquina sencilla con las instrucciones: DD, CMP, MOV, BEQ, INIC y LOOP.
Realizado con Extend. - Práctica4
Utilizando un controlador basado en la máquina media realizar el popular juego Simon, donde el jugador debe ir memorizando el orden de las luces encedidas para luego repetirlas.
Realizado con Extend. - Varios
Diversas pruebas.
Realizado con Extend.
- Práctica1
- Programación I:
- Práctica1
Muestra los números primos.
Realizado en ADA. - Práctica2
Calculo de puntos que le corresponden a los participantes de un concurso de Castells usando archivos (entrada/salida).
Realizado en ADA. - Práctica3
Módulo para poder llevar una colección de juegos de forma informatizada.
Realizado en ADA. - Práctica4
Aplicación para la gestión de las salas de unos cines, utilizamos ADAGRAPH para visualizar la sala con sus asientos libres y ocupados.
Realizado en ADA.
- Práctica1
- Estructura de computadores I:
- Práctica1
Implementación de un algoritmo que calcula el producto de una matriz M (de 4 filas y 8 columnas) por un vector V (de 8 columnas) dando como resultado un vector de 4 filas.
Realizado en Ensamblador. - Práctica2
Implementación de una subrutina que hace el producto escalar entre dos vectores A y B (los dos de N elementos) devolviendo un valor de tipo entero.
Realizado en Ensamblador. - Práctica3
Rutina que realiza la conversión de un número de 16 bits a un string con su representación ASCII.
Realizado en Ensamblador. - Práctica4
Subrutina que genera un sonido por el altavoz interno del ordenador.
Realizado en Ensamblador. - Práctica5
Implementación de 3 subrutinas que se encargan de escribir en pantalla, borrarla y adivinar que caracter hay en cierta posición de la pantalla.
Realizado en Ensamblador. - Práctica6
Realización de tres subrutinas de teclado: inicialización, lectura y finalización. Se controlaran las interrupciones con una RSI. El juego de pruebas es el popular juego de las serpientes en modo 2 jugadores.
Realizado en Ensamblador y C.
- Práctica1
Curso 2001-2002
- Apuntes:
- Introducción a Bases de Datos:
- Práctica1
Implementación del algoritmo Feijen para la actualización de archivos, además de otras operaciones.
Realizado en C bajo UNIX.
- Práctica1
- Bases de Datos:
- Práctica1
Resolución de un ejercicio para guardar cierta información en una base de datos utilizando SQL y las sentencias a ejecutar para realizar ciertas consultas.
Realizado con SQL.
- Práctica1
- Estructura de Computadores II:
- Práctica1
Micro interprete capaz de controlar la máquina de Tanembau que ejecuta un cierto número de macro instrucciones, como prueba se calcula el factorial recursivo.
Realizado con un simulador de la máquina de Tanembau (incluido).
- Práctica1
- Programación II:
- Práctica1
Juego hundir la flota sin interfície gráfica.
Realizado en Java.
- Práctica1
- Estructura de datos:
- Práctica1
Estructura de datos para implementar un gestor de impresoras.
Realizado en Java. - Práctica2
Estructura de datos para implementar un organizador de música que mantenga ordenado los datos.
Realizado en Java. - Práctica3
Estructura de datos para implementar una aplicación para gestionar y optimizar la estructura de un servidor web (grafos).
Realizado en Java.
- Práctica1
- Introducción a los Sistemas Operativos:
- Práctica1
Script que renombra varios ficheros a la vez y script que borra de un directorio los archivos que cumplan unas determinadas características.
Realizado en Bash. - Práctica2
Juego hundir la flota.
Realizado en ANSI C. - Práctica3
Utilizando las IPC de UNIX hacer que varios procesos puedan jugar al hundir la flota.
Realizado en C bajo UNIX.
- Práctica1
- Sistemas Operativos:
- Práctica1
Implementación de la parte del sistema operativo de la gestión de procesos, entrada y salida… entre otros.
Realizado en C bajo MSDOS.
- Práctica1
Curso 2002-2003
- Apuntes:
- Inteligencia Artificial:
- Práctica1
Implementación de la busqueda a lo ancho de forma que intentemos conseguir un camino desde una posición inicial a una final.
Realizado en cLISP. - Práctica2
Implementación de un jugador de tres en raya.
Realizado en cLISP. - Práctica3
Definición de un tipo de información en el entorno CLIPS.
Realizado con CLIPS. - Sesiones cLISP
Pruebas en LISP realizadas en laboratorio.
Realizado en cLISP. - Laboratorios CLIPS
Pruebas realizadas en el entorno CLIPS.
Realizado con CLIPS.
- Práctica1
- Lenguajes de programación:
- Práctica1
Ejercicios java que muestran las características del lenguaje y del paradigma de programación orientado a objetos puro.
Realizado en Java. - Práctica2
Simulación de un banco sencillo con sus estructuras de datos.
Realizado en Java. - Práctica3
Implementación no visual del juego TurboRisk que consiste en ir conquistando paises.
Realizado en Java. - Práctica4
Ejercicios Smalltalk que muestran las características del lenguaje y del paradigma de programación orientado a objetos puro.
Realizado en Smalltalk. - Práctica5
Ejercicios Haskell que muestran las características del lenguaje y del paradigma de programación funcional.
Realizado en Haskell. - Práctica6
Ejercicios Prolog que muestran las características del lenguaje y del paradigma de programación lógico.
Realizado en Prolog.
- Práctica1
- Programación concurrente:
- Práctica1
Aplicación gráfica que muestra el juego del comecocos donde se han implementado diversos procesos que se ejecutan simultaneamente trabajando sobre el tablero. Se ha realizado un esfuerzo especial en realizar unos comecocos inteligentes para obtener la máxima puntuación. Los comecocos juegan solos sin intervención humana.
Realizado en ADA y GTK. - Sesiones
Pruebas de programación concurrente en ADA realizadas en el laboratorio.
Realizado en ADA.
- Práctica1
- Ingeniería del Software:
- Práctica1
Análisis previo de un problema planteado.
Estudio. - Práctica2
Análisis estructurado de un problema planteado.
Estudio. - Práctica3
Diseño estructurado: esquema del sistema de menu, definición de la base de datos (SQL) y diseño de los formatos de pantalla.
Estudio. - Práctica4
Recogida de requisitos: diagrama de actividades general, diagramas de casos de uso y descripción textual de los casos de uso.
Estudio. - Práctica5
Análisis de requisitos orientado a objetos: metáfora, diagrama estático completo y diagramas de secuencia para todos los casos de uso.
Estudio. - Práctica6
Diseño orientado a objetos: diseño total de la interficie de usuario y diseño de la persisténcia.
Estudio.
- Práctica1
- Sistemas Abiertos:
- Práctica1
Implementación de una aplicación web para agencias de seguros de coches que se puedan intercomunicar entre ellas.
Realizado en Java (J2EE).
- Práctica1
- Gestión de Empresa:
- Práctica1
Plan de empresas y examen resuelto.
Estudio.
- Práctica1
- Gestión de la informática:
- Práctica1
Exposición y trabajo sobre Enterprise Resource Planning (ERP).
Estudio.
- Práctica1
- Proyecto final de carrera:
- Informe
Creación de un servidor para la intranet del Departament d’Enginyeria Informática i Matemátiques de la URV.
Estudio. - Presentación
Transparencias de la presentación del proyecto.
Transparencias. - Aplicación web
Aplicación web que forma una pequeña parte del proyecto, el resto consistia en crear un servidor usando Software Libre y dando máxima prioridad a la seguridad informática.
Realizado en PHP.
- Informe
Curso 2003-2004
- Apuntes:
- Arquitectures paral·leles
- Control automatic I
- Criptologia
- Disseny d’interficies grafiques
- Enginyeria del Software I
- Intel·ligencia artificial I
- Xarxes de computadors I
- Arquitectures especialitzades
- Control automatic II
- Intel·ligencia artificial II
- Sistemes informatics de Temps Real
- Xarxes de computadors II
- Arquitecturas especializadas:
- Práctica1
Paralelización de un algorismo de ordenación con clusters de computadoras.
Realizado en C + MPI bajo UNIX.
- Práctica1
- Arquitecturas orientadas a las aplicaciones:
- Sistolicos
Uso de un simulador de hardware sistolico para implementar el calculo de la distancia de Levenshtein.
Realizado en C + simulador (no incluido) bajo UNIX. - Máquina virtual Mono
Presentación de la máquina virtual - Mono.
- Sistolicos
- Arquitecturas paralelas:
- Práctica1
Paralelización de un algorismo de ordenación con una computadora de multiples CPUs.
Realizado en C + OpenMP bajo UNIX.
- Práctica1
- Control Automático I: Conjunto de prácticas con cálculos manuales y demostraciones con matlab:
- Control Automático II: Conjunto de prácticas con cálculos manuales y demostraciones con matlab+simulink:
- Criptología:
- Redundancia
Cálculo de la redundancia del Catalan.
Realizado en C# con Mono - LFSR (Linear Feedback Shift Register)
Algoritmo de Berlekamp-Massey. Calcula el estado inicial de un LFSR y su polinomio de connexiones a partir de una secuencia mínima del LFSR.
Realizado en C# con Mono
- Redundancia
- Diseño de interfícies gráficas:
- Práctica1
Diseño de una interfaz gráfica a partir de unas especificaciones.
- Práctica1
Diseño de una solución a un problema utilizando una metodología determinada. - Práctica2
Diseño de una solución a un problema utilizando la metodología DARTS. - Práctica3
Diseño de una solución a un problema utilizando la metodología JSD.
- Práctica1
Simulador gráfico del tráfico de una ciudad con control de fluidez.
Realizado en ADA + GtkAda
- Ejercicios de examen
Ejercicios prácticos resueltos de examen.
Realizado en Lisp y Prolog
- Memoria asociativa
Memoria asociativa capaz de almacenar patrones de 1000 elementos.
Realizado en Java - Clasificación de datos
Implementación del algoritmo SOM (Self Organizing Map) para la implementación
de datos multidimensionales.
Realizado en Java
- Práctica
Implementación de un mini secuenciador MIDI de tiempo real.
Realizado en C sobre RTLinux
- Práctica 1
Sniffer que visualiza las cabeceras TCP, UDP y ICMP.
Realizado en C - Práctica 2
Descarga todas las imágenes de una web especificada.
Realizado en C - Práctica 3
Sistema (N cliente – 1 servidor) de compartición de ficheros.
Realizado en C - Práctica 4
Configuración de un servidor web (apache) con certificados de seguridad
y guia de uso de PGP/GnuPG.
- Práctica 1
Informe sobre como configurar un sistema de enrutado entre computadores
GNU/Linux. - Práctica 2
Teléfonia por internet (VoIP: Voice over IP) utilizando el protocolo RTP y creando un servidor que soporte un protocolo muy similiar a SIP.
Realizado en C, GTK y usando las librerias RTP de vovida (incluidas).
Curso 2004-2005
- Apuntes:
- Compiladores I:
- Compilador
Compilador de miniAda (ada reducido). Analizador léxico, semántico y sintactico.
Realizado en C + Flex + Bison bajo UNIX.
- Compilador
- Compiladores II:
- Compilador
Compilador de miniAda (ada reducido). Generación de código intermedio.
Realizado en C + Flex + Bison bajo UNIX.
- Compilador
- Sistemas informáticos I:
- Simulador robot en marte
Simulador robot en marte con interficie 3D y comunicaciones entre estación base (tierra) y robot mediante red.
Realizado en C++ bajo DEV-CPP (MS Windows).
- Simulador robot en marte
- Desarrollo de aplicaciones Internet y Intranet:
- Práctica 1
¿Que es un framework?
Realizado en Inglés - Práctica 3
Diseño y implementación de un sistema de reservas de habitación de hotel con EJBs.
Realizado con J2EE - Práctica 4
Componente genèrico para el registro de usuarios.
Realizado en J2EE - Práctica Final
Implementación de una aplicación J2EE completa que utilice el componente de registro de usuarios y utilice JSPs siguiendo el patrón Modelo-Vista-Control.
Realizado en J2EE
- Práctica 1
- Ingeniería del Software III:
- Práctica 1
Cuestionario sobre redes.
Realizado en Inglés - Práctica 2
Implementación cliente/servidor de la operación “dividir” usando sockets.
Realizado en Java - Práctica 2.2
Diseño y implementación de un chat con RMI.
Realizado con Java - Práctica 2.3
Diseño y implementación de un chat con CORBA.
Realizado en Java - Práctica 2.4
Diseño y implementación de un chat con RMI over IIOP con callbacks.
Realizado en Java - Práctica 2.5
Cuestionario sobre el modelo de herencia y modelo de delegación de CORBA.
Realizado en Catalán - Práctica 3.1
Implementar un protocolo de sincronización por red de reloj.
Realizado en Java
- Práctica 1
Implementacion de un chat utilizando Remoting.NET y el máximo número de patrones de diseño posibles.
Realizado en Visual Studio.NET y C# - Práctica 2
Añadir Custom Attributes y Dinamic Proxy a la implementación del chat anterior.
Realizado en Visual Studio.NET y C# - Práctica 3
Utilizar la programación orientada a aspectos para modificar el comportamiento de un applet.
Realizado con Java y AspectJ - Práctica 4
Analisis del framework Spring.
Realizado en Inglés - Práctica 5
Uso de shared assemblies con GAC y componentes COM desde .NET.
Realizado en Visual Studio.NET y C#
- Práctica 2
Monitorización con sniffer.
Realizado en Catalán - Práctica 3
Diseño de un sistema de reglas (firewall).
Realizado con Firewall Builder - Práctica 4
Uso de utilidades de red y cuestionario.
Realizado en Inglés - Práctica 5
Detección de un escaneo de puertos.
Realizado con Snort - Práctica 6
Instalación de un Honeypot.
Realizado con Honeyd - Práctica final
Implementación de un sistema complejo con zona demilitarizada (DMZ), firewall, honeypod y reportes de actividad con snort.
Realizado en Catalán
- Práctica 1
Control de un brazo robotizado CRS A255 para que sea capaz de preparar, servir y ofrecer una copa de cava.
Realizado en RAPL - Práctica 2
Diseño e implementación de un planificador de movimientos para determinar las trayectorias de 7 aviones del ejercito del aire en diversas formaciones.
Realizado con Visual Studio.NET, C# y SDL.NET
- Práctica 1
Implementación de generadores aleatorios Fibonacci, Randu y GCL.
Realizado en Mono y C# - Práctica 2
Analizar 7 ficheros que funcionan con Rockwell Arena.
Realizado en Catalán - Práctica 3
Diseñar dos simuladores para comparar un sistema monoprocesador multiusuario i un sistema multiprocesador multiusuario.
Realizado con Rockwell Arena - Práctica 4
Diseñar un sistema multiprocesador de 128 CPUs con 3 tipos de trabajos (pequeños, medianos y grandes).
Realizado con Rockwell Arena