Enseñar pensamiento lógico,
mediante la programación en la Escuela Media
María Carolina Alonso Corti, Germán García Pacek y Corinne María Schoepf
Escuela Provincial de Educación Técnica N° 6 – Neuquén
RESUMEN
Los docentes de la EPET N° 6 presentan un proyecto de trabajo destinado a estudiantes de 2° y 3° Año que tiene como fin el desarrollo del pensamiento lógico, y como una de sus principales herramientas la enseñanza de la programación. “Se plantea también “permitirse el juego”, mediante el uso de otros programas creativos (Lightbot, Human resouce machine), para promover que los alumnos experimenten, creen y tomen decisiones para obtener resultados.
PALABRAS CLAVE
EPET 6, proyectos pedagógicos, programación.
PRESENTACIÓN
El proyecto está planificado para ser desarrollado en dieciséis encuentros; esto incluye su presentación a los alumnos, el acompañamiento docente mediante explicaciones teóricas de conceptos fundamentales de la programación, como la forma en que se comportan las computadoras al ejecutar programas y la manera en que se deben expresar las instrucciones al programar, las estructuras de control básicas de la programación (repetición, alternativas condicionales, repetición condicional), el uso de parámetros y el concepto interactividad por medio de juegos.
Los destinatarios son los alumnos de 2do y 3ero de la Escuela Provincial de Educación Técnica N° 6 (EPET N° 6) que cursan Computación- Informática, una de las cuatro secciones de Taller.
La metodología tradicional para trabajar en la sección es la exposición teórica por parte de la docente, y seguimiento de los alumnos mediante ejercicios cortos, con el fin de que se familiaricen con la herramienta Scratch 2.0. Se plantean cinco bloques conceptuales: autómatas comandos y procedimientos, alternativas condicionales, repetición condicional, parametrización de soluciones, interactividad.
En este marco se plantea este proyecto, cuyo objetivo es introducir los principios de la programación, a partir de ejemplos prácticos. Luego los alumnos deberán ir resolviendo los diferentes ejercicios en forma más autónoma teniendo en cuenta los conceptos enseñados, modularización, claridad en la programación, reutilización de código.
De este modo, los alumnos adquieren destrezas y habilidades relacionadas con el uso de distintos software de programación, como son lightbot, Human resource machine, schatch 2. Su actividad abarcará desde la identificación de situaciones claves: ¿cuándo se acaba el juego? ¿Cuáles son los obstáculos que debe superar? ¿Cuáles son las certezas que tengo? ¿Cuáles son las incógnitas? ¿Qué estructuras de control me serán útiles? hasta la generación y la prueba de sus programas. El uso de distintos software permitirá mejorar y reforzar habilidades, conocimientos o actitudes.
PROPÓSITOS
Propiciar la reflexión acerca de la utilidad de los programas para representar ideas y resolver problemas.
Favorecer la reflexión sobre la noción de que las computadoras sirven para ejecutar programas y realizan lo que el programa indique.
Estimular la confianza de los alumnos mediante el uso y la ejecución de programas diseñados por ellos mismos.
OBJETIVOS
Generales
Que el alumno logre:
Comprender la noción de algoritmo y desarrollar algoritmos utilizando secuencias de comandos y estructuras de control.
Comprender que los programas pueden resolver problemas específicos, que es necesario pensar el problema y luego proponer una solución a través de la programación, que resolver un problema es más simple si lo descomponemos.
Comprender que no hay un único camino para resolver un problema y que existen precondiciones que los comandos deben cumplir o no podrán ejecutarse.
Específicos
Que el alumno logre:
Crear programas, de manera que no se limiten a ser usuarios de aplicaciones realizadas por terceros.
Reflexionar críticamente y trabajar en forma colaborativa, a través de la detección y corrección de errores de los programas propios y ajenos.
Trabajar con conceptos relacionados con las ciencias de la computación para desarrollar habilidades de pensamiento computacional.
FUNDAMENTACIÓN
La programación es una de las áreas más importantes de las ciencias de la computación. Estas abordan el estudio de las computadoras desde los principios lógicos y formales que hacen posible su funcionamiento, es decir, más allá de los detalles que presentan las tecnologías concretas que utilizamos a diario. Como disciplina, la programación está orientada al desarrollo de una serie de habilidades de abstracción y operacionalidad. Para poder programar será necesario el desarrollo de dos tipos de habilidades. El primer tipo de habilidades incluye técnicas como la simplificación de problemas, la definición de soluciones generales aplicables a problemas similares y la asignación de nombres significativos a las distintas partes de una solución. El segundo tipo de habilidades, las operacionales, supone la definición de soluciones en términos de un conjunto de pasos que deben ejecutarse en un orden determinado para alcanzar un objetivo.
Se plantea también “permitirse el juego”, mediante el uso de otros programas creativos (lightbot, Human resouce machine), para promover que los alumnos experimenten, creen y tomen decisiones para obtener resultados.
CONTENIDOS
Unidad 1. Noción de programa y autómata. Comandos y variables.
En esta parte se trabajará sobre algunas nociones elementales de programación. Al respecto, interesa destacar que un programa puede ser entendido como un conjunto de instrucciones (correspondientes a comandos) destinadas a ser ejecutadas por un autómata: la computadora. De manera más específica, estas instrucciones son descripciones de soluciones a problemas. Programar implica, por lo tanto, delimitar problemas para poder luego formular las soluciones adecuadas. Para ello, se propone emplear una estrategia llamada división en subtareas, que consiste en dividir una acción en otras acciones más pequeñas, incluidas en aquella.
Unidad 2. Noción de procedimientos y funciones. Parámetros
Estrategia de división en subtareas. Planificación de la solución de un problema de programación. Identificación de subproblemas. Procedimientos. Denominación y síntesis del objetivo de un procedimiento. Identificación de patrones.
Pasaje de parámetros. Se aborda la creación de parámetros, es decir, de datos que, al ser recibidos por un procedimiento, hacen que la ejecución de este varíe. Se trata de uno de los temas más interesantes de la programación informática. El empleo de parámetros permite reducir notoriamente la extensión de los programas e incrementar su versatilidad. En las secuencias que siguen, se propone comenzar con la identificación de pequeñas variaciones entre grupos de componentes similares para luego, en un mayor nivel de formalización, reconocer valores que describen datos y, desde allí, arribar a la noción de parámetro.
Unidad 3. Estructuras de control: Repeticiones simples. Alternativas condicionales. Repeticiones condicionales.
Se trabajará con el bucle “ciclo para”; “por siempre”; “si”; “si y sino” y “repetir hasta que”.
METODOLOGÍA
El desarrollo total del proyecto se planifica en cinco fases:
La primera se centra en la forma en que se comportan las computadoras al ejecutar programas y en la manera en que se deben expresar las instrucciones al programar. Además, en esta parte se introducirá el concepto de repetición, que permite reducir de forma considerable el código escrito.
La segunda trata el uso de alternativas condicionales, es decir, instrucciones cuya ejecución está supeditada al cumplimiento de una condición, lo que posibilita la inclusión de la toma de decisiones en los programas, de manera que el funcionamiento de estos dependa de cierta información sobre el contexto en el que se ejecutan.
La tercera fase recupera y reformula los conceptos de repetición y condición trabajados en las partes anteriores a través propósitos generales de un nuevo tipo de repetición: la repetición condicional.
La cuarta aborda la realización de programas más generales mediante un mecanismo conocido como parametrización.
Por último, la quinta fase, importante para motivar y concretizar el aprendizaje de los alumnos, procura indagar en algunos aspectos de la interactividad por medio de la programación de juegos.
Para facilitar la planificación y el trabajo en clase, los contenidos se presentan en forma de secuencias didácticas, en las que la realización de actividades se integra con la problematización de los conceptos involucrados en ellas; a esto sigue un grupo de actividades que funcionan como ejercicios, que permiten reforzar y profundizar lo aprendido. Como parte de la tarea de planificación, queda a criterio de cada docente la determinación de la cantidad de clases que requiere el desarrollo de cada secuencia didáctica; no obstante, de manera general, convendrá tener en cuenta que, en la mayoría de los casos, serán necesarias al menos dos clases por secuencia.
EVALUACIÓN
La evaluación será continua, mediante la observación permanente de los programas desarrollados. La idea es evaluar sin la presión de que el grupo áulico lo sepa, permitiendo así desplegar la creatividad sin la influencia de una evaluación tradicional.
De igual forma, se cuestionará a los estudiantes, acerca de las distintas soluciones propuestas, mejorándolas entre todos, para encontrar la más óptima.
RECURSOS DEL PROYECTO
Humanos:
Docentes de computación. Alumnos de la institución educativa.
Materiales:
Papel y material digital: cuaderno para el docente, del sitio Program.ar.
Equipos y Software: 14 computadoras, más la de la docente, máquina de fotos, Lightbot, Human resouce machine, scratch 2.
Espacios:
Aula de informática
BIBLIOGRAFÍA
Factorovich, P. M. (2015). Actividades para aprender a programar: Segundo ciclo de la educación primaria y primero de la secundaria. CABA: Fundación Sadosky. Recuperado el 24/6/2016 de http://www.fundacionsadosky.org.ar/wp-content/uploads/2015/08/Actividades%20para%20aprender%20a%20Programar.pdf