Para añadir a lo que dijo Ken, la clase original como el mismo dice era sobre diferentes paradigmas en la programación (ver: Programming paradigm ). En otras palabras, se trataba de diferentes formas de pensar en la programación y se utilizaba un conjunto de lenguajes que ponían de relieve esos diferentes enfoques. Así, C se utilizaba para enseñar operaciones de bajo nivel (punteros, memoria, etc.) y programación procedimental. Java se utilizó para la programación orientada a objetos y la programación concurrente. Lisp se utilizó para la programación funcional y la recursividad. Por lo general, se realizaban una o dos tareas/proyectos para cada lenguaje. Algunos otros lenguajes se utilizaban para cosas más específicas o simplemente para dar una visión más amplia, sin embargo estos no solían tener una tarea.
Mi memoria es un poco irregular ya que ha pasado un tiempo, pero recuerdo que en la práctica era principalmente C y luego Java con algunas cosas más pequeñas en el medio. El 106 de la época era en C++ por lo que los alumnos que tenían que aprender Java por primera vez ocupaban una buena parte del curso.