Universidad de Costa Rica
Escuela de Ciencias de la Computación e Informática
CI2413 - Desarrollo de Aplicaciones para Internet
II semestre 2011. K,V 15:00-17:00.

Profesor Jeisson Hidalgo-Céspedes
Correo: jeissonh@gmail.com
Casillero: 27. Aula 305IF

Carta al estudiante

Descripción

Este curso es una introducción al desarrollo de aplicaciones informáticas que emplean la red Internet como medio de comunicación, con especial énfasis en el uso de tecnologías web.

En una primera parte del curso se cubrirán los temas básicos que toda aplicación web tendrá, como protocolos (HTTP), lenguajes de etiquetado de contenido (XML/HTML/XHTML), lenguajes de presentación (CSS) y lenguajes de comportamiento (JavaScript) en el lado del cliente. Se estudiará el papel del servidor web y cómo crear sitios dinámicos con programación tradicional (CGI) o lenguajes de "scripting" (PHP).

En una segunda parte se estudiarán tecnologías que mejoran la comunicación entre el usuario y la aplicación, como AJAX y los sistemas administradores de contenido (CMS). Opcionalmente se abarcarán temas avanzados, en función de la disponibilidad de tiempo y del interés de los estudiantes.

Objetivos

Al finalizar el curso el estudiante será capaz de:

  1. Conocer y utilizar recursos que provee la red Internet para desarrollar sitios y aplicaciones web que faciliten la comunicación entre los autores y los usuarios.
  2. Escribir aplicaciones eficientes y apegarse a los estándares internacionales para crear sitios web de calidad.
  3. Aplicar los conocimientos adquiridos en un proyecto práctico, incluyendo la publicación del mismo en un servidor público.
  4. Investigar sobre otras tecnologías web que ayuden a solucionar, de forma más eficiente, una necesidad particular o fortuita.

Contenido

Temas básicos:

  1. Introducción a la tecnología web.
  2. El lenguaje de marcado extensible XML.
  3. Contenido: El lenguaje de marcado de hipertexto (X)HTML.
  4. Presentación: Hojas de estilo en cascada CSS.
  5. Comportamiento: JavaScript.
  6. Aplicaciones CGI.
  7. El lenguaje PHP.
  8. Web 2.0: AJAX, HTML5.
  9. Administradores de contenido (CMS).

Temas opcionales. Serán escogidos por los estudiantes en función del tiempo disponible. Los siguientes son sólo sugerencias.

Metodología

El contenido teórico se impartirá en clases magistrales, antes de las cuales el estudiante deberá haber realizado un estudio sobre el tema a discutir. El profesor proveerá referencias u opcionalmente material y ejercicios que ayuden al estudiante en esta tarea. Tras discutir el tema en clase y aclarar dudas, se asignarán tareas cortas que el estudiante deberá realizar idealmente para la próxima clase.

Además el estudiante deberá realizar un proyecto programado tal como se describe en la Evaluación. La consulta será una hora antes de cada clase en el aula 305IF.

Evaluación

Por la naturaleza del tema del curso, el estudiante puede aprender mejor practicando que teorizando. Por esto un 60% de la evaluación se hará en tareas prácticas y el 40% en exámenes como se detalla a continuación.

Bibliografía

La principal referencia son las recomendaciones estándar del Consorcio Web (W3C) que están disponibles en su sitio web, y las documentaciones oficiales de cada tecnología particular. El estudiante puede emplear otras fuentes electrónicas o libros afines. Considérese la siguiente lista como sugerencia.

  1. CASTRO, Elizabeth. HTML, XHTML & CSS, Sixth Edition: Visual QuickStart Guide. Peachpit Press, USA, 2006.
  2. FLANAGAN, David. JavaScript The Definitive Guide, Sixth edition. O'Reilly, USA, 2011.
  3. GOLDBERG, Kevin. XML: Visual QuickStart Guide. Second edition. Peachpit Press, USA, 2009.
  4. GOLDFARB, Charles Y PRESCOD, Paul. Manual de XML. Prentice Hall, Madrid, España, 1999.