CI2413 - Desarrollo de Aplicaciones para Internet
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 15:00-17:00.
Profesor Jeisson Hidalgo-Céspedes
Correo: jeissonh@gmail.com
Casillero: 04
Este curso pretende introducir al estudiante en el desarrollo de aplicaciones para Internet, especialmente en aquellas basadas en tecnología web. Este sitio contiene recursos de utilidad y enlaces hacia materiales a usar durante el curso.
Documentos
- Carta al estudiante. Contiene una descripción general del curso, sus objetivos, temario, evaluación y otros detalles. Es una especie de contrato entre el profesor, los estudiantes y la escuela.
- Desarrollo de aplicaciones web. Material de referencia del curso. Consta del material de rerencia utilizando en los laboratorios autodidácticos.
- Laboratorios. Enunciados de los laboratorios que el estudiante debe resolver durante el curso.
- Exámenes. Enunciados de los exámenes parciales.
- Proyecto. Enunciado del proyecto final del curso: Juego "Stop".
Ejemplos
- Tres doble u. Un sitio web pequeño compuesto de encabezado, menú, pie de sitio, sin redundancia de código utilizando server side includes (SSI) y XHTML5.
- La fortaleza del ingenio. Muestra como representar en XHTML y distribuir las zonas estructurales de un sitio web utilizando estilos en CSS. Solución al primer examen parcial.
- Bolsa de burbujas. El juego de estallar una bolsa de burbujas implementado en JavaScript. El tamaño de la bolsa varía de acuerdo a las dimensiones de la ventana del navegador.
- Examen autogenerado en JavaScript. Muestra cómo construir dinámicamente una página XHTML5 a partir de un objeto en JavaScript Object Notation (JSON). Solución al segundo examen parcial.
- Una sección de preguntas frecuentes. Muestra cómo modificar el árbol de nodos del documento (DOM) con JavaScript para mostrar u ocultar respuestas de una sección de preguntas frecuentes.
- Días feriados. Aplicación en PHP que muestra los días feriados del año en curso.
- Login. Muestra cómo autenticar visitantes y mantener rastro de ellos desde el servidor web mediante sesiones de PHP. [Código fuente].
- Chat masivo sin Ajax y versión con con Ajax. Muestra una pizarra de mensajes implementada en PHP, MySQL y AJAX. [Código fuente].
- Examen con preguntas aleatorias. Genera un examen con preguntas obtenidas aleatoriamente de una base de datos en MySQL. Solución al examen 03. [Código fuente].
Recursos de utilidad
La siguiente es una lista de recursos a utilizar durante el curso. Es conveniente tenerlos a mano, quizá estableciéndolos como marcadores de su navegador preferido.
- W3C Validator. Servicio gratuito del World Wide Web Consortium que advierte de errores de marcado. Es obligatorio que todas las tareas presentadas por el estudiante demuestren apego a los estándares usando este validador.
- Free Web Hosting. Permite comparar o buscar servicios de alojamiento web (web hosting) gratuitos.
- Web Style Guide de Patrick J. Lynch y Sarah Horton. Libro gratuito disponible en línea sobre diseño web.
- Pro Git. Libro libre de Scott Chacón sobre este sistema de control de versiones.
- Inkscape: Guide to a Vector Drawing Program. Libro libre de Tavmjong Bah sobre edición de gráficos vectoriales con Inkscape.
Software
El siguiente es un listado de programas que el estudiante puede encontrar de interés o utilidad en el cumplimiento de sus tareas en el curso.
- Aptana Studio. Es un IDE (Integrated Development Environment) que permite editar código web, como (X)HTML, CSS, JavaScript, PHP y otras tecnologías. Entre sus ventajas, es gratuito y provee autocompletado de código. Como desventajas, es de gran tamaño y no posee un editor visual.
- Code prettify. Una biblioteca JavaScript para formatear código fuente dentro de un documento web: asigna colores, números de línea y otros estilos.
- Editores de texto: Geany en Linux, TextWrangler en Mac OS X, Notepad++ en Microsoft Windows. Otros editores que no he probado: PSPad; CodeLobster.
- Navegadores: Google Chrome, Mozilla Firefox, Opera, Safari, y sus correspondientes en dispositivos móviles.