Este curso pretende llevar a cabo una revisión general de teoría y aspectos de aplicación relacionados con cada etapa de la evolución de tecnologías para el desarrollo de ambientes distribuidos. El curso dará un marco para la comprensión y estudio de las tecnologías distribuidas clásicas, actuales y las emergentes. El enfoque teórico práctico pretende que mediante la implementación de pequeñas pruebas de concepto el estudiante no solo comprenda la teoría sino que tenga la oportunidad de apreciar mejor las repercusiones que esa teoría tiene en la práctica.
Por las facilidades que ofrece el lenguaje de programación Java, será utilizado para ilustrar los conceptos vistos en el curso. Durante el curso se profundiza en el conocimiento de las principales tecnologías accesibles desde este lenguaje. Al inicio del curso se da una introducción al lenguaje Java y a aquellas características relevantes para la temática para quienes no conocen el lenguaje. Los estudiantes que ya conocen Java logran adentrarse en detalles que normalmente no son vistos en otros cursos, mientras que los que no lo conocen puedan lograr una buen manejo del mismo al final del semestre, algo que aunque ese no es el objetivo real del curso es un valor agregado del mismo.