Este curso presenta el diseño y análisis de estructuras de datos fundamentales, incluyendo ejemplos de aplicaciones de la vida real. Se comparan y contrastan diferentes implementaciones de estructuras de datos para comprender las ventajas y desventajas de cada una, promoviendo así el análisis de qué estructuras de datos pueden ser más adecuadas para una tarea en particular. Temas incluyen conjuntos, listas encadenadas, pilas, recursión, colas, ordenamiento, árboles binarios de búsqueda, tablas de dispersión y montículos.