Universidad de Costa Rica
Escuela de Ciencias de la Computación e Informática
CI2413 - Desarrollo de Aplicaciones para Internet
I semestre 2012. K,V 17:00-19: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 compone cualquier aplicación web 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 en 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 una introducción a 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 web con acceso 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. El lenguaje de programación PHP.
  7. Web 2.0: AJAX, HTML5.

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

Metodología

Se pretende que el curso sea de carácter práctico. El estudiante aprenderá a desarrollar sitios y aplicaciones web frente a la computadora con la asistencia del profesor. De esta forma, el estudiante es elemento activo en su aprendizaje, en lugar de ser el profesor frente al salón de clases.

Cada semana el estudiante debe resolver un laboratorio autodidáctico; esto es, su enunciado contiene información que explica la teoría de un tema del curso, y ejercicios que el estudiante debe resolver en su computadora. De esta forma el estudiante puede y se aconseja empezar la resolución del laboratorio en su casa. Al iniciar la siguiente clase, el profesor explicará muy resumidamente los aspectos más importantes del tema en curso ante todo el grupo, lo que permite a los estudiantes aclarar dudas colectivas. Después de esto, cada estudiante continúa la resolución del laboratorio individualmente. El profesor podrá asistir a los estudiantes en forma personal en esta fase.

Cuando un estudiante concluye el laboratorio, llamará al profesor, quien evaluará los ejercicios junto al estudiante, dándole retroalimentación inmediata. Una vez evaluadas las soluciones a los ejercicios, el estudiante podrá continuar con el próximo laboratorio. El estudiante debe subir una copia de su solución a la plataforma educativa (Moodle) de la Escuela de Computación.

Todos los laboratorios tendrán una fecha límite de evaluación. El estudiante que presente su solución antes de esta fecha, será premiado con 5 puntos extra. Si por el contrario, lo hace en forma tardía, será amonestado con una reducción de 10 puntos por día de retraso. En estas circunstancias el profesor revisará las soluciones presentadas en la plataforma educativa (Moodle), y el estudiante perderá la retroalimentación detallada.

Para demostrar el conocimiento teórico y práctico adquirido, el estudiante deberá realizar tres exámenes en computadora. Las fechas serán acordadas cuando los temas del examen hayan sido cubiertos. El estudiante además deberá realizar un proyecto programado hacia el final del curso.

La consulta será una hora antes de cada clase en el mismo laboratorio donde ésta tendrá lugar. El estudiante puede aprovechar la hora de consulta para aclarar dudas, avanzar con sus laboratorios o someter a evaluación sus soluciones.

Evaluación

Por la naturaleza del tema del curso, el estudiante puede aprender mejor practicando que teorizando. Por esto un 70% de la evaluación aplicará a ejercicios pragmáticos y el 30% 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.