Escolar Documentos
Profissional Documentos
Cultura Documentos
Fidel (UNQ)
Gobstones
octubre 2013
1 / 41
Fidel (UNQ)
Gobstones
octubre 2013
2 / 41
Fidel (UNQ)
Gobstones
octubre 2013
3 / 41
Overview
Nuestra solucion
Nuestra concepcion de la programaci
on
Secuencia didactica innovadora
Seleccion de herramientas
Gobstones
Aplicaci
on del enfoque
Conclusiones
Fidel (UNQ)
Gobstones
octubre 2013
4 / 41
Fidel (UNQ)
Gobstones
octubre 2013
5 / 41
Estado de situaci
on al ense
nar un primer curso de programaci
on
Estudiante ideal
Buena base matematica
Entiende consignas y metaforas
Distingue lo fundamental de lo accesorio
Aut
onomo y proactivo
Capacidad de autoevaluaci
on
Estudiante real
Base matematica pobre
Poca capacidad de abstracci
on
Poca autonoma
Se pierde en las cuestiones accesorias
Fidel (UNQ)
Gobstones
octubre 2013
6 / 41
Estado de situaci
on al ense
nar un primer curso de programaci
on
El docente tradicional
Culpa al estudiante por sus faltas
(de interes, de capacidad, etc.)
Insiste con metodos que funcionan a medias
Se refugia en frases exculpatorias
(algunos aprenden, no puedo hacer otra cosa,
yo aprend as, etc.)
Nosotros
Buscamos entender que esta mal
Conversamos con los estudiantes
Intentamos ponernos en su lugar
Fidel (UNQ)
Gobstones
octubre 2013
7 / 41
Estado de situaci
on al ense
nar un primer curso de programaci
on
Fidel (UNQ)
Gobstones
octubre 2013
8 / 41
Nuestra solucion
Fidel (UNQ)
Gobstones
octubre 2013
9 / 41
Nuestra soluci
on
Fidel (UNQ)
Gobstones
octubre 2013
10 / 41
Nuestra soluci
on
Que transmitir?
Formaci
on de pensamiento abstracto
Ideas conceptuales fundamentales
Manejo de abstracciones basicas en materias posteriores
Fidel (UNQ)
Gobstones
octubre 2013
11 / 41
Nuestra soluci
on
Fidel (UNQ)
Gobstones
octubre 2013
12 / 41
Nuestra soluci
on
Nuestra concepci
on de la programaci
on
Paradojas de la programaci
on
La importancia del lenguaje
La naturaleza de los programas
Fidel (UNQ)
Gobstones
octubre 2013
13 / 41
Nuestra soluci
on
Nuestra concepci
on de la programaci
on
el lenguaje es LA UNICA
herramienta!
Fidel (UNQ)
Gobstones
octubre 2013
14 / 41
Nuestra soluci
on
Nuestra concepci
on de la programaci
on
Fidel (UNQ)
Gobstones
octubre 2013
15 / 41
Nuestra soluci
on
Nuestra concepci
on de la programaci
on
Fidel (UNQ)
Gobstones
octubre 2013
16 / 41
Nuestra soluci
on
Nuestra concepci
on de la programaci
on
Definicion propuesta
Los programas son descripciones ejecutables de soluciones a problemas computacionales.
As podemos
ignorar a conveniencia el aspecto operacional,
sin dejarlo nunca de lado!
revalorizar el aspecto de descripci
on de nuestros programas
(en cuanto a texto, y en cuanto a que se describe)
Fidel (UNQ)
Gobstones
octubre 2013
17 / 41
Nuestra soluci
on
Secuencia did
actica innovadora
Seleccion de contenidos
Fidel (UNQ)
Gobstones
octubre 2013
18 / 41
Nuestra soluci
on
Secuencia did
actica innovadora
Seleccion de contenidos
Identificamos 3 categoras de contenidos
(A) Elementos del lenguaje
1
2
3
expandir
Categoras de elementos
Formas de combinaci
on de elementos
Herramientas para expresar abstracci
on
expandir
expandir
Divisi
on en subproblemas
Parametrizaci
on
Parcialidad y precondiciones
Esquemas de programas sencillos
Fidel (UNQ)
Gobstones
octubre 2013
19 / 41
Nuestra soluci
on
Secuencia did
actica innovadora
Seleccion de contenidos
Contenidos adicionales
expandir
Modelado de informaci
on?
Entrada/Salida?
Programaci
on funcional?
Programaci
on orientada a objetos?
Formalizaci
on de las ideas?
Estructuras de control mas complejas/otras
herramientas?
Arreglos?
Otras estructuras de datos?
Fidel (UNQ)
Gobstones
octubre 2013
20 / 41
Nuestra soluci
on
Secuencia did
actica innovadora
Problematicas posibles
expandir
Exigir abstracci
on demasiado pronto
Dilatar el uso de elementos concretos
Abusar de metaforas y analogas
Abusar de recursos graficos
Concentrarse demasiado en aspectos operacionales
Incluir cuestiones de dise
no
Presentar ejemplos que requieran soluciones ad-hoc
Fidel (UNQ)
Gobstones
octubre 2013
21 / 41
Nuestra soluci
on
Selecci
on de herramientas
El lenguaje de programaci
on es menos importante que las ideas
Cualquier lenguaje podra servir. . .
Sin embargo, no debera contener caractersticas o detalles irrelevantes
Por eso dise
namos nuestro propio lenguaje: Gobstones
Fidel (UNQ)
Gobstones
octubre 2013
22 / 41
Fidel (UNQ)
Gobstones
octubre 2013
23 / 41
Gobstones
El lenguaje Gobstones
No posee elementos indeseados
(entrada/salida, estructuras de datos, etc.)
Posee clara separacion entre elementos con efectos y elementos puros
Utiliza elementos concretos (tablero, bolitas) como universo de
discurso
No descansa sobre sus aspectos imperativos
No tiene las limitaciones de otros lenguajes especficos (e.g. Logo)
No esta ligado a su universo de discurso
No orienta el pensamiento operacional
La transici
on a otros lenguajes mainstream es poco costosa
(i.e. C, Java)
Es libre
Fidel (UNQ)
Gobstones
octubre 2013
24 / 41
Gobstones
Conociendo Gobstones
Universo de discurso: Tablero y bolitas
elementos concretos
reemplazan a la memoria
permiten representaciones inicialmente visibles
no restringen las posibilidades computacionales
Fidel (UNQ)
Gobstones
octubre 2013
25 / 41
Gobstones
Conociendo Gobstones
Universo de discurso: Tablero y bolitas
Fidel (UNQ)
Gobstones
octubre 2013
26 / 41
Gobstones
Conociendo Gobstones
Universo de discurso: Cabezal
provee un abanico de acciones
es comandado por los programas
Fidel (UNQ)
Gobstones
octubre 2013
27 / 41
Gobstones
Conociendo Gobstones
Universo de discurso: Cabezal
Fidel (UNQ)
Gobstones
octubre 2013
28 / 41
Gobstones
Conociendo Gobstones
Procedimientos
Abstracci
on de combinaciones de comandos!
Fidel (UNQ)
Gobstones
octubre 2013
29 / 41
Gobstones
Conociendo Gobstones
Funciones
Abstracci
on de combinaciones de expresiones!
Fidel (UNQ)
Gobstones
octubre 2013
30 / 41
Gobstones
Conociendo Gobstones
Caractersticas importantes
Pureza
Los comandos solamente producen efectos
Las expresiones solamente describen valores
(las funciones NO PUEDEN alterar el tablero real)
Localidad en la comunicaci
on
Solamente par
ametros por valor y con alcance local a los
procedimientos
Los par
ametros no son variables!
Las variables tambien son locales a los procedimientos
(y su uso desalentado cuando no es imprescindible)
Fidel (UNQ)
Gobstones
octubre 2013
31 / 41
Gobstones
Herramientas
Existen varias herramientas que implementan Gobstones
los prototipos originales en Haskell
interfaz mnima (en ASCII)
ninguna capacidad de editar tableros
baja performance
el PyGobstones versi
on 0
interfaz de usuario b
asica
edici
on de tableros
mejoras notables de performance
el PyGobstones versi
on 1 (HOY hace su DEBUT)
interfaz de usuario mejorada
edici
on de tableros mejorada
incorporaci
on de caractersticas adicionales
(interactividad, vestimentas, etc.)
Gobstones
octubre 2013
32 / 41
Gobstones
Herramientas
Fidel (UNQ)
Gobstones
octubre 2013
33 / 41
Fidel (UNQ)
Gobstones
octubre 2013
34 / 41
Aplicaci
on del enfoque
Experiencias ya realizadas
Fidel (UNQ)
Gobstones
octubre 2013
35 / 41
Aplicaci
on del enfoque
Ver cita
Fidel (UNQ)
Gobstones
Ver cita
octubre 2013
36 / 41
Conclusiones
Fidel (UNQ)
Gobstones
octubre 2013
37 / 41
Conclusiones
Conclusiones
Fidel (UNQ)
Gobstones
octubre 2013
38 / 41
Conclusiones
Bibliografa
Pablo E. Martnez L
opez, Eduardo A. Bonelli, and Federico A. Sawady OConnor.
El nombre verdadero de la programaci
on. Una concepci
on de la ense
nanza de la
programaci
on para la sociedad de la informaci
on.
In Gabriel Baum and Nora Sabelli, editors, 10mo Simposio sobre la Sociedad de la
Informaci
on (SSI), dentro de las 41 Jornadas Argentinas de Inform
atica (JAIIO), Facultad
de Inform
atica, UNLP, setiembre 2012.
Pablo E. Martnez L
opez.
Las bases conceptuales de la Programaci
on. Una nueva forma de aprender a programar.
Publicaci
on libre CC, octubre 2013.
URL: http://www.gobstones.org/bibliografia/BasesConceptualesProg.pdf.
Fidel (UNQ)
Gobstones
octubre 2013
39 / 41
Conclusiones
Bibliografa
Edsger W. Dijkstra.
On the cruelty of really teaching computing science (EWD-1036).
E.W. Dijkstra Archive. Center for American History, 1989.
URL: http://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1036.PDF.
Fidel (UNQ)
Gobstones
octubre 2013
40 / 41
Conclusiones
Ahora la demo. . .
Y luego FIN
Fidel (UNQ)
Gobstones
octubre 2013
41 / 41
Expansiones de ideas
Fidel (UNQ)
Gobstones
octubre 2013
42 / 41
Expansiones de ideas
Expansi
on de elementos del lenguaje
Seleccion de contenidos
Categoras de elementos
Acciones, comandos, procedimientos
Valores, expresiones, funciones
Formas combinaci
on de elementos
secuencia (agregaci
on)
alternativa
repetici
on
VOLVER
Fidel (UNQ)
Gobstones
octubre 2013
43 / 41
Expansiones de ideas
Expansi
on de elementos del lenguaje
Seleccion de contenidos
Fidel (UNQ)
Gobstones
octubre 2013
44 / 41
Expansiones de ideas
Expansi
on de elementos del lenguaje
Seleccion de contenidos
Repetici
on
Fidel (UNQ)
secuenciaci
on
condicional (if-then-else)
indexada (switch)
{polimorfismo ad-hoc}
condicional (while)
indexada (repeat, foreach)
{recursi
on}
Gobstones
En valores
registros
{tuplas}
enumerativos
{variantes}
listas
{tipos recursivos}
octubre 2013
45 / 41
Expansiones de ideas
Expansi
on de elementos del lenguaje
Seleccion de contenidos
Para destacar. . .
Ambas categoras describen elementos
Las acciones aparecen como m
as concretas, por lo que empezamos por
ellas
Sin embargo, es importante remarcar su aspecto denotacional!
La falla en esto produce dificultades en la comprensi
on de los valores
Fidel (UNQ)
Gobstones
octubre 2013
46 / 41
Expansiones de ideas
Expansi
on de elementos del lenguaje
Seleccion de contenidos
Fidel (UNQ)
Gobstones
octubre 2013
47 / 41
Expansiones de ideas
Expansi
on de elementos del lenguaje
Fidel (UNQ)
Gobstones
octubre 2013
48 / 41
Expansiones de ideas
Expansi
on de manejo del lenguaje
Seleccion de contenidos
VOLVER
Fidel (UNQ)
Gobstones
octubre 2013
49 / 41
Expansiones de ideas
Expansi
on de manejo del lenguaje
Seleccion de contenidos
Fidel (UNQ)
Gobstones
octubre 2013
50 / 41
Expansiones de ideas
Expansi
on de manejo del lenguaje
Seleccion de contenidos
Fidel (UNQ)
Gobstones
octubre 2013
51 / 41
Expansiones de ideas
Expansi
on de manejo del lenguaje
Seleccion de contenidos
Fidel (UNQ)
Gobstones
octubre 2013
52 / 41
Expansiones de ideas
Expansi
on de manejo del lenguaje
Expansion de herramientas
abstractas
Fidel (UNQ)
Gobstones
octubre 2013
53 / 41
Expansiones de ideas
Expansi
on de herramientas abstractas
Seleccion de contenidos
Divisi
on en subproblemas
Parametrizaci
on
Parcialidad y precondiciones
Esquemas de programas sencillos
VOLVER
Fidel (UNQ)
Gobstones
octubre 2013
54 / 41
Expansiones de ideas
Expansi
on de herramientas abstractas
Seleccion de contenidos
Fidel (UNQ)
Gobstones
octubre 2013
55 / 41
Expansiones de ideas
Expansi
on de herramientas abstractas
Seleccion de contenidos
Fidel (UNQ)
Gobstones
octubre 2013
56 / 41
Expansiones de ideas
Expansi
on de herramientas abstractas
Seleccion de contenidos
Fidel (UNQ)
Gobstones
octubre 2013
57 / 41
Expansiones de ideas
Expansi
on de herramientas abstractas
Seleccion de contenidos
Precondiciones
Herramienta b
asicamente abstracta
Permite el razonamiento del programa en alto nivel
Fidel (UNQ)
Gobstones
octubre 2013
58 / 41
Expansiones de ideas
Expansi
on de herramientas abstractas
Seleccion de contenidos
Fidel (UNQ)
Gobstones
octubre 2013
59 / 41
Expansiones de ideas
Expansi
on de herramientas abstractas
Seleccion de contenidos
Fidel (UNQ)
Gobstones
octubre 2013
60 / 41
Expansiones de ideas
Expansi
on de herramientas abstractas
Seleccion de contenidos
(C) Herramientas abstractas 4 - Esquemas de programas sencillos (cont.)
procedure PintarTablero()
{
// OBJETIVO: "Pinta" el tablero de rojo
//
(colocando una bolita roja en cada celda)
// PRECONDICION: ninguna, dado que es una operacion total
// OBSERVACIONES: se estructura como recorrido sobre columnas
IrALaPrimeraColumna()
// inicializaci
on
while(hayOtraColumna())
// condici
on de corte
{
ProcesarColumnaActual()
// procesamiento de un elemento
PasarASiguienteColumna()
// paso al siguiente
}
ProcesarColumnaActual()
// finalizaci
on
}
VOLVER
Fidel (UNQ)
Gobstones
octubre 2013
61 / 41
Expansiones de ideas
Expansi
on de herramientas abstractas
Expansion de contenidos
adicionales
Fidel (UNQ)
Gobstones
octubre 2013
62 / 41
Expansiones de ideas
Expansi
on de contenidos adicionales
Seleccion de contenidos
Contenidos adicionales
Modelado de informaci
on?
Lo mnimo imprescindible
De hecho, se usa desde el principio
Pero se explicita solo al final y no se pone enfasis en ella
Los estudiantes pr
acticamente no modelan por s mismos
Entrada/Salida?
No, puesto que la entrada/salida
es eminentemente operacional
desva el foco de atenci
on de los aspectos denotacionales
requiere herramientas de abstracci
on complejas
VOLVER
Fidel (UNQ)
Gobstones
octubre 2013
63 / 41
Expansiones de ideas
Expansi
on de contenidos adicionales
Seleccion de contenidos
Programaci
on orientada a objetos?
No, puesto que la programaci
on orientada a objetos
tiene muchos m
as conceptos que transmitir
varios de esos conceptos no son transversales
precisa como base los elementos impartidos
VOLVER
Fidel (UNQ)
Gobstones
octubre 2013
64 / 41
Expansiones de ideas
Expansi
on de contenidos adicionales
Seleccion de contenidos
Fidel (UNQ)
Gobstones
octubre 2013
65 / 41
Expansiones de ideas
Expansi
on de contenidos adicionales
Seleccion de contenidos
Fidel (UNQ)
Gobstones
octubre 2013
66 / 41
Expansiones de ideas
Expansi
on de contenidos adicionales
Expansion de problematicas
asociadas
Fidel (UNQ)
Gobstones
octubre 2013
67 / 41
Expansiones de ideas
Expansi
on de problem
aticas asociadas
Problematicas asociadas
Fidel (UNQ)
Gobstones
octubre 2013
68 / 41
Expansiones de ideas
Expansi
on de problem
aticas asociadas
Problematicas asociadas
Fidel (UNQ)
Gobstones
octubre 2013
69 / 41