sistema did actico para la ensenanza~ de la programaci on

4
Sistema did´ actico para la ense˜ nanza de la programaci´ on con metodolog´ ıas de aprendizaje basado en problemas Ricardo Coppo 1 Javier Iparraguirre 1 Germ´ an Feres 1 Gustavo Ursua 1 Ana Cavallo 2 1 Universidad Tecnol´ ogica Nacional - Facultad Regional Bah´ ıa Blanca 2 Instituto Superior Juan XXIII - Bah´ ıa Blanca Mail de contacto: [email protected] 1. Resumen La ense˜ nanza de la programaci´ on de compu- tadoras es una materia b´ asica de las carre- ras relacionadas con las ciencias de la compu- taci´ on y de la ingenier´ ıa electr´ onica. Muchos estudios demuestran que la deserci´ on inicial en este ´ area es sumamente elevada. Para evitar esto se deber´ ıa contar con elementos espec´ ıfi- cos y una metodolog´ ıa apropiada que moti- ven a los alumnos a visualizar en forma con- creta los resultados de los programas escritos por ellos mismos. Se introdujo como elemen- to did´ actico una placa electr´ onica basada en principios de hardware y software open-source de bajo costo para la realizaci´ on de pr´ acticas de programaci´ on cuyas entradas y salidas son sensores y actuadores reales. Al mismo tiempo se trabaj´ o con una metodolog´ ıa basada en la resoluci´ on de problemas (PBL). Las primeras experiencias muestran un fuerte incremento en el inter´ es del alumno en aprender a resolver co- rrectamente la l´ ogica del problema y percibir los resultados sobre el sistema. Palabras clave: ense˜ nanza de la programa- ci´ on, hardware did´ actico, motivaci´ on, PBL. 2. Introducci´ on La mayor´ ıa de los educadores y docentes de programaci´ on coinciden en se˜ nalar que son po- cos los estudiantes que afirman que aprender a programar una computadora es una tarea sen- cilla. El problema se agrava ya que la mayor´ ıa de los cursos de programaci´ on se encuentran en los curr´ ıculos de los primeros a˜ nos de las carreras de ingenier´ ıa y de las ciencias de la computaci´ on, a˜ nos que significan para la ma- yor´ ıa de los estudiantes transiciones importan- tes en sus h´ abitos de estudio, de vida, y com- portamiento social. [4, 6] La literatura especializada enfoca la en- se˜ nanza de la programaci´ on en casi su totali- dad en tecnolog´ ıas n´ oveles (proyecciones, mul- timedios, y otros) que pueden ser aplicadas a la did´ actica del docente y en la organizaci´ on de sus clases. [7, 8] Menos atenci´ on ha sido dedicada a los factores cognitivos presentes en el proceso de aprendizaje. El estilo de apren- dizaje y la motivaci´ on se destacan como fac- tores cognitivos que afectan el desempe˜ no del alumno. La motivaci´ on, que por definici´ on es “la di- recci´ on y magnitud del comportamiento hu- mano”, tiene como factores indispensables la elecci´ on del curso de acci´ on, la persistencia en el mismo y el esfuerzo que el alumno de- cidir´ a realizar. [1, 5] Una vez decidido el curso de acci´ on el factor emocional/afectivo tiene un rol preponderan- te. El alumno se relaciona no solo cognitiva- mente con su proyecto sino tambi´ en en forma afectiva; caracter´ ıstica que es fundamental pa- ra determinar el tiempo y esfuerzo que luego dedicar´ a a la conclusi´ on del mismo. Tradicionalmente la motivaci´ on ha sido con- siderada bajo una perspectiva individualista. Sin embargo, como toda acci´ on humana se rea-

Upload: others

Post on 28-Nov-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Sistema didactico para la ensenanza de la

programacion con metodologıas de aprendizaje

basado en problemas

Ricardo Coppo1 Javier Iparraguirre1 German Feres1 Gustavo Ursua1

Ana Cavallo2

1Universidad Tecnologica Nacional - Facultad Regional Bahıa Blanca2 Instituto Superior Juan XXIII - Bahıa Blanca

Mail de contacto: [email protected]

1. Resumen

La ensenanza de la programacion de compu-tadoras es una materia basica de las carre-ras relacionadas con las ciencias de la compu-tacion y de la ingenierıa electronica. Muchosestudios demuestran que la desercion inicial eneste area es sumamente elevada. Para evitaresto se deberıa contar con elementos especıfi-cos y una metodologıa apropiada que moti-ven a los alumnos a visualizar en forma con-creta los resultados de los programas escritospor ellos mismos. Se introdujo como elemen-to didactico una placa electronica basada enprincipios de hardware y software open-sourcede bajo costo para la realizacion de practicasde programacion cuyas entradas y salidas sonsensores y actuadores reales. Al mismo tiempose trabajo con una metodologıa basada en laresolucion de problemas (PBL). Las primerasexperiencias muestran un fuerte incremento enel interes del alumno en aprender a resolver co-rrectamente la logica del problema y percibirlos resultados sobre el sistema.

Palabras clave: ensenanza de la programa-cion, hardware didactico, motivacion, PBL.

2. Introduccion

La mayorıa de los educadores y docentes deprogramacion coinciden en senalar que son po-cos los estudiantes que afirman que aprender aprogramar una computadora es una tarea sen-cilla. El problema se agrava ya que la mayorıa

de los cursos de programacion se encuentranen los currıculos de los primeros anos de lascarreras de ingenierıa y de las ciencias de lacomputacion, anos que significan para la ma-yorıa de los estudiantes transiciones importan-tes en sus habitos de estudio, de vida, y com-portamiento social. [4, 6]

La literatura especializada enfoca la en-senanza de la programacion en casi su totali-dad en tecnologıas noveles (proyecciones, mul-timedios, y otros) que pueden ser aplicadas ala didactica del docente y en la organizacionde sus clases. [7, 8] Menos atencion ha sidodedicada a los factores cognitivos presentes enel proceso de aprendizaje. El estilo de apren-dizaje y la motivacion se destacan como fac-tores cognitivos que afectan el desempeno delalumno.

La motivacion, que por definicion es “la di-reccion y magnitud del comportamiento hu-mano”, tiene como factores indispensables laeleccion del curso de accion, la persistenciaen el mismo y el esfuerzo que el alumno de-cidira realizar. [1, 5]

Una vez decidido el curso de accion el factoremocional/afectivo tiene un rol preponderan-te. El alumno se relaciona no solo cognitiva-mente con su proyecto sino tambien en formaafectiva; caracterıstica que es fundamental pa-ra determinar el tiempo y esfuerzo que luegodedicara a la conclusion del mismo.

Tradicionalmente la motivacion ha sido con-siderada bajo una perspectiva individualista.Sin embargo, como toda accion humana se rea-

liza en un contexto, este ejerce una influenciaindiscutible en todo el proceso de aprendizaje.

Mediante la aplicacion de las metodologıasde aprendizaje basado en problemas PBL(Problem Based Learning) [1, 2] se intentacrear un contexto interactivo en el que al tra-bajar sobre la resolucion de problemas indivi-duales, se incrementa la autoestima y la coope-racion entre los alumnos, integrando conoci-mientos adquiridos en otras areas o materias.

En una primera evaluacion, la mayorıa delos docentes de informatica, presienten que elaprendizaje de la programacion en estos pri-meros anos obedece mas a una motivacionextrınseca, como aprobar la materia con al-tas calificaciones o lucir como intelectual en-tre sus pares. Sin embargo, los alumnos quedemuestran un verdadero interes personal enadquirir la capacidad de aprender a programarcorrectamente (motivacion intrınseca) son losque luego logran los mejores resultados.

Visto esto, este trabajo intenta explorar eluso de un sistema de hardware y softwareque introducen fuertes factores de motivacionintrınseca en los alumnos, generandoles verda-deros deseos de poder desarrollar programasde software.

3. Descripcion de sistema

El sistema didactico se divide en los siguien-tes subsistemas: un software de desarrollo quese ejecuta sobre una laptop estandar, una pla-ca de hardware Arduino interconectada con lacomputadora y diversos sensores o actuadoresque le permiten al hardware interactuar con elentorno o medio fısico. (Figura 1).

3.1. Caracterısticas del hardware

El elemento principal del hardware del sis-tema consta de una plataforma open-sourcedenominada Arduino UNO [9], basada en unmicrocontrolador Atmega328 de la firma AT-MEL. La plataforma dispone de 14 entra-das/salidas digitales, 6 entradas analogicas,una interfase USB, y 32 KBytes de memoriaFLASH. La interfase USB es capaz de suminis-

Figura 1: Diagrama en Bloques

trar la energıa suficiente para la placa y algu-nos sensores basicos. Para mayores consumosse requiere el uso de fuentes externas adicio-nales.

La gran cantidad de entradas y salidas per-mite construir pequenos experimentos con sen-sores basicos de temperatura, LEDs, y displaysde bajo consumo sin tener que recurrir a cone-xionados complejos. La placa se monta en unsoporte de acrılico para incentivar al alumno apreguntar sobre sus componentes y el funcio-namiento del mismo. Las conexiones externasaceleran la configuracion del sistema para di-ferentes ejercicios. (Figura 2).

El hardware open-source es aquel que supropietario publica, por ejemplo a traves dela Internet, los datos de diseno y los esquemascircuitales para que cualquier persona o em-presa pueda fabricarlo o reproducirlo sin pa-gar licencias. (Requiere sı un expreso reconoci-miento de los derechos de autor y de marcas re-gistradas). Este modelo comercial se encuentrasustentado por el concepto del software open-source propulsado por los programadores delsistema operativo GNU/Linux.

La libre disponibilidad de la informacion dediseno permite a diversos proveedores de hard-ware la creacion y venta de kits de componen-tes para su armado, y posibilitan al alumnoentusiasta construir su propia plataforma deexperimentacion a bajo costo.

Ademas, en sincronıa con la teorıa open-source, se ha creado una comunidad de per-sonas entusiastas que aportan ideas y planespara proyectos de mayor envergadura, muchos

Figura 2: Placa y conexion a la PC

de los cuales poseen componentes ludicos querefuerza la motivacion inicial recibida en clase.

3.2. Caracterısticas del sistema dedesarrollo

La programacion de la placa se realiza pormedio de un entorno de desarrollo integra-do (IDE) de distribucion gratuita denominado“Arduino” el cual fue escrito en Java. Median-te el mismo, el usuario puede escribir aplica-ciones en C o C++, las cuales se denominan“sketches”. Una vez compiladas estas ultimas,son transmitidas a la placa por medio del puer-to USB a traves del IDE.

El sistema operativo embebido en la placapresenta una API de programacion a traves defunciones de “callback” de sencilla interpreta-cion por parte del alumno que recien se inicia.En una aplicacion didactica inicial el progra-mador solo debe definir las funciones de ini-cializacion y la funcion de repeticion, base delciclo de control del hardware.

4. Aplicacion educativa

En las primeras clases de la materia elalumno aprende sobre el sistema binario, losconceptos de algoritmo y las primeras instruc-ciones de bifurcacion y ciclo en el lenguaje C.Estos temas resultan abstractos y difıciles deentender para la mayorıa de los estudiantes nomotivados.

Un ejercicio clasico, realizado en la mayorıade las catedras de programacion para fijar es-

Figura 3: Alumno interactuando con el sistema

tos conceptos, es la realizacion de un contadoren el que se hace conversion de numeros debase decimal a la base dos con salida a panta-lla de lınea de comando en modo terminal. Elejercicio, de nivel conceptual interesante paraaprender a programar, no resulta motivadorpara el estudiante porque el alumno percibesu salida como algo antiguo o de poca utili-dad.

Para realizar este mismo ejercicio sobre laplaca Arduino solo bastan conectar algunosdiodos emisores de luz (LED) a las salidas co-rrespondientes. (Figura 4).

En la funcion de configuracion se establecenconstantes simbolicas y las habilitaciones co-rrespondientes para las diferentes salidas. Estafuncion puede ser escrita por la catedra paralimitar al alumno al desarrollo del problema aresolver.

El alumno escribe e implementa la funcionde repeticion que traduce un contador tradi-cional de un ciclo en su valor binario y lo con-vierte en las habilitaciones de los LEDs corres-pondientes para que se iluminen correctamen-te ejercitandose ası los principios de progra-macion senalados anteriormente.

Frecuentemente el primer intento del pro-grama no funciona correctamente (luces fue-ra de secuencia, logica erronea, entre otras fa-llas), pero a diferencia del ejercicio equivalenteen pantalla, el alumno se motiva mas, quie-re ver su codigo funcionando, muestra mayortezon en la busqueda de la solucion, y se retiradel laboratorio con mayor satisfaccion perso-nal por haber cumplido el objetivo.

Figura 4: Arreglo de LEDs

Cabe senalar que la configuracion presenta-da se adapta a ejercicios mas complicados y ametodologıas didacticas diferentes. Por ejem-plo, facilmente la configuracion presentada sepuede adaptar a la ensenanza de automatasregulares simulando sistemas de alarmas, con-trol de semaforos, electrodomesticos inteligen-tes, por mencionar solo algunos ejemplos.

5. Conclusiones y proximospasos

El sistema integrado ha sido utilizado encursos de Informatica I de la Universidad Tec-nologica, Facultad Regional Bahıa Blanca enlos que se ensena programacion a los alumnosde primer ano de Ingenierıa Electronica. Losprimeros resultados han sido considerados al-tamente satisfactorios.

El hardware, de bajo costo, ha incentivadoa varios estudiantes a realizar su adquisicionpara experimentacion personal, perseverandoası, en su interes por aprender a programar.

En nuestro diseno prevalecio la idea de ex-perimentar con diversos sensores y medios desalida, en un esfuerzo para determinar expe-rimentos motivadores y significativos para laensenanza de la programacion. En una versionfinal, mas apta para cursos numerosos, se de-finira una configuracion basica de sensores yse construira todo el sistema fısicamente enuna sola unidad. Eventualmente se podrıa ex-tender el sistema basico a traves de modulosindependientes para perifericos mas complejoso de mayor potencia.

Referencias

[1] Dornyei, Z., Teaching and ResearchingMotivation, Pearson Education, Malay-sia, 2001.

[2] O’Kelly J., Gibson J.P., Roboco-de & Problem Based Learning: A non-prescriptive approach to teaching pro-gramming, In ITICSE ’06: Proceedingsof the 11th annual SIGCSE conferenceon Innovation and technology in compu-ter science education, 2006.

[3] Lin H.T., Kuo T.H., Teaching pro-gramming technique with edutainmentrobot construction, IEEE 2nd Interna-tional Conference on Education Techno-logy and Computer (ICETC), Shanghai,June 2010.

[4] Huet I., Pacheco O.R., TavaresJ., Weir G., New Challenges in Tea-ching Introductory Programming Cour-ses: a Case Study, 34th ASEE/IEEEFrontiers in Education Conference, Sa-vannah, Georgia, October, 2004.

[5] Jenkins T., Teaching Programming - AJourney from Teacher to Motivator, 2ndAnnual LTSN-ICS Conference, London,2001.

[6] Jenkins T., On the Difficulty of Lear-ning to Program, 3rd Annual LTSN-ICS Conference, Loughborough Univer-sity, 2002.

[7] Matsumura K., Daisuke S., AiguoHE, A C Language Programming Edu-cation Support System base on SoftwareVisualization, IEEE Joint Conferenceson Pervasive Computing (JCPC), Tam-sui, Taipei, December 2009.

[8] Shyu Y.H., Chen P.W., PLL: AProgramming Languages Lab System,21st International Conference on Distri-buted Computing Systems Workshops(ICDCSW01), Mesa, Arizona, USA,2001.

[9] Arduino Team, Arduino Home Page,http://www.arduino.cc, visitado: Marzo2011.