Estructuras de datos: listas dinámicas y punteros con Java
What you'll learn
- Comprender qué son estructuras de datos dinámicas
- Desarrollará Listas Simplemente enlazadas (LSE)
- Desarrollará Listas Doblemente enlazadas (LDE)
- Aprender cómo funcionan los punteros en memoria
- Diseñar e implementar un juego de Dominó
- Aprenderá a aplicar los conceptos vistos en un juego de dominó
Requirements
- Conocimiento básico del lenguaje de programación Java y su sintaxis
- Conocimiento de conceptos básicos de Programación Orientada a Objetos
- Conocimiento de métodos, ciclos, atributos, estructuras de selección como if/else
Description
En este curso aprenderá sobre estructuras de datos básicas al abarcar los fundamentos de las listas dinámicas de una dimensión. También, se desarrollará un proyecto utilizando Programación Orientada a Objetos (POO) en Java lo cual ayudará a poner en práctica los temas vistos a lo largo del curso.
En el curso se explicarán los principios básicos de las estructuras de datos para crear listas dinámicas basadas en punteros. Además, se desarrollarán Listas Simplemente Enlazadas (LSE) y Listas doblemente Enlazadas (LDE) junto con sus métodos más comunes para realizar operaciones tales como:
Insertar
Eliminar o borrar
Modificar
Obtener un elemento en una posición
Imprimir los elmentos en una lista
Obtener el tamaño de una lista (cantidad de elementos que la componen)
Entre otros
De igual manera, se explicará la generalización de las estructuras para poder crear LSE y LDE emplantillada, utilizando tipos de datos genéricos de forma que se pueda instanciar y crear una lista de cualquier tipo de dato u objeto que se desee.
Para poner en práctica todos los conceptos vistos durante las primeras secciones, se desarrollará un juego sencillo de dominó en modo hot-seat (será PvP o jugador contra jugador), en donde se creará una interfaz utilizando JOptionPane. Se implementarán distintos tipos de listas para ejemplificarlas en un proyecto manteniendo la cantidad mínima de elementos duplicados en las listas y de esta forma maximizando el uso de la memoria en el programa.
Who this course is for:
- Desarolladores de Java con interés en aprender sobre estructuras de datos
- Desarrolladores de software que quieran aprender acerca de punteros
- Programadores que deseen reforzar la Programación Orientada a Objetos (POO)
Instructor
Soy máster en Computación. Toda mi vida me ha apasionado la programación. Me encanta crear aplicaciones y videojuegos que las personas puedan disfrutar y actualmente me gusta enseñar y compartir con estudiantes de diversas carreras.
Estoy comenzando a emprender en el mundo virtual de la enseñanza y me siento muy emocionado por el aprendizaje que puedo ayudar a transmitir a todos mis estudiantes.
Formación académica y profesional
En cuanto a mi formación, obtuve mi bachillerato al (2009) y mi maestría al (2013) en Ciencias de la computación e informática en la Universidad de Costa Rica y desde el 2009 soy profesor de distintos cursos de la carrera de Computación de dicha institución.
Durante 5 años trabajé como desarrollador de juegos de video en una empresa local donde tuve la dicha de ser parte de proyectos para Disney, Nickelodeon, Zynga, entre otros, así como IP propio de la empresa. Dado que siempre he tenido una gran pasión por los juegos de video, me mantengo en constante actualización e investigación, lo que me ha llevado a escribir artículos publicados en Springer sobre frameworks para poder generar juegos.
Actualmente tengo 7 años como desarrollador y manager en una empresa relacionada con educación y trabajo como desarrollador independiente en un juego de video y en la creación de varias aplicaciones para dispositivos móviles.