El Mié 09 Jun 2004 01:45, Ricardo H. Medel escribió:
Webeando por la pagina de Gleducar vi que la seccion de Propuestas Didacticas en el Area de Informatica esta vacia y se me ocurrio una idea para empezar una propuesta didactica en la ense~anza de la programacion.
Lo comento aca para que me digan que les parece, si tiene algun sentido/utilidad desarrollarla y cual seria el mejor lugar para hacerlo.
La idea es un curso muy corto sobre las cuestiones (muy) basicas de programacion, orientada a la gente que no sabe nada del tema, como para que vean que es eso de los "programas" que "ejecutan" las computadoras y porque esos bichos son tan inteligentes. :)
Esta basado en una idea que encontre hace a~os (en 1990, creo) en un articulo y que luego desarrolle con una colega. Implementamos la idea como las primeras lecciones de programacion de los alumnos de primer a~o de computacion de la Univ Nac de San Luis, y luego yo volvi a usar la idea para algunos ejercicios en primer a~o de las carreras de computacion de la Univ Nac de Rio Cuarto. Pero en este caso los objetivos son otros y los apuntes originales se perdieron, asi que seria un curso distinto.
La idea es usar un lenguaje de programacion muy simple para escribir programas que guien a un ente dentro de un laberinto. Los laberintos son bidimensionales y deben tener una entrada y al menos una salida, y debe haber al menos un camino posible entre la entrada y la salida (de ultima la entrada puede servir como salida tambien). En cierto sentido es similar a "Karel the robot", pero es un lenguaje mas simple y el objetivo final es otro: mostrar que por un lado las computadoras responden a secuencias de ordenes muy simples, pero que al mismo tiempo siguiendo esas ordenes simples pueden tener "comportamientos" que nos parecen inteligentes o muy avanzados.
El programa del curso incluiria introducir las instrucciones basicas (PASO, GIRO DER), luego explicar la posibilidad de crear nuevas instrucciones por medio de subrutinas (sin parametros). Por ejemplo:
GIRO IZQ: GIRO DER GIRO DER GIRO DER FIN GIRO IZQ
Luego introducir condiciones (PARED?, AFUERA?, NO condicion) y las estructuras de control condicion (SI-ENTONCES-SINO) y ciclo (MIENTRAS).
Todo esto salpicado con muchos ejercicios y tratando de que los alumnos deduzcan que instrucciones o estructuras de control necesitarian para hacerse la vida mas facil, en vez de meterselas como una pildora que hay que tragar.
Y despues llega el gran final: el algoritmo que resuelve CUALQUIER(*) laberinto:
PRINCIPAL: PASO MIENTRAS NO AFUERA? GIRO DER MIENTRAS PARED? GIRO IZQ PASO FIN PRINCIPAL
Que les parece? Vale la pena? Habria que hacer los apuntes y un sistemita que como minimo interprete los programas escritos en este lenguaje. No tengo demasiado tiempo libre, pero algo le puedo dedicar.
Avisen si ya esta hecho!!
Ricardo H. Medel Stevens Institute of Technology ----------------------------------------- (*) El laberinto tiene que estar bien formado y el ente debe estar en el estado inicial tipico: un paso afuera de la celda de entrada.
Ricardo: Me parece buenísima tu idea! Si querés nos escribimos en privado y te ayudo en lo que vayas necesitando. Yo estoy trabajando en la didáctica de las actividades áulicas de Gleducar, en particular la de informática. Es verdad que está solita todavía, pero se está trabajando en unas cuantas actividades didácticas en este momento. Gracias por interesarte! -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Prof. Román Gelbort Tecnologías de la Información y la Comunicación - Márketing Usuario Linux: #345633 - Buenos Aires - Argentina [email protected] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~