Los algoritmos son el corazón de la informática, y el tema tiene innumerables aplicaciones prácticas así como profundidad intelectual. Este curso es una introducción a los algoritmos para estudiantes con al menos un poco de experiencia en programación. El curso es riguroso, pero hace hincapié en el panorama general y la comprensión conceptual sobre la implementación de bajo nivel y los detalles matemáticos. Después de completar este curso, tendrá un mayor dominio de los algoritmos que casi cualquier otra persona sin un título de posgrado en la materia.
Los temas específicos de la Parte 2 incluyen: algoritmos codiciosos (programación, árboles de extensión mínima, agrupación, códigos Huffman), programación dinámica (mochila, alineación de secuencias, árboles de búsqueda óptimos, caminos más cortos), NP-completo y lo que significa para el diseñador de algoritmos, análisis de heurística, búsqueda local. Sobre el instructor: Tim Roughgarden es profesor en el Departamento de Ciencias de la Computación de la Universidad de Stanford desde 2004. Ha enseñado y publicado extensamente sobre el tema de los algoritmos y sus aplicaciones.