Programación de Computadores: Motivando a Alumnos no Especialistas Alejandra Beghelli, Ignacio Cabrera, Miguel Carrasco, Claudio Díaz, Gonzalo Huerta, Sebastián Moreno, Jorge Villalón 3 DESAFÍOS ÚNICOS Multiplicidad de lenguajes de programación Estudiantes no especialistas Sin relación con especialidad DISEÑO + PROGRAMACIÓN MOTIVACIÓN CREATIVITY FOSTERERS (1) Keep an open mind Learning to fail Ambiguity is good Search for multiple answers STUDENT MINDSET Unique correct answer Failure is undesirable TEACHER MINDSET & ACTIONS Reward for creativity Encouraging risk Iterative process+ incubation Innovation examples Reward for “correctness” Low marks for errors Quick, “efficient” answers Technical examples Internal motivation Ownership of learning External motivation Teacher-driven course (1) Maxims of Creativity in Education (Kazerounian and Foley 2007) Trabajo en grupo construyen do prototipo Aprendizaje de habilidades en programación 1 2 3 4 5 6 7 8 9 10 SEMANAS 11 12 13 14 15 16 17 Evaluación final de prototipo UN SEMESTRE “NORMAL” 18 ENG. Aprendizaje Processing Aprendizaje Arduino Trabajo en grupo construyendo prototipo 1 2 3 4 5 6 7 8 9 10 SEMANAS 11 12 13 14 15 16 17 Evaluación final prototipo UN SEMESTRE “ANORMAL” 18 ENG. Aprendizaje Processing Aprendizaje Arduino Trabajo en grupo construyendo prototipo Métodos de generación de Libre ideas (Dis. + Eng) DES. Métodos de Diseño 1 2 3 4 5 6 7 8 9 10 SEMANAS 11 12 13 14 15 16 17 Evaluación final prototipo UN SEMESTRE “ANORMAL” 18 ENG. Aprendizaje Processing Aprendizaje Arduino Trabajo en grupo construyendo prototipo DES. “Clases de arte” Métodos de Libre generación de ideas Observación de artistas 1 2 3 4 5 6 7 8 9 10 SEMANAS 11 12 13 14 15 16 17 Evaluación final prototipo UN SEMESTRE “ANORMAL” 18 ENG. Aprendizaje Processing Aprendizaje Arduino DES. Trabajo en grupo construyendo prototipo Matemáticas para párvulos Métodos de Libre generación de ideas Observación clases de matemáticas 1 2 3 4 5 6 7 8 9 10 SEMANAS 11 12 13 14 15 16 17 Evaluación final prototipo UN SEMESTRE “ANORMAL” 18 UN SEMESTRE “ANORMAL” ETAPAS DEL PROCESO CREATIVO PREPARACIÓN DES. Clases de arte Métodos de Libre generación de ideas Observación de artistas 2 3 4 5 Trabajo en grupo construyendo prototipo INCUBA ILLUMINAC IÓN CIÓN PREPARACIÓN 1 Aprendizaje Arduino 6 7 8 9 10 SEMANAS 11 12 13 14 15 16 17 Evaluación final prototipo ENG. Aprendizaje Processing VERIFICACIÓN 18 UN SEMESTRE “ANORMAL” PREPARACIÓN DES. Clases de arte Métodos de Libre generación de ideas Observación de artistas 2 3 4 5 Trabajo en grupo construyendo prototipo INCUBA ILLUMINAC IÓN CIÓN PREPARACIÓN 1 Aprendizaje Arduino 6 7 8 9 10 WEEKS 11 12 13 14 15 16 17 Evaluación prototipo final ENG. Aprendizaje Processing VERIFICACIÓN 18 PREPARACIÓN 0. Video Publications Research (Math Learning Outcomes, Chilean Ministry of Education) Competitive product survey/Analogous models (100 per group) Paper prototyping/Concept sketches Field visit /Expert interview PREPARACIÓN 0. Video 2. Conozcamos a un artista 1. ¿Qué es arte? 3. Los medios del arte 6. Visita MAC, Arte Digital 4. Sinestesia & Cía. 5. Observación, abstracción y símbolos INCUBACIÓN PREPARACIÓN Aprendizaje Arduino INCUBA ILLUMINAC IÓN CIÓN PREPARACIÓN DES. Clases de arte Libre Métodos generación ideas 7 9 Observación de artistas 1 2 3 4 5 6 8 10 SEMANAS 11 Trabajo en grupo construyendo prototipos 12 13 14 15 16 17 Evaluación prototipo final ENG. Aprendizaje Processing VERIFICACIÓN 18 INCUBACIÓN PREPARACIÓN Aprendizaje Arduino INCUBA ILLUMINAC IÓN CIÓN PREPARACIÓN DES. Clases de arte Libre Métodos generación ideas 7 9 Observación de artistas 1 2 3 4 5 6 8 10 SEMANAS 11 Trabajo en grupo construyendo prototipos 12 13 14 15 16 17 Evaluación prototipo final ENG. Aprendizaje Processing VERIFICACIÓN 18 ILUMINACIÓN Taller de métodos de generación de ideas 100 ideas 3 mejores ideas (discutidas con expertos educación/artistas) Idea proyecto final VERIFICACIÓN PREPARACIÓN Aprendizaje Arduino INCUBA ILLUMINAC IÓN CIÓN PREPARACIÓN DES. Clases de arte Libre Métodos generación ideas 7 9 Observación de artistas 1 2 3 4 5 6 8 10 SEMANAS 11 Trabajo en grupo construyendo prototipos 12 13 14 15 16 17 Evaluación prototipo final ENG. Aprendizaje Processing VERIFICACIÓN 18 ALGUNOS PROYECTOS Aplicaciones sensoriales, Sección 2 Campus Viña (área Arte): • Observatorio, Invitación a reflexionar sobre la exposición que sufren las personas en el mundo digital. • Entrelíneas, visualizar lo invisible. • I.Dominó, Conexión entre lo real y lo virtual. • Identidad, Reflexión sobre el liderazgo y la pérdida de identidad. • Twitter lumínico, el usuario ingresa 140 caracteres los que se transforman en una imagen en una matriz de luces según su codificación binaria. https://www.youtube.com/watch?v=1NxFrgPjCi0 RESULTADOS 13p. 65s. Percentage of projects 100 90 80 70 60 50 40 30 20 10 0 Very high High Medium Low Novelty degree Zero RESULTADOS Percentage of projects 80 60 40 20 0 Very high High Medium Low Zero 8p. 40s. 100 Percentage of projects 11p. 55s. 100 80 60 40 20 0 Very high Novelty degree High Medium Low Zero Novelty degree (8 projects, 40 students) Percentage of projects 80 60 40 20 0 Very high High Medium Novelty degree Low Zero 8p. 40s. 100 Percentage of projects 6p. 30s. 100 80 60 40 20 0 Very high High Medium Novelty degree Low Zero INNOVACIÓN + PROGRAMACIÓN 3 DESAFÍOS ÚNICOS Multiplicidad de lenguajes de programación Estudiantes no especialistas Sin relación con especialidad 3 PROPUESTAS Multiplicidad de lenguajes de programación Distintas secciones aprenden distintos lenguajes Estudiantes no especialistas Sin relación con especialidad Que el estudiante elija Lenguajes de desarrollo ágil + proyecto con cliente real 4 LENGUAJES HTML+CSS+PHP PROCESSING + ARDUINO PROCESSING.JS + JAVASCRIPT COORDINADOR + 4 VICE-COORDINADORES COORDINADOR GENERAL (4 SECCIONES) (2 SECCIONES) (3 SECCIONES) (3 SECCIONES) DESAFÍO: LO COMÚN Y LO DISTINTO PRUEBAS COMUNES Algoritmo Variables & operadores Bifurcaciones condicionales Ciclos Arreglos Funciones PLANIFICACIÓN SEMESTRAL Semana 1 2 Variables & Operadores Bifurcaciones simples y anidadas Variables & Operadores 3 Ciclos simples y anidados Bifurcaciones simples Variables & Operadores Bifurcaciones 4 Variables & Operadores Ciclos simples Bifurcaciones anidadas Ciclos simples 5 Bifurcaciones simples y anidadas Bifurcaciones y ciclos anidados Ciclos anidados 6 Ciclos simples y anidados 7 Preparación P1 Preparación P1 Preparación P1 Preparación P1 8 PRUEBA 1 PRUEBA 1 PRUEBA 1 PRUEBA 1 PLANIFICACIÓN SEMESTRAL Semana Arreglos Arreglos 10 Arreglos 2D Arreglos 2D 11 Funciones Funciones 9 Arreglos y funciones Arreglos Funciones 12 13 14 Preparación P2 Preparación P2 Preparación P2 15 PRUEBA 2 PRUEBA 2 PRUEBA 2 PRUEBA 2 15-17 Avance proy. Avance proy. Avance proy. Avance proy. EJEMPLO EVALUACIÓN COMÚN “Se le pide que programe una aplicación que calcule el Índice de Alcohol en la Sangre (IAS) de un conductor. Dependiendo del resultado de la medición, la aplicación debe desplegar uno de los siguientes mensajes: • 0 IAS 0.3: Dentro del límite legal. • 0.3<IAS 0.5: No conduzca. Arriesga accidente menor y retención de licencia por un mes. • 0.5<IAS: No conduzca. Riesgo vital. El IAS se calcula según la siguiente fórmula: (0.39*ml*p/peso)*r donde: ml es la cantidad de ml bebidos en las últimas 4 horas, p es el porcentaje de alcohol de la bebida ingerida, peso es el peso de la persona en kg y r es un factor de género (0.73 para hombres y 0.66 para mujeres)”. EJEMPLO EVALUACIÓN SIMILAR 1. size(400,400); 2. int l=50; 3. for(int i=0; i<400; i+=50) 4. { 5. for (int j=0; j<400; j+=50) 6. { 7. if(i==0 || i==350) 8. { 9. fill (200); 10. rect(i,j,l,l); 11. } 12. else 13. if(j==0|| j==350) 14. { 15. fill(200); 16. rect(i,j,l,l); 17. } 18. else 19. { 20. fill(255); 21. rect(i,j,l,l); 22. } 23. } 24. } <?php 2. echo '<table>'; 3. for ($i=0;$i<8;$i++) 4. { 5. echo '<tr>'; 6. if($i==0 || $i==7) 7. { 8. for($j=0;$j<8;$j++) 9. { 10. ?> 11. <td style="background: grey; height:10px; width:10px"></td> 12. <?php 13. } 14. } 15. else 16. { 17. for($j=0;$j<8;$j++) 18. { 19. if ($j==0 || $j==7) 20. { 21. ?> 22. <td style="background: grey; height:10px; width:10px"></td> 23. <?php 24. } 25. else 26. { 27. ?> 28. <td style="background: white; height:10px; width:10px"></td> 29. <?php 30. } 31. } 32. } 33. echo '</tr>'; 34. } 35. echo '</table>'; 36. ?> RESULTADOS ALGUNOS PROYECTOS Aplicaciones sensoriales, Sección 1 Campus Peñalolén (área Salud): • Monitoreo online de orina en pacientes en estado crítico (sensores de flujo y de ultrasonido) • Máquina de asistencia kinesiológica aplicada en el esfuerzo de las piernas (sensor de fuerza, RFID y pantalla LED) • Sistema de medición de rayos UV (sensores de UV, humedad y temperatura) • Sistema de rehabilitación y ejercitación de brazos (sensores capacitivos de flexión) • Asistencia para no videntes (sensores de ultrasonido e infrarrojo) ALGUNOS PROYECTOS Aplicaciones Móviles – Sección 1 Campus Viña (área libre): • Menú online de cafeterías de la Universidad, muestra la disponibilidad y precio de cada producto. • Gestor de actividad física de la persona, determina la cantidad de grasa y sugiere una rutina de ejercicios (2 grupos). Uno de los grupos además usó la plataforma Bitalino para medir actividad real, pero no fue capaz de integrarlo a la solución móvil. • Sistema de control de gastos (2 grupos), el usuario ingresa los gastos y se obtiene un reporte diario de ellos. • Geo-localización de gimnasios, categorizados según el tipo de ejercicio que ofrece (artes marciales, pilates, etc) • Gestor de medicamentos con alarma recordatoria de toma de medicamentos para pacientes y geolocalización de farmacias • Tutor de matemáticas para niños, donde pueden practicar operaciones aritméticas básicas • Buscador de locales comerciales cercanos, a través de palabras claves RESULTADOS (EVALUACIÓN ALUMNOS) a) Utilidad (1-7) b) Relevancia (1-5) c) Interés (1-5) d) Aprendizaje (1-5) 2013 6.0 3.9 3.9 4.0 RESULTADOS (EVALUACIÓN ALUMNOS) • “En lo personal, no encuentro que sea tan útil el tipo de programa en el que estamos trabajando (appinventor), hubiese sido mejor programar en otros lenguajes como es arduino entre otros”. • “Aprender aplicaciones móviles es totalmente inútil para el futuro de la carrera puesto que no es un idioma y, además, para los otros ramos se usarán otros idiomas como PHP o Arduino de los cuales muchos no tenemos ningún conocimiento sobre ellos”. • “Muy util es el ramo […]lo unico que no me gusto es que separaran en lenguaje, java para hacer juegos creo que no es muy util y arduino todos consideramos que es interesante, útil y se necesitara mas adelante[ …] mejor desarrollar el pensamiento de como abordar el problema que te dan con un lenguaje mas accesible en primera instancia […] y quizas en otro ramo tener esto mas especifico o profundizar algun lenguaje ("sabor")”. RESULTADOS (EVALUACIÓN ALUMNOS) • “Me gustó por lo general el curso, aunque siento que en ocasiones se nos empujó a problemas que no podíamos solucionar con las herramientas entregadas” • “Esta fue una asignatura complicada pero por no ser por el profesor y los ayudantes creo que hubiese sido mucho peor”. • “Igual encuentro un poco injusto que haya un curso de arduino, que es mucho mas exigente y dificil que el resto de los cursos de programacion.” • “La materia es muy difícil” • “Creo que a veces las actividades continuas y de gran complejidad reducían mucho el tiempo necesario para otras asignaturas”. RESULTADOS (EVALUACIÓN ALUMNOS) RESULTADOS (EVALUACIÓN ALUMNOS) RESULTADOS (EVALUACIÓN PROFES) • Valoración positiva de la experiencia • Tres preocupaciones: a) aprendizaje (mejoró?) b) desempeño repitentes c) impacto de ambiente simple de AppInventor • Propuestas: a) integración (videojuegos móviles; Arduino controlado vía web, etc) b) evaluaciones conocidas por profesores al inicio del semestre c) elección de especialización COMENTARIOS 1. Dar tiempo y energía para incluir métodos de diseño en asignaturas con proyectos finales parece tener un efecto beneficioso en la creatividad de los productos finales 2. Dificultad en medir el impacto de la experiencia en el largo plazo (“out of the box thinking”) 3. La inexperiencia de los estudiantes pareciera impedirles apreciar oportunidades interdisciplinarias (ningún comentario respecto de la experiencia en encuesta docente).