El objetivo de este curso es examinar los aspectos principales de la construcción de sistemas de software correctos y eficaces (DRAE: "eficacia" = Capacidad de lograr el efecto que se desea o se espera).
Temario: el del plan de estudios.
Desarrollo: para estudiar las fases de la creación de un sistema (especificación, análisis, diseño, implementación, validación y verificación) desarrollaremos un "framework" que permita la creación rápida y sólida -metodológicamente hablando- de sistemas cliente-servidor. Los estudiantes a su vez llevarán a cabo el mismo trabajo pero centrados en un sistema concreto (digamos, de ventas de CDs en Internet) que usará el "framework" general y aplicará los principios de desarrollo vistos en clase. Para todo esto se usará la metodología de Orientación a Objetos (OO), aunque nos concentramos en los principios generales y no en las particularidades de alguno de los dogmas existentes en el mercado.
Prerrequisitos: saber programar en algún lenguaje de alto nivel; tener nociones de OO. El curso se hace en Java, pero se puede usar otro lenguaje si se prefiere. Es deseable (no indispensable) también tener nociones de HTML, HTTP, y de bases de datos relacionales.
NOTAS IMPORTANTES
0: La clase comienza a las 11.05 y termina a las 11.55.
1: La asistencia al curso es obligatoria (se pasa lista al comienzo de la hora). Aunque se espera que los estudiantes asistan a cada clase, el requisito para tener derecho a la nota es solamente del 80% de asistencia a la teoría. La asistencia a los laboratorios no cuenta para aprobar pero sí representa el 20% de la calificación.
2: La evaluación se hace con base a un proyecto final (80%), y con la asistencia y desempeño en las prácticas de laboratorio (20%). A veces se toma en cuentan otros factores (mejor asistencia, participación) para redondear la nota.
Bibliografía: Como referencia general puede consultarse alguno de los textos estándar de IS (e.g. Sommerville) y de OO (v. gr. los "tres amigos", "la banda de cuatro"). Durante el curso típicamente se dan pilas de material complementario (notas, correos, ligas a sitios de interés, a veces una página dedicada y un blog).