Upload
joaquin-salvachua
View
875
Download
0
Embed Size (px)
DESCRIPTION
Descripción de las actividades de enseñanza de Ruby
Citation preview
RoR en la universidad Joaquín SalvachúaSantiago PavónJuan Quemada
Indice
• Para que aprender RoR
• Como enseñar RoR
• Como aprender RoR
• Experiencias
• En marcha .......
¿Quienes somos?
• Profesores del departamento de ingeniería de sistemas telemáticos (DIT).
• Centrados en diseño e implementación de protocolos y aplicaciones web.
• Necesidad de motivar a la gente.
No para enseñar a programar
• Enseñar a diseñar e implementar:
• Protocolos.
• Aplicaciones y servicios.
Evitar obsolescencia
Dudas
• Conceptos
• Tecnología
• Conceptos haciendo.
Para que aprender RoR
Para que aprender RoR
• Capacidad de desarrollar una aplicación entera sin perderse en los detalles.
• Enfoque de trabajo en equipo:
• Capaces de colaborar.
Experiencias Con C / C++
• Problemas con los punteros.
• 1 hora escribiendo 5 depurando.
• Aprendían muy pocos conceptos de aplicaciones. Concentrados en los detalles.
Experiencias con Java
• Los alumnos no aprender a programar:
• Googlean buscando un API que realice la tarea pedida.
• Perdida de perspectiva y conceptos.
No comprenden todo el sistema
Enseñar conceptos
• Problema con velocidad actual:
• Enseñar la última tecnología, que cambia al proximo año.
• Aprender haciendo:
• Han de experimentar como se realizan las cosas, de lo contrario todo queda en el aire.
Ruby como lenguaje
• El objetivo no es aprender a programar.
• Se supone, como el valor, que ya saben.
• Esto ya se realiza en otras asignaturas.
• El objetivo es conocer lo necesario para usar Rails.
Mostrar su uso
• Una clase de 2 horas para mostrar los aspectos más relevantes del lenguaje:
• Sintaxis.
• Tipado dinámico y de patos (Duck typing).
•
¿Enseñamos Ruby?
• No mucho.
• Lo justo para entender Rails.
• Ofertamos tutoriales online.
Como enseñar RoR
Conectivismo
• Otro “scaffolding”
• Proporcionamos el “andamiaje” de conocimiento donde entender los conceptos.
• Mas en Que se hace que Como se hace
Profesor como facilitador
• Ofrece conceptos.
• Ofrece tutoriales y resuelve dudas.
• Ayuda a volar solos. (entornos reales).
Guiar
Arquitectura REST
• Creemos que son conceptos adecuados.
• Sirve para profundizar en las aplicaciones web y el protocolo HTTP.
• Conceptos más que detalles.
Como aprender RoR
Motivación inicial
• Son capaces de ver un “screencast” y ver que pueden realizar una aplicación.
• No necesitan entenderlo todo.
• Pueden profundizar lo que deseen.
Aplicaciones reales vs de juguete
• Entender lo que hacemos.
Fuerte motivación
• Rapidamente “parece un sitio de verdad” no un juguete.
• Dedican mucho más esfuerzo e imaginación que la planificada.
• Deseo de aprender más.
Muchos continuan ..
• Salir del laboratorio
Lanzarse a un proyecto elegido por ellos
Diseño .... ejem...
Experiencias
Impartición RoR
Software Comunicaciones
• Especialidad de Telemática – 4º curso
• Temario:
• Sockets TCP, UDP, broadcast, multicast
• Concurrencia, Threads, java.nio
• Web: URI, HTTP, aplicaciones, applets
• RPC, RMI, Web Services
SWCM 2006-2007• Grupo experimental Ruby
• Comunicaciones con Ruby:
• Tcp, Udp, multicast, threads
• Aplicación Rails
• Desarrollo de aplicaciones web con Rails 1.2
SWCM 2007-2008• Actualización en el temario:
• Eliminados temas de comunicaciones con Ruby.
• Web:
• Aplicaciones con Rails 2 (5 horas)
• y (X)HTML, CSS, JS, AJAX, mySQL, ruby (nivelación)
Temario detallado• Introducción:
• Convenios, DRY,
• Demostración motivadora.
• Arquitectura:
• MVC, rutas, ficheros, …
• ActiveSupport, ActiveRecord, ActionView,
Desarrollo de Aplic. Web 2.0 con RoR
• Libre Elección – Tercer curso
• Temario:
• Diseño, usabilidad, …
• Web Básico: xhtml, javascript, css, ajax
• MySql
• Lenguaje Ruby
Ejemplos
Pan y Ajo
Academia
Calendario online
eventos
Ajedrez
Agenda
DEP. ING. SIST. TELEMÁTICOS; CURSO: INGENIERÍA DE SOFTWARE Pág. 5
2. Posibilidad de conocer gente como tú
DEP. ING. SIST. TELEMÁTICOS; CURSO: INGENIERÍA DE SOFTWARE Pág. 6
3.Ver los últimos mensajes de cualquier usuario
Laboratorio de SW Comunicaciones
• Especialidad de Telemática – 5º curso
• Temario:
• RTP
• Servidores HTTP
• XML-RPC
• SOAP
LSCM 2008-2009• Curso 2007-2008
• Grupo especial: MelonTube
• Curso 2008-2009
• Despliegue sobre Máquinas Virtuales:
• Apache + Passenger
• Mongrels
Aplicaciones y Sistemas Colaborativos en Web 2.0
• Postgrado
• Temario:
• ¿Qué es la web 2.0?
• Colaboración
• Usabilidad
• RoR
• Proyectos Fin de Carrera
• Tesis Doctorales
• Actividad en otros departamentos.
Experiencia inicial
• Grupo experimental en Software de comunicaciones.
• Voluntarios.
• La mayor parte del grupo continua colaborando con nosotros.
Ruby
• No perfecto para implementar protocolos de comunicaciones.
• Lento para algunos casos (RTP / UDP).
• Considerando la unión Ruby y RoR con Erlang.
Ayudar a elegir camino
• Web: fundamentos
En marcha .....
Usabilidad
• Centrarnos en el diseño del lugar web.
• Considerando contar la experiencia con interfaces FLEX + RoR.
•
Ruby
• Posible primer lenguaje.
• Discusión abierta.
Temas de investigación
• Redes sociales:
• Plugging
• Lenguajes de Workflow Rest.
Conclusiones• Interés elevado de los alumnos.
• Se le dedican pocas horas de docencia.
• Crear más asignaturas.
• Comenzando en los primeros cursos.
• Alumnos del grupos especial 2006 ya han terminado (o casi) la carrera.
Conclusiones
• Largo camino por recorrer.
• Hilo conductor para múltiples tecnologías.
Enlaces