En el nivel secundario, los conceptos y prácticas básicos de informática (CS) se enseñan en cursos típicamente dentro del grupo de carreras de tecnología de la información (TI) bajo el paraguas de la educación profesional y técnica (CTE). Sin embargo, los conceptos y prácticas de CS también se están incorporando cada vez más en los académicos y también en las asignaturas optativas (y están influenciados por el arte y el diseño).
Sin importar la disciplina, la creación de artefactos computacionales es una de las prácticas básicas de CS que los estudiantes deben experimentar constantemente para convertirse en mejores solucionadores de problemas. Los artefactos computacionales pueden incluir imágenes, videos, presentaciones, archivos de audio y programas de computadora.
La práctica precisa y consistente en programación informática (POP) ayudará a los estudiantes a construir conocimientos transversales en conjunto con conceptos y prácticas académicos y de CS. Como el POP es el proceso de escribir un programa de principio a fin, los estudiantes reciben exposición en la fusión de las prácticas 3-6 que se encuentran en el Marco de Ciencias de la Computación de K-12.
Entonces, ¿cómo podemos involucrar con éxito a los estudiantes en el POP? Así es como podemos hacerlo en cuatro pasos principales.
Paso 1: Identificar el problema
Cuando los estudiantes son nuevos en CP, generalmente comenzamos a enseñarles cómo programar y programar mediante tutoriales. Aunque no hay nada malo en eso, no queremos mantenerlos allí.
Por lo general, el escritor de un tutorial ya ha identificado tanto el problema como la solución del programa. La mejor manera de que los niños aprendan es escribiendo sus propios problemas y soluciones y creando sus propios programas. De lo contrario, se centrarán más en aprender a codificar funciones específicas en un lenguaje en particular, que generalmente no es diferente de la memorización de memoria, que debe reemplazarse con el desarrollo de memoria de trabajo.
Identificar (o definir) el problema es la parte más crítica del proceso del POP, ya que los estudiantes necesitarán desarrollar un plan concreto para lo que hará su programa completo. Este proceso implica identificar tanto las entradas conocidas (o datos dados) como lo que se debe obtener a través de salidas (el resultado). Aunque el POP no es un proceso simple, la práctica consistente y precisa aumentará la confianza de los estudiantes con el tiempo para articular los detalles sobre el tipo de entrada, procesamiento y salida deseados para sus programas. Para que los estudiantes se inicien en la programación, lea esta gran introducción a una lección para crear y compartir aplicaciones Code.org.
Paso 2: Encontrar una solución
Para encontrar o planificar la solución al problema identificado en el Paso 1, los estudiantes pueden crear un diagrama de flujo o escribir un pseudocódigo. Los programadores experimentados pueden y utilizarán cualquiera de estos métodos para transmitir el desarrollo del programa a clientes, maestros, etc.
Un diagrama de flujo es una solución paso a paso a un problema que utiliza una representación pictórica de la dirección del programa y consiste en flechas, cajas y otros símbolos que representan acciones (es decir, entrada/salida, proceso, etc.).). El pseudocódigo es similar al inglés y se utiliza para transmitir la solución con más precisión que en el inglés simple, pero con menos meticulosidad requerida por un lenguaje de programación formal.
El proceso de solución permite al programador centrarse en el flujo lógico del programa sin tener que adherirse a la sintaxis real utilizada por el lenguaje de programación para el proyecto. Echa un vistazo a esta divertida lección de Tecnovación para ayudar a tus estudiantes a planificar su código.
Paso 3: Codifíquelo
A menudo, la codificación se confunde con la programación, pero la codificación es solo una parte del proceso de programación. Los buenos programadores pueden crear instrucciones a partir de las soluciones (discutidas en el paso 2) y escribirlas en código para que la computadora las entienda. Aquí es donde entran en juego las habilidades de diseño algorítmico del pensamiento computacional.
Ayuda cuando piensas en tu problema como un problema matemático, no porque siempre estés haciendo muchas matemáticas mientras programas, sino porque el proceso de pensamiento es el mismo. En matemáticas, a menudo usamos conjuntos algorítmicos de instrucciones que seguimos en una secuencia de pasos para lograr un objetivo. Ese proceso se compara tanto con un diagrama de flujo bien detallado como con el código (en un lenguaje de programación específico).
Practicar la codificación ayudará a los estudiantes a comprender que la codificación no es complicada cuando aprenden a pensar de forma lógica y en pasos. Hacer que los estudiantes comiencen a escribir programas simples les enseñará cómo dar instrucciones a las computadoras, cómo funcionan realmente las computadoras y que los buenos programadores no son vagos y no omiten pasos. También entenderán que el código que escriben es procesado (traducido) por un compilador en lenguaje de máquina para su ejecución.
Para los niños que son nuevos en la codificación, recomiendo comenzar con un lenguaje de programación visual (VPL), que permite a los niños describir sus algoritmos utilizando ilustraciones y permite a los programadores describir el proceso en términos que tengan sentido para ellos.
Aquí hay algunos VPLs populares:
- Scratch, ScratchJr
- Blockly
- Ardublock (lenguaje de programación de bloques para Arduino)
- ROBOLAB (lenguaje de programación para LEGO Robotics)
- ROBOTC (gráfico para VEX Robotics)
- LabVIEW (Instrumentos nacionales)
Aunque hay varias maneras de que los estudiantes se inicien en la codificación, recomiendo encarecidamente que toda la escuela participe en una Hora de Código y también enseñe a los niños a programar en el contexto de un desafío de diseño STEM/STEAM.
Paso 4: Test it
La prueba en CP es un proceso crítico que se utiliza para determinar la calidad de un programa y encontrar errores (problemas). Como pasante de la universidad, me presentaron por primera vez las pruebas y la depuración de controles ActiveX en el lenguaje de programación Visual Basic. Aunque las pruebas tienen diferentes niveles y determinarán si los programas funcionan o no, trabajar para encontrar errores para que los desarrolladores de software los corrijan fue muy poderoso para ayudarme a comprender la calidad de los programas que usaba todos los días y también la importancia de actualizarlos regularmente.
Exigir a los estudiantes que presenten su trabajo públicamente, es una excelente técnica para involucrarlos e inculcarles la importancia del proceso de prueba para discutir y mostrar el trabajo de CS de alta calidad. De nuevo, el Laboratorio de aplicaciones (en el paso 1) es una gran lección y proyecto para ayudar a los niños a aprender PC desde el principio hasta las pruebas.
CP para diferentes niveles de grado
La programación de computadoras se puede enseñar en todos los niveles de grado. Aquí hay algunas herramientas para usar con estudiantes de varias edades y niveles.
Grados 3-8: Kit de Código de littleBits. El kit de código viene equipado con bloques de construcción electrónicos y una aplicación con tutoriales de codificación, y es un excelente andamio para enseñar a los estudiantes los conceptos de codificación, luz, sonido y movimiento en el contexto de un desafío de diseño o invención.
Lo que encuentro más poderoso del kit de código es la aplicación porque ayuda a los usuarios a basarse en los principios básicos de codificación. Un buen codificador, sin importar el idioma o la experiencia de codificación, necesitará comprender los conceptos básicos, como entrada/salida, bucles, funciones, variables y también lógica. El éxito siempre se relaciona con el desarrollo de la auto-maestría interna de los fundamentos. Como el Dr. Stephen R. Covey, autor de Los 7 Hábitos de las Personas Altamente Efectivas, dijo una vez: «Lo primero es lo primero.»
El kit de código también funciona en conjunto con todos los recursos educativos que un educador necesitaría, incluidos planes de lecciones, folletos para estudiantes y alineación con los Estándares de Ciencia de Próxima Generación. Muchos de los recursos fueron probados y desarrollados por la Cohorte de Educadores Líderes de littleBits de 2017 y, como miembro orgulloso, tuve la suerte de haber trabajado y aprendido con un grupo de educadores tan talentosos.
Grados 6-8: robótica. Hacer que los niños comiencen a programar es bastante fácil. En mi papel anterior como especialista en planes de estudios, usamos el robot Lego Mindstorms como introducción. Estos fueron los pasos que tomamos para ayudar a los niños a comprender conceptos clave, así como la programación:
- Construyan sus robots. Prácticamente a todos los niños les encantó esta parte.
- Aprende lo básico. A través de tutoriales exploratorios, aprendieron sobre motores, sensores, engranajes y otros componentes.
- Aprende a programar. El ladrillo tenía seis misiones integradas, que permitían a los estudiantes ver cómo hacer que el robot se moviera con motores y responder al tacto o al movimiento con sensores. A medida que se acostumbraron más a los programas incorporados, comenzaron a hacer sus propios programas, utilizando bloques de programación ROBOLAB.
- Conéctese a CS y STEM. Descubrimos que esto ayudó en gran medida a elucidar los conceptos y la práctica del reconocimiento de patrones y el diseño algorítmico. Y luego, por supuesto, lecciones en CS y STEM, que incluyeron codificación, fuerza y movimiento, diseño y tecnología. También descubrimos que el kit VEX IQ era excelente para propósitos similares y usamos VEX y Lego, basados en los diferentes eventos competitivos en los que participaron nuestros estudiantes.
Grados 8-12: robótica avanzada. Para los estudiantes de secundaria que ya han practicado la codificación utilizando una VPL y que ya dominan o están dominando los principios de programación fundamentales, el siguiente paso es hacer que codifiquen en un lenguaje de programación codiciado de la industria como JavaScript, Python, Pearl o C++. Afortunadamente, programar un robot como el VEX EDR les da a los estudiantes de secundaria una introducción a esta valiosa experiencia de aprendizaje. Los estudiantes que programan el VEX EDR aprenden a usar el lenguaje de programación basado en C ROBOTC y pueden ver los efectos del código que escriben en tiempo real resolviendo problemas utilizando el proceso de diseño de ingeniería.
Recientemente comencé a aprender a programar el VEX EDR cuando participé en un curso de Diseño de Ingeniería de capacitación con la Asociación Internacional de Educadores de Tecnología e Ingeniería. Fue allí donde conocí y me asocié con Tim Oltman, la maestra del año de Martha Layne Collins high school. Él y su compañero maestro Shane Ware tienen una considerable experiencia enseñando a niños a programar robots para varios eventos competitivos de robótica VEX y han ganado numerosos premios en Kentucky.
Le pregunté a Tim sus ideas sobre cómo los maestros deben proceder al trasladar a los niños de la programación en una VPL a un programa basado en C como para VEX, y dijo: «Primero, construya relaciones con sus estudiantes y luego aprenda con ellos. Déjales ver que intentas y fracasas, y disfrutarán luchando a través del proceso contigo. Eventualmente, ellos los superarán y se convertirán en los maestros.»
Jorge Valenzuela es entrenador educativo y asistente docente de posgrado en Old Dominion University. También es el entrenador principal de Lifelong Learning Defined, Inc., una facultad nacional del Instituto Buck para la Educación, un entrenador nacional de efectividad docente con la Asociación Internacional de Educadores de Tecnología e Ingeniería (ITEEA) y parte del programa de Educadores Principales para Niños Pequeños. Puedes conectarte con Jorge en Twitter @JorgeDoesPBL para continuar la conversación.