Más Allá del Código Miguel Carrasco (UAI)

Anuncio
Aprendizaje didáctico en ingeniería,
Metodología y Proceso
MIGUEL CARRASCO
Profesor Asistente.
Facultad de Ingeniería y Ciencias
Universidad Adolfo Ibañez. UAI
15 de Enero 2016, Santiago
Mano del Desierto, Atacama, Chile
intervención
diagnóstico
estrategia
CONTEXTO
resultados
Mano del Desierto, Atacama, Chile
Contexto
Preliminar
El curso de Programación de Computadores es una asignatura que presenta tres desa6os únicos, no compar9dos con otras asignaturas tradicionales (Física, algebra, cálculo)
‣ Gran diversidad de lenguajes de programación
‣ Falta de mo9vación por parte de los estudiantes
‣ Percepción de los estudiantes de que aprenden un lenguaje poco ú9l. 3
Contexto
Desa+os
Ofrecer una gama de lenguajes de programación. Dis9ntas secciones aprenden dis9ntos lenguajes de programación (más empleados actualmente) en emprendimientos
Los alumnos deciden qué lenguaje de programación aprender. Uno de los aspectos claves de la mo9vación intrínseca reside en la posibilidad de decidir el propio aprendizaje
Lenguajes que permitan el desarrollo rápido de aplicaciones. Lenguajes que permitan desarrollar aplicaciones reales dentro de las restricciones temporales de la asignatura.
4
Contexto
Estrategia La asignatura de Programación de Computadores se imparte el primer semestre de cada año a los alumnos de todas las carreras de Ingeniería Civil (Bioingeniería, Energía y Medio Ambiente, Industrial, Informá9ca, Minería y Obras Civiles) de la Universidad. 200 alumnos
400 alumnos
12 secciones coordinadas
5
Contexto
Estrategia La asignatura de Programación de Computadores se imparte el primer semestre de cada año a los alumnos de todas las carreras de Ingeniería Civil (Bioingeniería, Energía y Medio Ambiente, Industrial, Informá9ca, Minería y Obras Civiles) de la Universidad. ‣ Programación de aplicaciones móviles
‣ Programación de si9os WEB
‣ Programación sensorial
‣ Programación de VideoJuegos
6
Contexto
Resultados ‣
Altos niveles de reprobación en sabores Sensorial y VideoJuegos
‣
Bajos niveles de interés (3.4 promedio) Escala 1-­‐5 Especialización
Secciones
Promedio
Reprobación
Móviles
4
4,3
23%
Web
3
4,5
22%
Sensorial
3
4,3
31%
VideoJuegos
2
4,2
30%
7
Mano del Desierto, Atacama, Chile
intervención
diagnóstico
estrategia
CONTEXTO
resultados
Mano del Desierto, Atacama, Chile
Diagnóstico
Programación sensorial 2do semestre
‣
‣
‣
‣
P2 No dediqué el :empo suficiente para estudiar
P3 Aunque haga un esfuerzo, me es di+cil entender los contenidos del curso.
P6 Las clases no me ayudaron a resolver mis dudas.
P10 El profesor no explica con claridad cómo resolver problemas
30
26
24
22
P2
18
P3
16
12
12
P10
P6
6
4
1
0
5
P1
6
4
3
0
P2
P3
P4
P5
0
P6
P7
P8
P9
P10
P11
4
0
P12
P13
P14
Encuesta anónima al inicio del semestre. Muestra 35 alumnos. Sección Programación Sensorial.
9
Encuesta anónima al inicio del semestre. Muestra 35 alumnos. Sección Programación Sensorial.
Programación sensorial 2do semestre
Mis hábitos de estudio son deficientes
Me cuesta concentrarme y enfocarme en la solución de un problema
16
20
16
12
15
Me es di+cil programar mi :empo para estudiar
20
17
15
16
11
8
14
8
10
4
5
0
0
Totalmente de acuerdo
12
10
6
5
5
0
Indiferente
Totalmente en desacuerdo
10
Programación sensorial 2do semestre
Tengo problemas en mi casa/
familia/pareja que me impiden estudiar
No estoy feliz en la carrera, desearía cambiarme
Me desconecto con facilidad (respecto al modo de trabajar)
30
30
20
22,5
22,5
15
21
15
10
7,5
0
20
21
15
10
7,5
5
6
4
8
0
Totalmente de acuerdo
11
4
0
Indiferente
Totalmente en desacuerdo
11
Programación sensorial 2do semestre
En términos de estudio, cuanta horas a la semana dedicaste a estudiar programación el semestre pasado
25,7%
2,9%
Entre 0 y 2 horas a la semana
Entre 2 y 4 horas a la semana
Entre 4 y 6 horas a la semana
Entre 6 y 8 horas a la semana
Más de 8 horas a la semana
Encuesta anónima al inicio del semestre. Muestra 35 alumnos. Sección Programación Sensorial.
71,4%
12
Programación sensorial 2do semestre
Qué puntaje asignarías en términos de responsabilidad respecto a mi reprobación del curso al profesor
Qué puntaje asignarías en términos de responsabilidad respecto a mi reprobación del curso al alumno
15
15
12
12
9
4
3
0
9
8
6
2
0
2
2
5
5
3
14
8
6
5
4
3
0
2
0
0
(donde 1 es sin responsabilidad, y 10 extremadamente responsable)
2
0
3
1
13
Diagnóstico
Programación sensorial 2do semestre
‣
‣
‣
‣
‣
‣
‣
¿Qué caracterís:cas debiera tener el curso durante el semestre para aprender en forma efec:va y eficiente?
P2 P3 P7 P9 P11 P14 P16 Hacer más ejercicios en clases
Trabajar en forma personal
Tener clases más interacMvas (yo programo y profesor me ayuda)
Realizar acMvidades más didácMcas
Enseñar habilidades para estudiar
Disponer de videos para estudiar la materia
Hacer ejercicios todos los días (fuera del horario de clases)
20
19
16
13
12
8
10
11
10
8
7
4
0
P2
P3
P7
P9
P11
P14
P16
Encuesta anónima al inicio del semestre. Muestra 35 alumnos. Sección Programación Sensorial.
14
Diagnóstico
Programación sensorial 2do semestre
¿Qué me hace falta para aprender a programar?
Motivación
14
Ganas
7
Interés
8
Dedicación
22
Perseverancia
19
Resiliencia
10
Inteligencia
4
Suerte
2
Persistencia
12
Tiempo
7
0
5
10
15
20
25
30
Encuesta anónima al inicio del semestre. Muestra 35 alumnos. Sección Programación Sensorial.
15
Mano del Desierto, Atacama, Chile
intervención
diagnóstico
estrategia
CONTEXTO
resultados
Mano del Desierto, Atacama, Chile
Intervención
CADE
Gracias a la ayuda del Centro de Asesoramiento y Desarrollo Estudian9l, bajo la coordinación de Ps. Priscilla Harcha, fue posible efectuar un estudio más detallado de los alumnos. Ac9vidades a desarrollar
1. Toma de encuesta del CADE, 36 alumnos evaluados 77.7%masculino, 22.2% femenino
2. Charla de hábitos de estudio, manejo del 9empo, apoyo del CADE para enfocar a los alumnos.
17
Intervención
Test de habilidades de estudio
Resultados de Ps. Pricilla Harcha
Lectura de textos
Bajo 30 debe mejorar
24,5
Toma de apuntes
Bajo 20 debe mejorar
15,1
Memoria
Bajo 30 debe mejorar
34,9
Preparación de pruebas
Bajo 40 debe mejorar
42,1
Concentración
Bajo 35 debe mejorar
34,9
Manejo del tiempo
Bajo 20 debe mejorar
13,3
0
5
10
15
20
25
30
35
40
45
50
18
Intervención
Inventario de ansiedad ante las pruebas
Resultados de Ps. Pricilla Harcha
Las principales fuentes de ansiedad son: preocupaciones por su autoimagen, por la imagen que tendrán los demás si ellos rinden mal; por no sen9rse bien preparados para rendir pruebas y por su seguridad a futuro. ‣ P1 Preocupaciones sobre cómo te verán los otros, si te va mal
5,0
4,3
3,6
‣ P2 Preocupaciones sobre tu propia imagen de : mismo
2,9
2,1
2,7
2,8
2,2
2,4
1,4
0,7
0
P1
P2
P3
P4
‣ P3 Preocupaciones sobre tu seguridad a futuro
‣ P4 Preocupaciones sobre no estar preparado para una prueba
(A mayor promedio, mayor preocupación)
19
Intervención
Inventario de ansiedad ante las pruebas
Resultados de Ps. Pricilla Harcha
La ansiedad de los estudiantes evaluados se expresa principalmente en pensamientos disrup:vos al estudiar, en una sensación de ansiedad generalizada y en reacciones corporales al rendir sus evaluaciones. ‣ P1 Reacciones corporales
5,0
‣ P2 Pensamientos disrup9vos
4,3
4,2
3,6
‣ P3 Ansiedad generalizada ante las pruebas
2,9
2,1
1,4
2,2
1,5
0,7
0
P1
P2
P3
(A mayor promedio, mayor preocupación)
20
Intervención
Inventario de ansiedad ante las pruebas
Resultados de Ps. Pricilla Harcha
La ansiedad de los estudiantes evaluados se expresa principalmente en pensamientos disrup:vos al estudiar, en una sensación de ansiedad generalizada y en reacciones corporales al rendir sus evaluaciones. ‣ P1 Reacciones corporales
‣ P2 Pensamientos disrup9vos
‣ P3 Ansiedad generalizada ante las pruebas
21
Intervención
Inventario de ansiedad ante las pruebas
Resultados de Ps. Pricilla Harcha
La ansiedad de los estudiantes evaluados se expresa principalmente en pensamientos disrup:vos al estudiar, en una sensación de ansiedad generalizada y en reacciones corporales al rendir sus evaluaciones. ‣ P1 Reacciones corporales
‣ P2 Pensamientos disrup9vos
‣ P3 Ansiedad generalizada ante las pruebas
21
Intervención
Inventario de ansiedad ante las pruebas
Resultados de Ps. Pricilla Harcha
La ansiedad de los estudiantes evaluados se expresa principalmente en pensamientos disrup:vos al estudiar, en una sensación de ansiedad generalizada y en reacciones corporales al rendir sus evaluaciones. ‣ P1 Reacciones corporales
‣ P2 Pensamientos disrup9vos
‣ P3 Ansiedad generalizada ante las pruebas
21
Mano del Desierto, Atacama, Chile
intervención
diagnóstico
estrategia
CONTEXTO
resultados
Mano del Desierto, Atacama, Chile
Estrategia
Metodología
‣
‣
‣
‣
‣
☑‣
‣
P2 P3 P7 P9 P11 P14 P16 Hacer más ejercicios en clases
Trabajar en forma personal
Tener clases más interacMvas (yo programo y profesor me ayuda)
Realizar acMvidades más didácMcas
Enseñar habilidades para estudiar
Disponer de videos para estudiar la materia
Hacer ejercicios todos los días (fuera del horario de clases)
Preparación
Clases
flipeadas
> de 30 videos preparados
23
Estrategia
Metodología
☑‣ P2 Hacer más ejercicios en clases
☑‣ P3 Trabajar en forma personal
‣
‣
‣
☑‣
‣
P7 P9 P11 P14 P16 Tener clases más interacMvas (yo programo y profesor me ayuda)
Realizar acMvidades más didácMcas
Enseñar habilidades para estudiar
Disponer de videos para estudiar la materia
Hacer ejercicios todos los días (fuera del horario de clases)
Preparación
Módulo 1
Clases
flipeadas
Test RAT
Discusión
del error
24
Estrategia
Metodología
☑‣
☑‣
☑‣
☑‣
☑‣
☑‣
P2 P3 P7 P9 P11 P14 ‣ P16 Hacer más ejercicios en clases
Trabajar en forma personal
Tener clases más interacMvas (yo programo y profesor me ayuda)
Realizar acMvidades más didácMcas
Enseñar habilidades para estudiar
Disponer de videos para estudiar la materia
Hacer ejercicios todos los días (fuera del horario de clases)
Módulo 1
Módulo 2
Test RAT
Discusión
del error
Actividad de
aprendizaje activo
Activar funcionamiento cognitivo
Activar cuerpo
Discusión
Trabajo en equipo
Puntajes por ejercicios resueltos
25
Estrategia
Módulo 2
Actividad de
aprendizaje activo
Activar funcionamiento cognitivo
Activar cuerpo
Discusión
Trabajo en equipo
Clase 2. [Del enunciado a la solución]
Integrantes
: 3 personas
Preliminar : Pegar en la pared cartulinas numeradas
1. Dibujar en la hoja una línea horizontal al medio de la cartulina
2. [Ejercicio] En la parte superior escribir un enunciado de un problema (solo variables y figuras) [10 minutos]
3. [Evaluación a pares] Hacer un recuadro en la parte inferior y rotar los grupos. Cada grupo evalúa el
enunciado de sus compañeros. Una vez que todos los grupos rotaron tenemos evaluaciones donde es el
número de grupos. Calcular el promedio.
4. [Evaluación Individual] Cada grupo coloca el promedio que sus compañeros pusieron.[5 minutos]
5. [Ejercicio] Ahora en la mitad inferior debe mejorar su problema y describir un nuevo problema.[10 minutos]
6. [Programación] Cada grupo debe resolver el problema en un computador. [20 minutos]
26
Estrategia
Módulo 2
Actividad de
aprendizaje activo
Activar funcionamiento cognitivo
Activar cuerpo
Discusión
Trabajo en equipo
Clase 3. [De las herramientas a la solución]
Integrantes
: 3 personas
Preliminar : Pegar en la pared cartulinas numeradas
1. Dibujar en la hoja una línea horizontal al medio de la cartulina
2. Cada grupo recibe una hoja con frases inconexas de control de flujo e instrucciones (solo instrucciones). En
la parte inferior hay figuras desde muy simples a complejas. La idea es que reciben herramientas sin ningún
propósito.
3. [Ejercicio] Cada grupo debe seleccionar TRES figuras de la parte inferior, y pegarlas en la cartulina en la
parte inferior.
4. [Ejercicio] Cada grupo debe buscar las instrucciones necesarias para crear dichas figuras. El programa crea
una figura a la vez, según el resultado del control de flujo. Cada programa debe tener al menos tres
variables, 1 IF-ELSE y 1 IF. Dependiendo del valor de la variable al inicio del programa se genera una figura.
5. [Prueba] Se rotan los grupos, y el nuevo grupo debe descubrir el valor que debe ir en la variable para que se
generen las figuras respectivas. Debe escribir esto en el papel.
6. [Evaluación] El grupo vuelve a su cartulina y evalúa si era lo correcto.
27
Estrategia
Módulo 2
Actividad de
aprendizaje activo
Activar funcionamiento cognitivo
Activar cuerpo
Discusión
Trabajo en equipo
Clase 4. [Control de Flujo]. 2da Actividad.
Integrantes
: 6 personas
Preliminar : Seleccionar a 6 alumnos al azar de la sala y situarlos al frente de la sala.
1. Se entrega a cada alumno una hoja con un código (for(), {,}, etc. El alumno no sabe que código
tiene, pero sus compañeros que están al frente pueden ver todo el programa.
2. [Ejercicio ] El profesor solicita al curso analizar qué hace el programa y luego les pregunta el
resultado.
3. [Ejercicio] El profesor pregunta, ¿qué es el control del programa?
4. [Actividad] El profesor actúa como si el fuera el control del programa. Esto permite al alumno
entender cómo se ejecuta el programa en el computador.
28
Estrategia
Módulo 2
Actividad de
aprendizaje activo
Activar funcionamiento cognitivo
Activar cuerpo
Discusión
Trabajo en equipo
Clase 5. [Trabajo en Competencia]
Integrantes
: 4 personas. Formar 2 parejas
Preliminar
: Cada pareja recibe una hoja en blanco. Las parejas deben estar enfrentadas (una al frente
de la otra). Cada pareja debe anotar sus nombres en la parte superior, y el ayudante escribe
una letra para identificar los competidores.
1. [Ejercicio. // 1ra ronda]. Cada pareja debe escribir un problema que NO utilice funciones en la hoja
en blanco. Solo dispone de [5 minutos] para escribir el enunciado del problema.
2. [Competencia]. Cada pareja tiene 10 minutos para resolver el problema planteado por el otro equipo
(la pareja que está al frente). El equipo que resuelva primero el problema gana 5 puntos. El equipo
perderdor no gana puntaje. Se escribe en la hoja del grupo ganador +5pts y se tacha al equipo
perdedor.
3. [Ejercicio. // 2da ronda]. Cada pareja debe escribir un problema que UTILICE una función. Tiene [5
minutos] para escribir el enunciado
4. [Competencia]. Cada pareja tiene [15 minutos] para resolver el problema planteado por el otro
equipo (la pareja que está al frente). El equipo que resuelva primero el problema gana 10 puntos
29
Estrategia
Módulo 2
Actividad de
aprendizaje activo
Activar funcionamiento cognitivo
Activar cuerpo
Discusión
Trabajo en equipo
Clase 6. [Trabajo cooperativo]
Integrantes
: 2 personas
Preliminar : Cada alumno recibe una hoja en blanco. Se presenta en la pizarra una lista de áreas temáticas
que se han discutido durante el semestre.
‣
‣
‣
‣
‣
‣
Funciones
Ciclos (While, For)
Condiciones (If, if-else)
Operaciones con variables
Operaciones matemáticas
Operaciones lógicas
1. [Actividad]. Dibujar en la hoja una línea horizontal. En la mitad superior escoger una temática que
tenga dominio, y en la parte inferior un tema que no tenga dominio.
2. [Actividad]. Agrupar a dos alumnos en un tema. El alumno que tenga dominio en un área debe
explicar un problema a uno que no tenga dominio (20 minutos). Debe emplear la hoja para tomar
apuntes.
3. Una vez confirmado lo anterior, se ejecuta el mismo sistema y se repite nuevamente. El alumno que
no sabe de un área debe explicar a otro.
30
Estrategia
Módulo 2
Actividad de
aprendizaje activo
Activar funcionamiento cognitivo
Activar cuerpo
Discusión
Trabajo en equipo
Clase 7. [Análisis de problemas]
Integrantes: Trabajo Individual
1. Algoritmo para calcular raíces cuadradas!
1. Algoritmo para calcular raíces cuadradas!
Una de las fórmulaciones más famosas para estimar raíces
cuadráticas, formulada por Isaac Newton, se conoce como Método
de Newpton-Raphson. La fórmula es iterativa y recurrente, de tal
forma que los resultados de una iteración sirven para la siguiente.
Para simplificar la formulación, se ha desarrollado la siguiente
fórmula,!
Una de las fórmulaciones más famosas para estimar raíces
cuadráticas, formulada por Isaac Newton, se conoce como Método
de Newpton-Raphson. La fórmula es iterativa y recurrente, de tal
forma que los resultados de una iteración sirven para la siguiente.
Para simplificar la formulación, se ha desarrollado la siguiente
fórmula,!
!
!
!
2
n
x +r
xn+1 = xn !
2 " xn
donde x0 corresponde a un valor estimado inicialmente de la raíz
(cualquier valor), y r a la raíz buscada, n corresponde a la
itertación actual. Mientras mayor sea n, más se aproxima la raíz.!
!
2
n
x +r
xn+1 = xn !
2 " xn
Iteración!
Raíz buscada!
Valor actual!
donde x0 corresponde a un valor estimado inicialmente de la raíz
(cualquier valor), y r a la raíz buscada, n corresponde a la
itertación actual. Mientras mayor sea n, más se aproxima la raíz.!
31
Estrategia
Metodología
☑‣
☑‣
☑‣
☑‣
☑‣
☑‣
☑‣
P2 P3 P7 P9 P11 P14 P16 Hacer más ejercicios en clases
Trabajar en forma personal
Tener clases más interacMvas (yo programo y profesor me ayuda)
Realizar acMvidades más didácMcas
Enseñar habilidades para estudiar
Disponer de videos para estudiar la materia
Hacer ejercicios todos los días (fuera del horario de clases)
Trabajo en casa
Problemas resueltos
con niveles de
complejidad y
temática
> de 80 ejercicios
> Autocontenidas con material de estudio
> Grabar videos con explicaciones y subirlo
32
Estrategia
GUIA 09 TRABAJO GUIADO
PROCESSING // ARDUINO
GUIA 00 INTRODUCCIÓN
PROCESSING
27-08-2015
5.
Implemente un programa dada una coordenada !!! !! con una posición aleatoria y radio 5px, genere un
círculo centrado en dicha posición. Además genere cinco líneas con posición inicial el centro del círculo,
y como posición final, genere rotación de 60 grados respecto al centro del círculo.
PrintWriter output;
output = createWriter("datos.txt");
size(600,600);
//coordenadas
float x=random(width);
float y=random(height);
float largo=100;
ellipse(x,y,10,10);
fibonacci[0]=0;
fibonacci[1]=1;
cos(radians(60))*largo+y);
cos(radians(120))*largo+y);
cos(radians(180))*largo+y);
cos(radians(240))*largo+y);
cos(radians(300))*largo+y);
for (int n=2; n<limite; n++){
fibonacci[n]=fibonacci[n-1]+fibonacci[n-2];
}
println("El valor Fibonacci "+limite+" es "+fibonacci[limite-1]);
exit();
Implemente un progama que dibuje cuatro círculos que toquen tangencialmente uno al otro y que entre
ellos formen una estructura circular. Usted debe definir el radio adecuado para generar esta figura.
size(600,600);
// el radio corresponde a la mitad del radio de un triángulo
// equilátero. Note que la coordenada (y) de los circulos superiores
// e inferiores corresponde a la altura h de un triangulo equilátero
float
float
float
float
float
float
float
ancho
alto
delta
lado
diametro
esq_sup
esq_inf
=
=
=
=
=
=
=
7.
height/2, diametro, diametro);
height/2, diametro, diametro);
esq_inf, diametro, diametro);
esq_sup, diametro, diametro);
39. Implemente un programa que escriba dos columnas con 100 valores aleatorios en un archivo
("datos.txt"). El rango de valores es entre 0 y 500. Los datos entre columnas están separados por un
espacio en blanco.
PrintWriter output;
output = createWriter("datos.txt");
400;
400;
(width-ancho)/2;
ancho/2;
lado;
height/2-(lado/2)*sqrt(3);
height/2+(lado/2)*sqrt(3);
ellipse(ancho/4+delta,
ellipse(ancho*3/4+delta,
ellipse(ancho/2+delta,
ellipse(ancho/2+delta,
// abrimos el archivo para escribir en el
int limite = 50;
double fibonacci[]= new double [limite];
line(x,y,sin(radians(60)) *largo+x,
line(x,y,sin(radians(120))*largo+x,
line(x,y,sin(radians(180))*largo+x,
line(x,y,sin(radians(240))*largo+x,
line(x,y,sin(radians(300))*largo+x,
6.
38. Implemente un programa que escriba la serie de Fibonacci hasta un número ingresado como parámetro
en el programa. Los valores deben ser almacenados en un archivo ("datos.txt"). La serie de Fibonacci es
recursiva y tiene la siguiente expresion: !! ! !!!! ! !!!! donde !! ! ! y !! ! !
for (int
i=1; i<=100; i++){
output.print(random(0,500));
output.print(" ");
output.println(random(0,500));
// escribe en el archivo
}
// circulo izquierda
// circulo derecha
//circulo inferior
//circulo superior
output.close();
exit();
Implemente un programa que calcule y la dibuje la altura de un triángulo cuyos extremos se sitúan en la
posición media de la ventana. La esquina superior/inferior del triángulo se genera en una coordenada
aleatoria. La altura debe ser desplegada en el programa.
40. Implemente un programa que escriba dos columnas con 360 valores de funciones seno y coseno en un
archivo ("datos.txt"). Los valores deben comenzar en en ángulo 0 y terminar en 360.
size(300, 300);
PrintWriter output;
output = createWriter("datos.txt");
float middle_x = random(width-100);
float middle_y = random(height-100);
float altura
= abs(height/2-middle_y);
triangle(0, height/2, middle_x, middle_y, width, height/2);
for (int
//linea que dibuja la altura
stroke(100);
line(middle_x, height/2, middle_x, middle_y);
text(altura, middle_x, middle_y);
}
PROGRAMACIÓN SENSORIAL. 2015. M. CARRASCO
// abrimos el archivo para escribir en el
//abrimos el archivo para escribir en el
i=1; i<=100; i++){
output.print(sin(radians(i)));
// escribe en el archivo
output.print(" ");
output.println(cos(radians(i)));
output.close();
exit();
2
33
Estrategia
GUIA 06 ARDUINO
GUIA 04 ARDUINO
PROGRAMACIÓN // FUNCIONES
PROGRAMACIÓN
27-10-2015
27-10-2015
PROBLEMA 3
Desarrolle un programa que despliegue el nivel de intensidad de la luz mediante tres LEDS con colores
verde, amarillo y rojo. El nivel de luz es medido con una resistencia fotovoltaica. El funcionamiento es el
siguiente, a medida que aumenta el nivel de luz detectado por la fotoresistencia, se van encenciendo leds
en forma progresiva
OBJETIVO
Este guía contiene problemas de vectores y funciones en Arduino, diseñados para preparar la segunda
prueba de programación. Antes de comenzar a resolver los problemas, revise el código preliminar de tal
forma de aclarar conceptos y definiciones. Pruebe sus propias modificaciones, para buscar errores en el
código.
PRELIMINAR
Materiales
3 LED
3 resistencias 220 Ohms
1 resistencia 10kOhms
1 Fotoresistencia
1) Crear un vector con 20 espacios
int vector[20]; // crea un vector con 20 espacios
void setup(){}
void loop(){}
2) Almacenar valores directamente en un vector
int vector[]={2,3,4,5,6,7};
void setup(){}
void loop(){}
3) Pasar un arreglo como argumento a una función (largo del vector es indicado como parámetro)
PROBLEMA 4
Desarrolle un programa que encienda un LED de color verde cuando un botón sea presionado, y encienda
un LED amarillo cuando el botón sea liberado (no presionado)
// creamos un vector con 3 elementos
void setup () {
Serial.begin(9600);
}
// inicializamos la comunicación serial
void loop() {
int resultado;
resultado = minimo(vector, 3); // invocamos a la función <minimo>
Serial.println(resultado);
// despliegue de resultado para verificar en el monitor
}
Materiales
2 LED
2 resistencias 220 Ohms
1 resistencia 10kOhms
1 botón
PROGRAMACIÓN SENSORIAL. 2015. M. CARRASCO
int vector[] = {3,2,35};
// Mis funciones
int minimo(int vector[], int largo) // <tipo de datos> <nombre función> (<parametros>)
{
int i, m = 32767;
// definimos variables internas a la función
for (i = 0; i < largo; i++)
// creamos un ciclo para que recorra el vector
{
// la función <min> retorna el valor minimo entre dos
m = min(m, vector[i]);
// números. Esta funcionalidad es parte de las funciones de
// Arduino.
}
return m;
//retornamos el resultado con return (<variable>)
}
!!!!!!!!!!
2
34
Mano del Desierto, Atacama, Chile
intervención
diagnóstico
estrategia
CONTEXTO
resultados
Mano del Desierto, Atacama, Chile
Resultados
Prueba 1
‣
Sábado 25 de SepMembre. Rinden la prueba 48 alumnos. Tres preguntas con alternaMvas. Prueba revisada por otros tres profesores de la asignatura.
15
11,25
12
7,5
12
8
3,75
3
0
3
0
1
Prueba 1
1
2
3
4
5
6
7
36
Resultados
Prueba 2
‣
Sábado 7 de Noviembre. Rinden la prueba 37 alumnos. Tres preguntas con alternaMvas. Prueba revisada por otros tres profesores de la asignatura.
15
11,25
12
7,5
8
8
3,75
0
3
2
0
4
Prueba 1
1
2
3
4
5
6
7
37
Proyectos
metrónomo digital
buzzer, leds, botones, interfaz gráfica
38
Proyectos
PSU test
buzzer, leds, botones, interfaz gráfica
39
Proyectos
Detector de Alcohol
Sensor de Alcohol, arduino, interfaz gráfica.
40
Rendimiento del curso
7,0!
asiste regularmente
6,0!
20% reprobado
5,0!
4,0!
no asiste
3,0!
2,0!
1,0!
0,0!
1!
2!
3!
4!
5!
6!
7!
8!
9!
10!
11!
12!
13! 14!
15!
16!
17!
18!
19!
20!
21!
22!
23! 24!
25!
26!
27!
28!
29!
30!
31!
32!
33! 34!
35!
36!
37!
38!
39!
40!
41!
42!
43! 44!
41
Descargar