Las prácticas de programación desarrolladas en cursos previos brindan una experiencia concreta en la resolución de problemas utilizando lenguajes de programación particulares. Esta experiencia, brinda también al alumno una primera aproximación a distintos aspectos y construcciones de los lenguajes de programación utilizados y los paradigmas a los cuales estos lenguajes representan.
Este curso tiene como objetivo dar una visión más global de los lenguajes, que profundice más allá de sus “características” y se exploren los principales conceptos de diseño subyacentes y su efecto sobre la implementación de los lenguajes, la identificación de los principios subyacentes a los principales paradigmas en lenguajes de programación y una comparación crítica entre los mismos. Es decir que se brindan las herramientas necesarias para enfrentar las necesidades presentes y futuras a la hora de elegir y usar de manera adecuada un lenguaje de programación.