Temas para las presentaciones

Tema Expositor(es) Fecha Liga
Árboles binarios de búsqueda: operaciones de inserción, borrado, balanceo, tipos de recorridos      
Bases de datos en Java      
Búsqueda lineal y búsqueda binaria: comparación      
Conjuntos: investigar como se implementan HashSet, LinkedHashSet y TreeSet      
Hashing: funciones hash y solución de colisiones      
Juegos en 3D: mostrar cómo se implementa un juego sencillo en 3D      
Lectura y escritura de archivos de datos estructurados (CSV, JSON, XML): comparación de los diferentes formatos en Java      
Listas ligadas: implementación de listas sencillas, dobles, circulares y doblemente circulares      
Métodos de ordenamiento: BubbleSort, InsertionSort, SelectionSort, Quicksort, HeapSort      
Patrón Model-View-Controller (MVC) en el diseño de GUIs en Java: demostrar la separación de datos, lógica e interface de usuario      
Patrones de diseño en Java: Singleton, Factory y Observer      
Peligros de la concurrencia: condiciones de carrera, deadlocks y soluciones, ilustrar errores comunes de hilos y técnicas de depuración      
Procesamiento de imágenes en Java: clases AffineTransformOp, ConvolveOp, RescaleOp      
Programación asíncrona y CompletableFuture: cómo crear una aplicación GUI responsiva que cargue datos de forma asíncrona.      
Programación funcional y la API Stream: explorar cómo los streams simplifican la iteración y la transformación de datos      
Recursividad y backtrack: ejemplos      

Notas:

El objetivo de este trabajo es investigar sobre el tema seleccionado y exponerlo en clase en unos 15 minutos.

El equipo debe estar presente durante la exposición y no dejarle todo el trabajo de exponer a una sola persona.

Parte de la tarea es entender el tema en general, las principales operaciones y mostrar seudocódigo.

Importante: antes de la exposición entregar la exposición en PDF para subirlo a la página del curso o enviar la liga si deciden usar otro servidor.

Rúbrica