Revista Universitaria en Telecomunicaciones, Informática y Control. Volumen 1. N° 1. Marzo 2012. ISSN 2227-3735 Versión impresa
Child Programming: Una Estrategia de Aprendizaje y Construcción de Software Basada en la Lúdica, la Colaboración y la Agilidad Hurtado Julio Ariel, Collazos César Alberto, Cruz Samith Tatiana, Rojas Oscar Eduardo Facultad de Ingenieria Electronica y Telecomunicaciones, Universidad del Cauca Popayán, Colombia {ahurtado, ccollazo, scruz, oerojas}@unicauca.edu.co (Recibido el 28 de septiembre de 2011, Aceptado el 02 de diciembre de 2011) Abstract –Children are the future to any culture. However, this future is tangible if a generation works hard for educating in a suitable way the next generation. Nowadays, the software industry has a great number of problems and challenges. Because, this industry will be supported by the next generation, is important to considerer the current children as the future key actors to any industry. Therefore, this paper proposes Child Programming where a software development model is recreated. This model has been defined for a double goal, first, the model offers a workspace where children can develop their logic, mathematics and social skills and second, to give to the children a freedom environment to enable that new work models emerge to challenge the software industry problems. ChP includes a playful, collaborative and agile development model, to obtain relevant results for these searches. Currently, ChP is a proof of concept while a first case study is being performed. Keywords: Collaborative Learning, Software Construction, Playful
Resumen – Los niños representan el futuro para todas las culturas. Sin embargo, para que ese futuro se haga tangible, una generación debe esforzarse por formar adecuadamente la siguiente. Hoy día se cuenta con una industria de software llena de retos y dificultades. Dado que esta industria será soportada por la siguiente generación, es relevante considerar los niños de hoy como los actores claves de ese futuro para cualquier industria. Por ello, este artículo propone un modelo llamado Child Programming (ChP) en el que se recrea un ambiente de desarrollo de software para los niños con una doble búsqueda, por un lado, ofrecer un espacio a los niños para desarrollar sus habilidades lógico-matemáticas y sociales, y por otro, darles la libertad para facilitar que emerjan de este ambiente de desarrollo, nuevos modelos de trabajo que respondan a los retos de la industria de software. ChP plantea un modelo de desarrollo basado en la lúdica, la colaboración y principios ágiles, los que en conjunto permitirán obtener resultados relevantes en dichas búsquedas. Actualmente, ChP está en su prueba de concepto y alrededor de éste se está adelantando un primer caso de estudio. Palabras clave: Aprendizaje Colaborativo, Construcción de Software, Lúdica.
I.
INTRODUCCIÓN
La construcción de software requiere que se desarrollen habilidades para poder concebir problemas y abstraerlos de manera tal que puedan ser resueltos satisfactoriamente. Este esquema implicaría que desde muy pequeños los desarrolladores de software comiencen a utilizar estrategias adecuadas para formar esas habilidades. Los avances tecnológicos están provocando cambios continuos en el modo de vida no solo de los adultos, sino también en el de los niños. El modo en que los niños aprenden, juegan y se comunican está cambiando, incluso podríamos decir que el cambio en ellos es más rápido y acusado que en los adultos. La carencia de patrones predefinidos, el interés por experimentar con nuevos artefactos y explorar nuevos entornos, hace que los niños estén muy abiertos a nuevas ideas, ideas que en nuestro entorno se esconden tras las nuevas tecnologías. Las virtudes potenciales
de estos nuevos entornos hacen que sea especialmente recomendado su uso en aquellas facetas de la enseñanza que tradicionalmente se han considerado pesadas o poco atractivas. Para alcanzar los objetivos establecidos, el proceso educativo necesita aumentar la motivación, es decir, que el alumno se interese por lo que se le enseña. Las nuevas tecnologías de la información ofrecen nuevas herramientas que pueden modificar completamente el modo en que se concibe actualmente la enseñanza. Pero el diseño de estas herramientas tiene una especial complejidad dado el tipo de usuarios al que va dirigido, usuarios con menor capacidad expresiva y que están adquiriendo algunas de las habilidades de los adultos. En este tipo de entornos, junto a la dificultad de extraer los requerimientos funcionales, tal vez el mayor problema estribe en el diseño de la interfaz de usuario. Los niños tienden a ser selectivos y a la vez exigen más en cuestiones de interfaces de programas de computador que los
9
Revista Universitaria en Telecomunicaciones, Informática y Control. Volumen 1. N° 1. Marzo 2012. ISSN 2227-3735 Versión impresa
mismos adultos. Dentro de los criterios de lo que se suele denominar “usabilidad”, el atractivo de la interfaz y su facilidad de manejo son tal vez los parámetros más relevantes. La creación de software para niños va generalmente unida al binomio: juegos de computador (entretenimiento) e interfaces visuales (interfaces muy atractivos y con grandes aportaciones gráficas). Estas connotaciones lúdicas y el atractivo de sus interfaces hacen de este tipo de herramientas especialmente interesantes para el ámbito educativo. La motivación juega un papel muy relevante en el proceso de aprendizaje. Aunque existe numerosos estudios sobre la importancia de la motivación, hay un “escaso conocimiento científico sobre los factores que afectan a la motivación, disfrute y satisfacción” [1]. En los últimos tiempos han aparecido trabajos que sugieren que los juegos de computador aumentan la motivación de los niños en el aprendizaje en las escuelas [1][2]. Algunos llegan más lejos, e indican que el juego es el equivalente del trabajo de los adultos [3]. A través del juego, los niños crecen, ejercitan habilidades físicas, descubren cómo es el mundo, desarrollan las habilidades cognitivas y aprenden a interactuar con los demás [3] . Pero la utilización de juegos de computador aporta nuevas características que favorecen aún más el proceso de aprendizaje [4]. Como indican Sedighian et. Al. [5] los juegos de computador aportan: comprensión con significado, establecimiento de metas, sentido de éxito, asociación a través del placer, atracción, estímulos sensoriales, etc. Varios de estos aportes se consiguen gracias al atractivo que los juegos de computador, con sus mundos 3D y sus interfaces visuales, provocan en los niños. Otro factor importante en el diseño de software para niños es la metodología de desarrollo utilizada y la participación del usuario en dicho proceso. En este ámbito podemos encontrar desde las visiones más pesimistas en cuanto a la participación de los usuarios en el diseño, hasta llegar a “user-centred” o “participatory design”. Dentro del ámbito del software para niños, recientemente, han aparecido nuevos enfoques: informant design [6] o cooperative inquiry [7]. Informant design entiende el proceso de diseño como un trabajo interdisciplinar en el que tienen cabida niños, profesores, especialistas en educación y diseñadores de gráficos y software. Cada uno de estos colectivos participan en el proyecto de manera diferente, facilitando un tipo de información. Así el niño podrá informar de qué cosas son las que le mantiene motivado, el profesor podrá contribuir informando sobre la dificultad que han observado en los niños para aprender con los materiales tradicionales y cómo puede incorporarse las tecnologías de la información en esos casos. De forma similar los especialistas en educación podrán facilitar qué clase de aprendizaje puede ser utilizado con mayor efectividad en el diseño de entornos de aprendizaje interactivo. A partir de dicha información los diseñadores de software serán los encargados de buscar la mejor forma para recrear dichos entornos interactivos. Por otra parte, el cooperative inquiry [7] busca una mayor integración de los niños en proceso de diseño, pretendiendo formar un equipo de diseño Inter-generacional. En este caso se parte de la premisa de que los niños pueden y deben asumir el papel que
Hurtado, J. A., et al.
otros usuarios juegan en el diseño de sistemas para adultos, ya que ellos pueden contribuir de “igual a igual” en el proceso de diseño, gracias a su experiencia como usuarios de tecnología en la actualidad y en el futuro. El desarrollo de software no es una actividad sencilla de realizar, requiere lograr una experticia que se adquiere con la práctica, y sobre todo con una concepción lógica bastante fundamentada. Esta actividad esencialmente ha sido realizada de manera individual, y es importante anotar que hoy en día se requiere la experticia de muchas personas para resolver problemas tan complejos como los que se están presentando. Por esta razón es necesario trabajar de forma colaborativa para lograr una calidad más aceptable en los productos desarrollados y comenzar a involucrar a los desarrolladores desde edades muy tempranas. Este artículo presenta un mecanismo para integrar a personas desde edades muy tempranas en mecanismos para desarrollo de software de alta calidad de manera lúdica y colaborativa. En la siguiente sección se presentan algunas experiencias desarrolladas con el objetivo de involucrar a las personas en el desarrollo de software para lograr habilidades lógicas de programación. La sección 3 describe el entorno bajo el cual hemos desarrollado nuestro modelo. Posteriormente, se describe el modelo conceptual utilizado y finalmente, se dan algunas conclusiones y se aborda el trabajo futuro. II.
TRABAJOS RELACIONADOS
El aumento vertiginoso de niños que comienzan a usar el computador en sus escuelas o colegios hace que comience a pensarse en utilizar estrategias adecuadas para generar habilidades de programación a edades muy tempranas. Desafortunadamente, muchas experiencias no han sido exitosas, debido el mecanismo utilizado. En la década de los ochenta, el uso de las computadoras en la escuela se había extendido no sólo en los Estados Unidos sino en Europa. Sin embargo, los maestros no estaban tranquilos, unos pensaban que es un medio excesivamente complejo, otros sentían desconfianza. Surge así el mito de que es necesario saber programación y se produce un distanciamiento entre los maestros y las computadoras. Los pocos resultados publicados sobre el uso de la computadora en las escuelas, muestran que se dio un fenómeno doble: los centros educativos de clase mediabaja utilizaban la computadora con programas educativos que eran dados con la computadora, mientras que los centros de clase media-alta se distinguieron por el interés en programar. Pattis et. Al. diseñó un entorno muy agradable de usar denominado Karel the Robot. “Karel el Robot" es un lenguaje de programación para programar a un robot (Karel) mediante instrucciones sencillas y bien estructuradas, fáciles de entender y utilizar sin la necesidad de manejar algún otro lenguaje de programación. Karel vive en su propio mundo, formado por calles, avenidas y bardas por las que deberá trasladarse para recoger trompos, guardarlos y llevarlos a otro lugar, dependiendo de cuál sea su objetivo. Karel es una herramienta que promueve la creatividad y la lógica de una manera ordenada. Lo que crea una base fuerte para el aprendizaje de la programación. Las instrucciones que utiliza son sencillas, por lo que no requieren un estudio profundo para su comprensión [8].
10
Child Programming: Una Estrategia de Aprendizaje y Construcción de Software Basada en la Lúdica, la Colaboración y la Agilidad
Otra experiencia importante es la planteada por Papert, cuando en 1980, da a conocer una serie de reflexiones sobre el uso de la computadora en la educación y promueve el lenguaje LOGO. Las hipótesis de Papert son dos: los niños pueden aprender a usar computadoras y este aprendizaje puede cambiar la manera de aprender otras cosas. La propuesta de Papert es diametralmente opuesta a lo que se venía haciendo con las computadoras. Con el lenguaje LOGO, Papert pretende que el niño programe la computadora para que ésta haga lo que el niño desea. En esencia, el LOGO le proporciona al niño un ambiente gráfico en el que hay una "tortuga" que puede obedecer una serie de instrucciones básicas como avanzar una distancia determinada, girar un cierto ángulo hacia la derecha o la izquierda, dejar o no dibujado un trazo por el camino que recorre; y si la pantalla de la computadora es en color, se puede variar el color del trazo de la tortuga. Pero además, la computadora puede aprender secuencias de instrucciones y repetirlas bajo condiciones lógicas predeterminadas [9].
Esa infraestructura es la que hemos denominado Child Programming, un ambiente integral de desarrollo de software [11] para niños que facilita el aprendizaje y la práctica en desarrollo de software desde una perspectiva colaborativa y lúdica, el cual brinda una oportunidad laboral futura a jóvenes de bajos recursos y que se espera servirá de modelo para la enseñanza de desarrollo de software en las instituciones de modalidad tecnológica. La Figura 1 presenta los principales componentes.
Existen además múltiples experiencias del uso a temprana edad de mecanismos para enseñar a programar. RoboTech Center ha diseñado un programa tendiente a ejercitar la imaginación a través del diseño de aplicaciones de modelamiento en 3D [10]. Ellos ofrecen cursos altamente interactivos como “Explore Robots”, “Robotics Communication-Explore Programming”, “Computer Animated 3D Digital Movie Design Explorations” and “Action Adventure with 3D Game Design”. Sin embargo, ninguno de estos modelos plantea estrategias de trabajo colaborativo, ni aprovecha la simplicidad de los enfoques ágiles para el desarrollo de software en equipos. La siguiente sección describe el modelo conceptual de nuestra propuesta. III.
ARQUITECTURA CONCEPTUAL DE CHILD PROGRAMMING
Child Programming nace de las necesidades de niños de bajos recursos, gran población y de la prioridad tan grande que esto implica para el futuro de la sociedad de Latinoamericana, con el objetivo de gestar estrategias de aprovechamiento de los recursos informáticos que la tecnología actual ofrece. Este esfuerzo nace geográficamente en la ciudad de Popayán, Colombia, con el fin de fortalecer a largo plazo la industria del conocimiento en la región. Este aprovechamiento de los recursos, debe ir desde la lúdica, pasar por el uso adecuado de los recursos informáticos en su quehacer diario y podría llegarse a un punto tal, que su aprovechamiento sea en el área misma de la informática como oportunidad económica y social para estos niños y jóvenes que pronto harán parte de la población productiva. Pensando en cómo llegar hasta este punto nos planteamos la siguiente pregunta ¿Cómo generar una oportunidad económica futura para los niños en el área de desarrollo de software? Existe la posibilidad de crear una infraestructura tecnológica que permita formar niños en el área de desarrollo de software, de tal forma que esto permita: brindar una oportunidad laboral a jóvenes de bajos recursos, demostrar que el desarrollo de software es arte e ingeniería y que puede iniciarse en edades tempranas, evaluar el impacto que tiene la formación en desarrollo de software en estas etapas y por supuesto, potenciar aún más la industria del software regional?.
Hurtado, J. A., et al.
Figura 1. Arquitectura conceptual de Child Programming
Child Programming incluye: una estrategia integrada para la enseñanza del desarrollo de software en niños evolucionable en una estrategia alternativa para fortalecer una industria regional de conocimiento con competencias internacionales, un modelo de enseñanza-aprendizaje en el desarrollo de software orientado a niños, una metodología de desarrollo de software orientada a niños, un entorno de desarrollo integrado para la construcción de software en el ambiente de Child Programming y un programa de formación basado en Child Programming. La arquitectura conceptual incluye los siguientes elementos:
La base conceptual de desarrollo de software para niños, la cual deberá ser la base sobre la cual se apoye toda la estrategia, esta base incluye el pensamiento y la abstracción, creatividad, el desarrollo intelectual del niño, su comportamiento individual y el comportamiento grupal. Esta parte en especial ha requerido el trabajo de gente experta en dos disciplinas, la psicología infantil y los paradigmas de construcción de software, con el fin de obtener los enfoques, los principios y valores sobre los cuales se basa el ambiente. El rol que la abstracción juega en esta
11
Revista Universitaria en Telecomunicaciones, Informática y Control. Volumen 1. N° 1. Marzo 2012. ISSN 2227-3735 Versión impresa
propuesta es detallado más adelante en esta misma sección.
Tres principios fundamentales para soportar la forma de desarrollo de software en un ambiente educativo: la lúdica, la colaboración y la agilidad. Estos principios fundamentales son el núcleo de este modelo y son descritos en mayor detalle más adelante en este artículo.
Un proceso de desarrollo basado en agilidad que guía a los niños en un esfuerzo colaborativo de desarrollo de software. Que mantenga de manera visible las rutas de actividades a seguir, y que sin forzarlo a seguirlo, lo motive a seguir unos pasos que le organicen el flujo de actividades y le permita definirlo y mejorarlo a medida que su experiencia se lo permita. Este proceso incluye a su vez o
Las herramientas de colaboración y de tipo metodológico, fundamentadas en la base conceptual, en modelos de colaboración y de desarrollo de software, sirven de soporte al aprendizaje y ejecución por parte de los niños de las “labores” de construcción de software.
o
Un ambiente de desarrollo basado en lúdica, brinda un espacio de trabajo adecuado al mundo de los niños, enriquecido e ilimitado en cuanto a las posibilidades que una mente creativa puede tener. Este ambiente debe posibilitar unas rutas de trabajo, unas capacidades para el modelado, construcción y prueba de software, las herramientas de comunicación, metodológicas y de colaboración entre varios individuos para soportar el trabajo colaborativo.
A. Los aspectos lúdicos y colaborativos de Child Programming El gran cambio sufrido por el aprendizaje tiene que ver con un cambio mayor de paradigma del conocimiento. Hoy estamos transitando de un paradigma centrado en la transmisión de información y conocimiento, la repetición y la memorización, a un paradigma centrado en la exploración, la experimentación, el ensayo y error, la creatividad y la innovación. Es el aprendizaje por descubrimiento el eje central de los procesos educativos que se realizan hoy en día [12]. Por esta razón, pensamos que el incorporar modelos colaborativos podría ayudar a la construcción de esos conocimientos de forma más adecuada. Por esto, nuestra propuesta parte de suponer que estrategias colaborativas pueden actuar como un catalizador en la construcción del aprendizaje significativo dentro del aula de clase. Además, un diseño educativo en el que la tecnología se emplee para mediar entre el conocimiento y el alumnado será mejor en la medida que ayude a “aprender haciendo”. De esta forma el alumno aprenderá más cuando sea capaz de generar su propio conocimiento desde la práctica y la interacción con otros. Los mecanismos de aprendizaje son los responsables de activar los procesos cognitivos que producen el aprendizaje en los estudiantes que forman parte de una situación de aprendizaje colaborativo. Lamentablemente, estos mecanismos
Hurtado, J. A., et al.
no siempre se activan en la colaboración [13]. Por esta razón autores como Johnson & Johnson [14] han definido la existencia de algunos elementos imprescindibles que se deben dar en la colaboración para que el aprendizaje tenga lugar de manera efectiva. El número exacto, nombre y orden de estos elementos varía de uno a otro autor. Sin embargo, casi todos coinciden en que, de una manera u otra, los elementos listados a continuación son esenciales: Interdependencia Positiva, Igual Participación, Responsabilidad Individual [15]. De esta forma, en Child Programming se incorporarán estrategias que conlleven a una verdadera colaboración, haciendo uso de técnicas colaborativas comúnmente usadas como: JIGSAW, Cooperative Controversy, Student Team Learning, entre otras [16]. B. Los niños en la construcción de software: el papel de la abstracción Los niños son el futuro de todos los pueblos actuales. Los niños desarrolladores de software, que extiendan su conocimiento y experiencia, probablemente opten por convertirse en gestores, arquitectos, ingenieros y constructores de software. ¿Qué paradigmas de construcción de software tendrán que adoptar? ¿Cuál es la base conceptual sobre la cual basar la educación, de tal forma que puedan asimilar su propio futuro? El punto neurálgico es aplicar en la construcción de software la estrategias de aprender a aprender, de aprender a colaborar y de colaborar para aprender [13]. Se ha hecho importante seguirle el rastro a la evolución de los paradigmas de construcción de software y escalar esta concepción para extraer la esencia y haciendo las veces de clarividentes delimitar un poco el conjunto de abstracciones que hacen y harán parte de la industria del software mundial. Entre ellas, las más abordables son:
Desarrollo dirigido por maquetas: análogo al desarrollo de software dirigido por modelos [18], los niños construyen un modelo a escala de la solución generando de manera automática la solución, haciendo que ellos se concentren en los aspectos realmente importantes del modelo en lugar de los detalles técnicos de implementación. Las decisiones técnicas de implementación de hoy son para ellos obsoletas, los problemas y estrategias de construcción no.
Desarrollo basado en piezas: análogo al desarrollo de software basado en componentes [24] y en servicios [19], los niños arman piezas básicas reutilizables y a partir de estas piezas básicas, arman piezas de software más complejas, hasta armar toda la solución informática. Un conjunto de piezas básicas elementales son suministradas para abstraerles las complejidades que para ellos serán obsoletas en su futuro.
Desarrollo basado en auto-constructos: análogo al desarrollo de software basado en lenguajes [20], los niños definen sus propios constructos a partir de los cuales definen un lenguaje de implementación. El grupo de investigación deberá implementar dicho lenguaje específico. Luego usan ese lenguaje para construir rápidamente sus soluciones.
12
Child Programming: Una Estrategia de Aprendizaje y Construcción de Software Basada en la Lúdica, la Colaboración y la Agilidad
C. Los niños en la construcción de software: el papel de los métodos ágiles Los métodos ágiles [21][22] se han convertido en una nueva estrategia para afrontar los problemas de la burocracia en los procesos de software tradicionales. La base conceptual de estos consiste en dar a los individuos un conjunto de reglas y valores, capacitarlos en algunas prácticas relevantes y dejar que un único proceso al equipo surja de acuerdo a su dinámica. Los métodos ágiles convergen hacia la propuesta de Child Programming debido a los siguientes factores:
El proceso ágil emergido es netamente colaborativo y libre. Así los niños encontrarán una forma acorde al trabajo para alcanzar los objetivos. Se promueve el alcance de un objetivo común en lugar de alcanzar objetivos individuales. Las interacciones entre los individuos facilita la propagación del aprendizaje [5], lo que permitiría que los niños no sólo creen sus propios mecanismos, sino que los vuelvan un mecanismo práctico para el grupo y para un futuro método de desarrollo. El proceso ágil emergido es único. Así los niños trabajarán bajo su propio esquema donde no se les impone unos flujos de trabajo. Sin embargo, ellos dejarán trazados muchos flujos de trabajo que marcarán caminos interesantes para el desarrollo de la futura industria de software.
Así, estamos planteando que Child Programming seguirá un enfoque ágil basado en prácticas de extreme programming [22], Scrum [21] y desarrollo de software Lean [23]. De tal forma que se sigan ciertas prácticas que han resultado beneficiosas para el desarrollo de software hoy y que darían la facilidad para que patrones de proceso y procesos específicos surjan desde la misma práctica con los futuros matemáticos, ingenieros y científicos. IV.
CONCLUSIONES Y TRABAJO FUTURO
Los niños son los destinatarios de primer orden de la ciencia y la tecnología. Son también ellos los precursores de los nuevos descubrimientos e innovaciones. Hacer la transición del pasado hacia el futuro pasa definitivamente por ellos. Con el fin de lograr dicha transición, en este trabajo proponemos un modelo conceptual para la enseñanza de la programación de software a niños - Child Programming. A los niños se les entregaría unas herramientas para su desarrollo, en especial a niños de bajos recursos con el fin de fortalecer la población más vulnerable en esta experiencia. Por otro lado, a la ingeniería de software y a la ingeniería de la colaboración se le entregarían resultados de experiencias empíricas de ciudadanos del futuro explorando sus nuevos caminos. Así, Child Programming ha sido definida como un ambiente colaborativo, ágil y lúdico para el desarrollo de software basado en paradigmas modernos, pero simplificados con fines de facilidad y de descubrimiento. El trabajo futuro de esta propuesta está dividido en tres fases: exploración, formulación y experimentación. En la fase de exploración herramientas y métodos actuales (seleccionados y
Hurtado, J. A., et al.
simplificados) serán utilizados, también escenarios-problema abiertos serán definidos, así como las observaciones sobre las soluciones planteadas por equipos de niños serán reportados. Con base en la evidencia empírica en la aplicación de tecnologías y los procesos, en la fase de formulación, nuevas tecnologías y procesos serán definidos, con el fin de alcanzar un ambiente de desarrollo adecuado a los propósitos: niños aprendiendo, niños enfrentando problemas, investigadores aprendiendo de los niños y finalmente investigadores formulando los caminos trazados por los niños dentro de los contextos de colaboración e ingeniería de software. Finalmente, una fase de experimentación será requerida para evaluar la validez de las nuevas formulaciones, identificar nuevos problemas y continuar con esta ruta de investigación en que los niños nos brindan píldoras del futuro que construirán y nosotros les brindamos algunas herramientas cognitivas a ellos que mejoren sus posibilidades como adultos. REFERENCIAS [1] [2]
[3]
[4]
[5]
[6]
[7] [8] [9] [10] [11]
[12]
[13]
[14] [15]
Norman, D.A. Things that make us smart: defining human attributes in the age of the machine. NY: Addison-Wesley, 1993. Klawe, M. “The educational potential of electronic games and the EGEMS project”. En T. Ottam, I. Tomek (Eds). Proc of ED-MEDIA 94: World Conference on Educational Multimedia and Hypermedia. Charlottesville, VA:AACE. 1994. López. V, et. Al. “Virtual-Prismaker: Ayudando en el proceso de Aprendizaje. Juego físico vs virtual: Un solo juego dos modos de interacción”, Simposio Internacional de Informatica Educativa 2000, SIIE 2000, 2000. Morales, E. “El Uso de los videojuegos como recurso de aprendizaje en la educacion primaria y Teoria de la Comunicación”, Dialogos de la comunicación, numero 80, pp. 7, 2010. Sedighian, K., Sedighian, A. S. “Can Educational Computer Games Help Educators Learn About the Psychology of Learning Mathematics in Children?”. 18th Annual Meeting of the International Group for the Psychology of Mathematics Education, Florida, USA.1996. Scaife, M. et. Al. “Designing For or Designing With? Informant Design for Interactive Learning Environments”. CHI97 Electronic Publications. 1997 Druin,A. “Cooperative Inquiry Developing New Technologies for Children with Children”. Proc. of CHI'99, ACM Press. 1999. Pattis, R., Karel The Robot: A Gentle Introduction to the Art of Programming, 2nd Edition, 1995. Seymour Papert, Desafío de la Mente (New York: Basic Books, 1980). Robotech Center Available: [en linea] http://www.robotechcenter.com/ [Consulta: 2011 Agosto 25]. Mª Consulo, F. “Agile Management and Development of Software Projects Based on Collaborative Enviroments”, ACM SIGSOFT Software Engineering Notes 36, 3, pp. 1-6, 2011. Orozco, G., “De la enseñanza al aprendizaje: Desordenamientos educativo-comunicativos en los tiempos, escenarios y procesos de conocimientos” en Nómadas, Instituto de Estudios Sociales Contemporáneos-Universidad Central de Colombia, Bogotá, 2004. Dillenbourg, P., What do you mean by collaborative learning, Collaborative learning: Cognitive and computational approaches (1999), pp. 1-19. Johnson, D. and R. Johnson, Circles of Learning, Washington, DC: Association for Supervision and Curriculum Development, 1984. Collazos, C., Guerrero, L., Pino, J., and Ochoa, S. "Evaluating Collaborative Learning Processes". Proceedings of the 8th International Workshop on Groupware (CRIWG 2002), Springer Verlag LNCS, 2440, Heidelberg, Germany, September, 2002.
13
Revista Universitaria en Telecomunicaciones, Informática y Control. Volumen 1. N° 1. Marzo 2012. ISSN 2227-3735 Versión impresa
[16] G. Jacobs, G. Lee, J. Ball. Cooperative Learning. “A Sourcebook of lesson Plans for Teacher Education”, kagan Cooperative Learning, pp. v, 1997. [17] Collazos, C., Guerrero, L., Pino, J., Renzi, S., Klobas, J., Ortega, M.,Redondo, M., Bravo, C.,Evaluating Collaborative Learning Processes using System-based Measurement. Journal of Educational Technology & Society, Vol.10, No.3, April 2007, pp. 257-273 [18] Robert F. and Rumpe B. 2007. Model-driven Development of Complex Software: A Research Roadmap. In 2007 Future of Software Engineering (FOSE '07). IEEE Computer Society, Washington, DC, USA, 37-54. [19] Thomas Erl. 2005. Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall PTR, Upper Saddle River, NJ, USA. [20] Dmitriev S. Language oriented programming: The next programming paradigm. JetBrains onboard. 2004. [21] Cockburn, A. Agile Software Development. Adisson-Wesley. 2002. [22] Beck, B. Extreme Programming Explained: Embrace Change. AddisonWesley, 1999. [23] Mary Poppendieck and Tom Poppendieck. 2003. Lean Software Development: An Agile Toolkit. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA. [24] Clemens Szyperski, Component Software, Addison-Wesley 1998 0-20117888-5 Highly recommended.
Hurtado, J. A., et al.
BIOGRAFÍAS JULIO ARIEL HURTADO ALEGRIA (
[email protected]) es profesor asociado adscrito al Departamento de Sistemas, Facultad de Ingeniería Electrónica, Universidad del Cauca. Investigador del grupo IDIS. Doctor en Ciencias Mención Computación, Universidad de Chile. Áreas de interés modelos de procesos de software. CESAR A. COLLAZOS ORDOÑEZ (
[email protected]) es profesor titular adscrito al Departamento de Sistemas, Facultad de Ingeniería Electrónica y Telecomunicaciones, Universidad del Cauca. Director del grupo IDIS. Doctor en Ciencias Mención Computación, Universidad de Chile. Áreas de interés HCI, CSCL, CSCW. SAMITH TATIANA CRUZ (
[email protected]) es estudiante del programa de Ingeniería de Sistemas de la Facultad de Ingeniería Electrónica y Telecomunicaciones, Universidad del Cauca. Áreas de Interés CSCL y métodos ágiles. OSCAR ROJAS (
[email protected]) es estudiante del programa de Ingeniería de Sistemas de la Facultad de Ingeniería Electrónica y Telecomunicaciones, Universidad del Cauca. Áreas de Interés CSCL y métodos ágiles.
14