ACTIVIDAD
1. DATOS ACADÉMICOS
Asignatura/Módulo:
Programación Orientada a Código: IS205
Objetos II
Docente: Ing. Miguel Angel Pico Quijije Mg.
SEDE: Manabí
Nivel de estudio: Grado
Carrera: Software
Modalidad: Presencial
Periodo Académico: 2024-1
Nivel: SEGUNDO A
Información del Estudiante
Apellidos y Nombres:
Evaluacion_Practica_3P: POO II con enfoque en hilos y sockets
1. OBJETIVO
En este trabajo se propone demostrar la capacidad de diseñar, implementar y depurar
una aplicación Java multihilo que utilice sockets de red para resolver un problema real,
aplicando los principios de la programación orientada a objetos en java.
2. METODOLOGÍA
El trabajo se desarrollará mediante la realización de ejercicios prácticos que involucren
la creación de aplicaciones Java que utilicen hilos y sockets. Se propone una lista de
ejercicios con diferentes niveles de dificultad para adaptarse a las habilidades de cada
estudiante.
3. DESCRIPCIÓN DE LA ACTIVIDAD
A continuación, se presenta una lista de ejercicios propuestos:
1. Simulación de un semáforo
Objetivo: Crear una simulación de un semáforo utilizando hilos para controlar
los cambios de luz.
Puntos a realizar:
o Crear tres hilos: uno para la luz roja, otro para la amarilla y otro para la
verde.
o Cada hilo cambia el estado de su luz correspondiente después de un
tiempo determinado.
o Implementar un mecanismo de sincronización para garantizar que solo
una luz esté encendida a la vez.
o Crear una interfaz gráfica simple para visualizar los cambios de luz.
2. Juego de adivinanzas multijugador
Objetivo: Desarrollar un juego donde el servidor genera una palabra aleatoria y
los clientes intentan adivinarla letra por letra.
Puntos a realizar:
o Servidor:
Selecciona una palabra aleatoria de un diccionario.
Recibe las letras adivinadas de los clientes.
Informa a todos los jugadores sobre el estado del juego (letras
correctas, incorrectas, intentos restantes).
o Cliente:
Permite al usuario ingresar letras.
Muestra el estado actual del juego y las letras adivinadas.
3. Reloj digital multi-hilo
Objetivo: Crear un reloj digital que muestre la hora, minutos y segundos en
diferentes áreas de la pantalla, utilizando hilos separados para cada componente.
Puntos a realizar:
o Crear tres hilos: uno para las horas, otro para los minutos y otro para los
segundos.
o Cada hilo actualiza su componente correspondiente en la interfaz gráfica.
o Utilizar un temporizador para actualizar la hora de forma periódica.
o Implementar un formato de 12 o 24 horas.
4. Simulación de una carrera de autos
Objetivo: Simular una carrera de autos, donde cada auto es representado por un
hilo.
Puntos a realizar:
o Crear múltiples hilos, cada uno representando un auto.
o Cada hilo avanza una distancia aleatoria en cada iteración.
o Implementar un mecanismo para determinar el ganador de la carrera.
o Crear una interfaz gráfica simple para visualizar la carrera.
5. Juego de adivinar un número:
Objetivo: Crear un juego simple donde el servidor genera un número aleatorio y
el cliente intenta adivinarlo.
Puntos a realizar:
o Generación del número aleatorio: El servidor genera un número aleatorio
dentro de un rango específico (por ejemplo, entre 1 y 100).
o Interfaz de usuario del cliente: El cliente presenta una interfaz simple
(consola o ventana) donde el usuario ingresa sus intentos.
o Comunicación cliente-servidor: El cliente envía sus intentos al servidor y
el servidor responde indicando si el número es mayor, menor o si acertó.
o Manejo de turnos: El juego se desarrolla por turnos, donde el cliente
realiza un intento y el servidor responde.
o Finalización del juego: El juego termina cuando el cliente acierta el
número, o después de un número máximo de intentos.
6. Búsqueda de un número en una lista
Objetivo: Implementar una búsqueda secuencial en una lista de números,
utilizando múltiples hilos para dividir la búsqueda en subtareas.
Puntos a realizar:
o Crear múltiples hilos, cada uno buscando el número en una porción de la
lista.
o Utilizar una estructura de datos concurrente para compartir los resultados
de la búsqueda entre los hilos.
o Implementar un mecanismo para detener la búsqueda cuando se
encuentra el número.
En el documento se incluirá el código y las capturas de ejecución.
4. RUBRICA DE EVALUACIÓN
Título de l
a actividad: POO II con enfoque en hilos y sockets
NIVEL DE LOGRO Selecciona el nivel
Nivel 1 (suspenso) Nivel 2 (aprobado) Nivel 3 (notable) Nivel 4 (sobresaliente)
Criterios (0-10%) (25-35%) (50-65%) (80-100%) Nivel Puntuación
El código no está bien organizado, El código está organizado de El código está organizado de El código está organizado de manera
es difícil de leer y contiene errores. manera básica, pero puede ser manera clara, es fácil de leer y impecable, es fácil de leer y no contiene
CRITERIO 1: mejorado en términos de contiene pocos errores. errores. Nivel
2.50
CODIGO legibilidad y corrección de 4
errores.
El uso de hilos y sockets no es El uso de hilos y sockets es El uso de hilos y sockets es El uso de hilos y sockets es impecable,
CRITERIO 2:
adecuada para el problema o básica, pero se puede mejorar en adecuada para el problema y se eficiente y clara, y utiliza las estructuras Nivel
USO DE HILOS 2.50
presenta errores. términos de eficiencia y claridad. utiliza de manera eficiente. de control adecuadas para el problema. 4
Y SOCKETS
No se utilizan los tipos de diálogos Se utilizan algunos tipos de Se utilizan los tipos de diálogos Se utilizan los tipos de diálogos de
CRITERIO 3:
adecuados para el problema o se diálogos básicos, pero se pueden adecuados para el problema y se manera impecable, creativa y eficiente, Nivel
TIPOS DE 3.00
utilizan de manera incorrecta. utilizar otros tipos más utilizan de manera correcta. y se seleccionan los tipos de diálogos 4
DIÁLOGOS adecuados. más adecuados para el problema.
La presentación del ejercicio es
La presentación del ejercicio es La presentación del ejercicio es
CRITERIO 4: La presentación del ejercicio es impecable, organizada y fácil de
incompleta o tiene algunos completa, organizada y fácil de Nivel
PRESENTACIÓ incompleta, desordenada y difícil entender, con una documentación clara, 2.00
errores de organización. entender. 4
N GENERAL de entender concisa y completa.
PUNTUACIÓN TOTAL 10.00
FORMACIÓN DE GRADO
CARRERA DE SOFTWARE
5. ACTIVIDAD:
Problema # _:
Codigo:
Ejecución:
6. BIBLIOGRAFÍA
Bibliografía