Sei sulla pagina 1di 8

Pgina 1 de 8

Proyecto con puntaje


Ensear programacin desde un enfoque conceptual
Contenido
Sntesis del proyecto ........................................................................................................................................................ 1
Destinatarios..................................................................................................................................................................... 1
Fundamentacin ............................................................................................................................................................... 2
Objetivos .......................................................................................................................................................................... 2
Contenidos ....................................................................................................................................................................... 2
Duracin y carga horaria .................................................................................................................................................. 3
Propuesta didctica........................................................................................................................................................... 3
Semana 1 ....................................................................................................................................... 3
Semana 2 ...................................................................................................................................... 4
Semana 3 ....................................................................................................................................... 4
Semana 4 ....................................................................................................................................... 4
Semana 5 ....................................................................................................................................... 4
Semana 6 ....................................................................................................................................... 5
Semana 7 ....................................................................................................................................... 5
Semana 8 ........................................................................................................................................ 5
Presentacin de materiales de acuerdo con la modalidad del curso ................................................................................. 5
Bibliografa ...................................................................................................................................................................... 6
Evaluacin ........................................................................................................................................................................ 6
Sntesis del proyecto
Esta capacitacin busca presentar un enfoque nuevo a la enseanza de la primera
materia de programacin, basado en nociones conceptuales fundamentales. El enfoque
permite ir incorporando los conceptos de manera gradual, pero de forma tal que se
construye en el estudiante una slida base sobre la que materias posteriores pueden
abundar en detalles. Se trabajar en 2 ejes: el de contenidos, donde se presentan los
temas que conforman la enseanza de la materia, y el de fundamentos, donde se
presentan las razones de la seleccin y ordenamiento de los temas.
La secuencia de temas comienza con la presentacin de comandos y expresiones;
contina con la nocin de procedimientos y luego incorpora la idea de parametrizacin,
trabajando con abundantes ejemplos; sigue con estructuras de control (secuencia,
repeticin y alternativa), al tiempo que introduce la idea de funciones; finalmente se
presentan recorridos de secuencias como esquema de programas, integrando todos los
temas.
Pgina 2 de 8
Destinatarios
Docentes de la materia "Laboratorio de Programacin I" de las Escuelas Secundarias Tcnicas
con orientacin Programacin o Informtica Personal y Profesional que deseen incorporar un
enfoque conceptual en el dictado de su materia.
Fundamentacin
La enseanza de la programacin ha tenido multiples enfoques, pero en general se basa en la
eleccin de un lenguaje especfico de moda (por ejemplo, Logo, Pascal, Java) y la enseanza de
los conceptos asociados a ese lenguaje particular; o bien la eleccin de alguna herramienta
informtica especfica (en la forma de algn programa con capacidades grficas, por ejemplo,
EToys\ o Alice), y ensear a partir de las capacidades de dichas herramientas. Esta propuesta es
de carcter radical con respecto a las anteriores, en cuanto a que se basa fuertemente en
conceptos fundamentales (que fueron cuidadosamente seleccionados y testeados) y minimiza el
impacto de las herramientas, presentando un lenguaje de programacin diseado sobre estos
conceptos con el propsito especfico de concentrar la enseanza en los mismos,
mantenindose as simple en su concepcin y transmisin.
Esto permite formar tcnicos con habilidades suficientes para adaptarse a los tiempos modernos,
tan cambiantes en cuanto a herramientas especficas, tecnologas y desarrollos. La contribucin
ms importante de este enfoque es que no depende de herramientas ad-hoc, que pueden ir
mutando con el tiempo, sino en ideas sencillas, poderosas y perdurables.
El enfoque de este curso se viene probando con xito en el nivel inicial de la carrera de
Tecnicatura en Programacin de la Universidad Nacional de Quilmes.
Objetivos
Los objetivos principales son que los capacitandos puedan:
incorporar los conceptos fundamentales de la programacin
comprender porqu los conceptos aprendidos son fundamentales
comprender que la enseanza de los conceptos es independiente de los lenguajes y las
herramientas
proponer ejercitacin para la enseanza de los conceptos en el aula.
Si bien los conceptos fundamentales de la programacin son independientes de los lenguajes y
herramientas utilizadas, es conveniente explicar los mismos en algn lenguaje especfico. La
Pgina 3 de 8
propuesta de este proyecto es utilizar Gobstones como lenguaje de enseanza. Por este motivo,
son objetivos secundarios que el capacitando:
domine el lenguaje Gobstones con fluidez.
entienda cmo se implementan los conceptos fundamentales de programacin en
Gobstones y sus por qu.
Contenidos
1. Elementos de Gobstones (tablero, cabezal, bolitas, colores). Comandos (Poner, Mover,
Sacar). Operaciones (puedeMover, hayBolitas, etc.). Estado inicial de un tablero.
2. Procedimientos y funciones. Punto de entrada de un programa. Invocacin, parmetros y
argumentos.
3. Parcialidad y precondiciones. Errores: operaciones invlidas, errores lgicos, no
terminacin.
4. Valores, expresiones y tipos. Evolucin del valor denotado por una expresin (estado del
programa).
5. Estructuras de control: alternativa condicional (if-then-else), repeticin indexada
(repeatWith), repeticin condicional (while).
6. Variables e ndices. Operacin de asignacin. Alcance de los identificadores (parmetros,
variables, ndices).
7. Esquemas de recorridos lineales de estructuras. Clases de recorridos: completo, parcial,
con acumuladores, etc.
8. Justificacin de las caractersticas de Gobstones en funcin de la enseanza de los
conceptos fundamentales.
Duracin y carga horaria
El curso de capacitacin durar 8 semanas. En cada semana se dictar una clase terica y
habr dos talleres prcticos, siendo cada encuentro de 4 horas reloj cada uno (6 horas ctedra).
Propuesta didctica
En las clases tericas se introducen los conceptos fundamentales de programacin que los
capacitandos deben adquirir, a la vez que se discuten la implementacin de estos conceptos en
el lenguaje Gobstones, y las motivaciones pedaggicas que sustentan dicha implementacin.
Pgina 4 de 8
Los talleres prcticos sirven como refuerzo de las clases tericas y tienen dos objetivos
principales. El primero es que los capacitandos ejerciten los conceptos de programacin en el
lenguaje Gobstones, de forma tal que puedan programar con fluidez. El segundo es discutir la
forma de transmitir estos conceptos fundamentales a los alumnos en el aula, haciendo hincapi
en el concepto a transmitir y no en la herramienta utilizada (que en nuestro caso es Gobstones).
A continuacin se exponen los temas a tratar en cada semana:
Semana 1
1. Presentacin del curso. Instalacin de PyGobstones (el sistema que implementa el
lenguaje Gobstones). Objetivos del curso. Conceptos que el alumno de la escuela
secundaria debera aprender.
2. Elementos de Gobstones: tablero, cabezal, bolitas, colores, etc. Comandos Poner, Mover,
Sacar. Procedimiento Main. Documentacin y uso de comentarios.
3. Discusin de conceptos. Programacin imperativa. Comandos Gobstones vs
instrucciones imperativas. Memoria Fsica vs. Tablero. Ventajas de la documentacin.
4. Debate. Por qu usar programacin imperativa?, Por qu utilizar un tablero?
Semana 2
1. Contenidos: Parcialidad y precondiciones. BOOM y errores lgicos. Procedimientos.
Parmetros y argumentos. Alcance de los parmetros. Divisin en subtareas: reutilizacin
de cdigo, abstraccin. Estrategias de programacin top-down vs. bottom-up.
2. Discusin de conceptos. Precondiciones vs manejo de errores (cundo, dnde y porqu
utilizar uno o el otro). Estado inicial de un programa.
3. Debate. Por qu los tableros iniciales son aleatorios? Cmo fomentar la abstraccin en
los alumnos? Cmo lograr que un alumno divida su problema en subproblemas?.
Semana 3
1. Contenidos: Alternativa condicional (if-then-else). Valores de verdad (bool) y numricos.
Operaciones de consulta del tablero (puedeMover, hayBolitas, nroBolitas). Valores de
colores y direcciones. Operaciones provistas por el lenguaje. Introduccin a expresiones.
Repeticion indexada. Indices y Rangos.
2. Discusin de conceptos. Precondiciones y alternativa condicional (cundo, dnde y
porqu usar uno o el otro). Comandos vs. operaciones (i.e., ejecucin vs. evaluacin de
estado). Repeticin finita pero no acotada. Robustez de un programa ante cambios (uso
de repeat vs. copiar/pegar).
Pgina 5 de 8
3. Debate. Por qu separar los conceptos de comando y operacin? Por qu es
necesaria la repeticin finita? Cmo se puede fomentar la calidad expresiva de un
programa?
Semana 4
1. Contenidos: Valores, expresiones y tipos. Formalizacin rigurosa de la alternativa
condicional y la repeticin indexada utilizando expresiones y tipos. Funciones.
2. Discusin de conceptos. Computo de valores. Comandos y operaciones como
procedimientos y funciones provistos por el lenguaje. Uso de funciones para brindar
expresividad y abstraccin. Simulacin de constantes. Diferencias entre estado vs
denotacin.
3. Debate. Por qu las funciones son "puras" (i.e. no modifican el estado del tablero)?.
Por qu es importante dividir los cmputos denotacionales de los operacionales? Por
qu es necesario formalizar las expresiones y qu utilidad tienen los tipos?
Semana 5
1. Contenidos: Repeticin condicional (while). Propsito de ciclo (i.e., invariante de un ciclo).
Recorridos bsicos del tablero. Esquema general de recorrido. Recorridos parciales del
tablero.
2. Discusin de conceptos. Terminacin y guarda. Parcialidad por no terminacin.
Recorridos de estructuras. Casos de borde. Uso de marcas para guardar estados. Pureza
de las funciones para ocultar las marcas.
3. Debate. Por qu es necesaria la repeticin condicional y no alcanza con la indexada?
Cules son las ventajas de las precondiciones en los recorridos? Por qu no anidar
repeticiones? Cul es el objetivo del propsito de ciclo?
Semana 6
1. Contenidos. Variables. Alcance de los distintos identificadores (parmetros, ndices y
variables). Inicializacin. Propsito de una variable. Recorridos con variables:
acumuladores, contadores, etc.
2. Discusin de conceptos. Parmetros vs. variables vs. ndices, diferencias semnticas.
Prohibicin de variables globales. Inicializacin autmatica. Tablero como nico espacio
de memoria fsica.
3. Debate. Por qu las variables se consideran como expresiones denotacionales y no
cmo espacios de memoria? Por qu las variables se inicializan en BOOM y no en
basura o en un valor conocido? Por qu las variables globales estn prohibidas?
Pgina 6 de 8
Semana 7
1. Contenidos. Repaso de conceptos fundamentales y cmo se relacionan: divisin en
subtareas, propsitos, precondiciones, documentacin, robustez. Expresiones booleanas
vs alternativas condicionales.
2. Ejercicios tipo de recorridos. Funciones vs. variables.
3. Discusin de todos los conceptos aprendidos
Semana 8
Clase de integracin resolviendo un ejercicio completo en el que se programa una mini-
aplicacin. Diseo de trabajos prcticos en Gobstones.

Presentacin de materiales de acuerdo con la modalidad del curso
El esquema de clase prctica estar centrado en los contenidos dados en la clase terica
anterior. Se da un breve repaso de los conceptos, enumerando algunos ejemplos y aumentando
gradualmente su grado de abstraccin. Dependiendo de la evolucin de los capacitandos en el
tema especfico (por ser la primera o segunda clase prctica luego de la teora) se proceder a
realizar diferentes actividades durante la clase:
1. Ejercicios sobre la computadora. Para ayudarlos a entender la herramienta, los conceptos
asociados.
2. Resolucin participativa de ejercicios, en pizarrn.
3. Discusin de errores comunes en los que los capacitandos deberan poner atencin.
4. Experiencia de los capacitandos con los mismos conceptos en sus aulas.
5. Solicitar que los capacitandos piensen ejercicios similares a los de la gua actual que ellos
consideren que aplican. Discutir su utilidad y/o dificultades que pudieran surgir, con
objetivos de ejercitacin y evaluacin.
6. Entregas escritas, individuales y/o grupales, de ejercicios cortos similares a los vistos en
clase. Con objetivos de ejercitacin, evaluacin y autoevaluacin.
7. Presentacin de solucin al curso. Que los capacitandos (por turnos) presenten a toda la
clase, su solucin propuesta para un ejercicio.
8. Resolucin de ejercicios terico-prcticos con PyGobstones, con objetivos de ejercitacin
y autoevaluacin.
9. Mostrar en pantalla con uso de caon, la resolucin de un ejercicio con mayor grado de
abstraccin. Con objetivos de mostrar el uso de los conceptos aprendidos y como se
Pgina 7 de 8
utilizan en la herramienta propuesta. Que los capacitandos perciban el estmulo de
motivacin que genera ver resultados de la resolucin de ejercicios ms complejos.
Bibliografa
"El nombre verdadero de la programacin. Una concepcin de la enseanza de la
programacin para la Sociedad de la Informacin", Martnez Lpez, Pablo E., Bonelli,
Eduardo A., Sawady O'Connor, Federico A. 10mo Simposio sobre la Sociedad de la
Informacin, dentro de las 41ras Jornadas Argentinas de Informtica (JAIIO). Gabriel
Baum y Nora Sabelli, editores; Facultad de Informtica, UNLP. Setiembre 2012.
"Introduccin a la programacin en Gobstones", Martnez Lpez, Pablo E.; Bonelli,
Eduardo A. Apuntes de clase de la materia "Introduccin a la Programacin", Tecnicatura
en Informtica, UNQ. Mayo 2010.
"Introduccin a la programacin, para la carrera de Licenciatura en Artes y Tecnologas",
Martnez Lpez, Pablo E., Sawady O'Connor, Federico A. Universidad Virtual de Quilmes,
2012. ISBN en trmite.

Evaluacin
En cada encuentro prctico, los docentes evaluarn el desarrollo de cada capacitando, tanto en
los contenidos como en las habilidades desarrolladas en la programacin con Gobstones. Estas
evaluaciones servirn tanto para establecer una calificacin de concepto de los capacitandos
como de retroalimentacin para que los docentes realicen modificaciones y ajustes en la
planificacin de las tareas. Para obtener la aprobacin del curso, los capacitandos debern
obtener una calificacin de aprobado que asegure el setenta por ciento de los contenidos
mnimos en todas las instancias de evaluacin:
1. Calificacin de concepto.
2. Elaboracin individual de una gua de ejercicios de Gobstones (y resolucin de la misma)
para utilizarse con estudiantes de nivel secundario.
3. Elaboracin individual del enunciado de un examen que podra ser utilizado en el curso
de Laboratorio de programacin 1. Resolucin de este examen.
4. Una evaluacin prctica de aptitud sobre instalacin y uso de PyGobstones, realizada en
una computadora por capacitando.
5. Una evaluacin personal integradora de los contenidos tericos y prcticos.
Pgina 8 de 8
Si el capacitando no obtuviese la aprobacin en alguna de las mencionadas instancias, tendr
posibilidad de recuperacin donde aplique la devolucin de los docentes.

Potrebbero piacerti anche