• No se han encontrado resultados

TECNOLÓGICO DE MONTERREY®

N/A
N/A
Protected

Academic year: 2022

Share "TECNOLÓGICO DE MONTERREY®"

Copied!
80
0
0

Texto completo

(1)
(2)

INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY

CAMPUS MONTERREY

DIVISIÓN DE INGENIERÍA Y ARQUITECTURA PROGRAMA DE GRADUADOS EN INGENIERÍA

TECNOLÓGICO DE MONTERREY®

Modelo didáctico basado en la teoría de TPCK para el desarrollo de un curso de programación visual.

T E S I S

P R E S E N T A D A C O M O R E Q U I S I T O P A R C I A L P A R A O B T E N E R EL G R A D O ACADÉMICO D E : M A E S T R O E N CIENCIAS CON ESPECIALIDAD

E N SISTEMAS D E M A N U F A C T U R A

POR:

JESÚS ALBERTO FLORES ARREDONDO

M O N T E R R E Y , N. L. DICIEMBRE D E 2008

(3)

INSTITUTO T E C N O L Ó G I C O Y D E ESTUDIOS SUPERIORES D E M O N T E R R E Y

C A M P U S M O N T E R R E Y

DIVISIÓN D E INGENIERÍA Y A R Q U I T E C T U R A P R O G R A M A D E G R A D U A D O S E N INGENIERÍA

TECNOLÓGICO DE MONTERREY

Modelo didáctico basado en la teoría de TPCK para el desarrollo de un curso de programación visual.

T E S I S

PRESENTADA COMO REQUISITO PARCIAL PARA OBTENER EL GRADO ACADÉMICO DE:

MAESTRO EN CIENCIAS CON ESPECIALIDAD EN SISTEMAS DE MANUFACTURA

POR:

JESÚS ALBERTO FLORES ARREDONDO

MONTERREY, N.L. DICIEMBRE 2008

(4)

Dedicatoria

A Dios, por darme fortaleza en los momentos más difíciles.

A mi abuelo Vicente Q.E.P.D. por ser mi inspiración y ejemplo a seguir.

A mis papás, Alma y Jaime; quienes me han brindado apoyo incondicional desde siempre, y a quienes les debo todo lo que soy.

A mis abuelitas, Elva y Angelita, a quienes les agradezco siempre todas sus bendiciones.

A mí tía Paty, que siempre ha procurado de mi como a un hijo.

A mis hermanas Angeles, Alma y Ariana, quienes siempre me han brindado su apoyo cuando lo he necesitado.

A mis sobrinos Jimena, Luken, Lucía e Isis, porque con su alegría me aportaron motivación en todo momento.

A mis amigos Iván y Diana por toda su comprensión y apoyarme siempre que pudieron.

(5)

Agradecimientos

Al Ing. Luis Vicente Cabeza, por su motivación durante el desarrollo de esta tesis, y por haberme proporcionado su conocimiento y experiencia para la elaboración del presente trabajo.

Al Dr. José Manuel Sánchez y al Ing. Miguel de Jesús Ramírez, por compartir sus conocimientos y sabios consejos en la realización de este trabajo.

Al Ing. Abraham Ortiz y al Ing. Daniel Morales, por todas sus recomendaciones y sugerencias proporcionadas para el desarrollo de esta tesis.

A todos mis amigos, por su comprensión y apoyo en los momentos más difíciles durante la elaboración de este documento.

(6)

índice de Contenidos

ÍNDICE DE CONTENIDOS 5

ÍNDICE DE FIGURAS 7

ÍNDICE DE TABLAS 8

CAPÍTULO 1 INTRODUCCIÓN 9

1.1 Introducción 9

1.2 Justificación 13

1.3 Objetivos de la Tesis 14

1.4 Contenido de la Tesis 14

1.5 Contribuciones de la Tesis 15

CAPÍTULO 2 RECURSOS TECNOLÓGICOS Y DIDÁCTICOS PARA EL DESARROLLO DEL MODELO 16

2.1 Lenguajes de Programación Visual (VPLs) 16

2.1.1 Introducción 16

¿Porqué cambiar de texto a imágenes? 17

Desventajas de la utilización de un lenguaje de programación tradicional (textual) en el desarrollo de proyectos 17

2.1.2 Programación Visual 19

¿Qué es la Programación Visual? 19

Generalidades de los lenguajes de programación 19

La Tercera Dimensión de los VPLs 19

Análisis Dimensional de los VPLs 20

2.1.3 Tendencias de la Programación Visual 21

Entornos y Lenguajes Visuales 21

Lenguajes para el Manejo de Información Visual 22

Lenguajes para Soporte de Interacciones Visuales 22

Lenguajes de Programación Visual 22

2.1.4 lenguajes de Programación Visual (VPLs) 23

Definiciones 23

¿Porqué seleccionar un VPL? 23

Características comunes de los VPLs 24

Ventajas en el uso de un VPL 25

Selección de un VPL 27

2.1.5 Justificación del uso de un VPL en el desarrollo del modelo 28

2.2 MICROCONTROLADORES 30

2.2.1 ¿Qué es un microcontrolador? 30

2.2.2 Componentes de un Microcontrolador 31

2.2.3 Aplicaciones de un Microcontrolador 31

2.2.4 Microcontroladores más comunes 32

2.3 TÉCNICAS DIDÁCTICAS 33

2.3.1 Introducción 33

Estrategia didáctica 33

Método de enseñanza 34

Técnica de enseñanza 34

2.3.2 Técnicas Didácticas 35

Aprendizaje Basado en Problemas (PBL) 35

Aprendizaje Colaborativo (CL) 35

Aprendizaje Orientado a Proyectos (POL) 36

Método de Casos (CM) 37

(7)

CAPÍTULO 3 DESARROLLO DE MODELO: CURSO DE PROGRAMACIÓN VISUAL 39

3.1 APLICACIÓN DE LA TEORÍA EDUCATIVA DEL CONOCIMIENTO TECNOLÓGICO, PEDAGÓGICO Y DE CONTENIDO (TPCK) 39

3.2 PLANTEAMIENTO DEL MODELO PROPUESTO 41

3.3 DESARROLLO DEL MODELO PROPUESTO 44

3.3.1 Fase I: Planeador) 44

3.3.2 Fase II: Análisis de Recursos 45

Recursos Tecnológicos: Lenguaje de Programación Visual 47

Recursos Tecnológicos: Material Educativo de Construcción 49

Recursos Tecnológicos: Microcontroladores 53

Recursos Tecnológicos: Equipo de Cómputo 56

3.3.3 Fase III: Diseño 59

Contenido Académico del Curso de Programación Visual en LabVIEW 59

3.3.4 Fase IV: Desarrollo 60

Programación visual con LabVIEW en un entorno de automatización industrial 60

Descripción 60

Segmento Meta 60

Objetivos Generales 61

Intenciones Educativas 61

Limitaciones y Alcance del Curso 61

Estrategia Didáctica 61

Programa Desarrollado 66

Plan de viabilidad 69

3.3.5 Fase V: Prueba Piloto 70

CAPÍTULO 4 CONCLUSIONES Y TRABAJO FUTURO 71

4.1 CONCLUSIONES 71

4.2 TRABAJO FUTURO 72

BIBLIOGRAFÍA 73

REFERENCIAS 76

(8)

Índice de Figuras

FIGURA 1-1 HITECH EDUCENTER 15

FIGURA 2-1 LAS TRES DIMENSIONES DE LOS LENGUAJES DE PROGRAMACIÓN VISUAL 20

FIGURA 2-2 TENDENCIAS DE LA PROGRAMACIÓN VISUAL 21

FIGURA 2-3 CONEXIÓN CLIENTE-DESARROLLADOR MEDIANTE PROGRAMACIÓN VISUAL 3 0

FIGURA 2-4 COMPONENTES GENERALES DE UN MICROCONTROLADOR 31

FIGURA 3-1 COMPONENTES DEL CONOCIMIENTO EN TECNOLOGÍA, PEDAGOGÍA Y CONTENIDO 4 0

FIGURA 3-2 MODELO PROPUESTO POR FASES 4 3

FIGURA 3-3 DIAGRAMA CON LA ASIGNACIÓN DEL TIEMPO PARA LA SESIÓN 1 62

FIGURA 3-4 DIAGRAMA CON LA ASIGNACIÓN DEL TIEMPO PARA LA SESIÓN 2 62

FIGURA 3-5 DIAGRAMA CON LA ASIGNACIÓN DEL TIEMPO PARA LA SESIÓN 3 Y 4 62

FIGURA 3-6 DIAGRAMA CON LA ASIGNACIÓN DEL TIEMPO PARA LA SESIÓN 5 Y 6 62

FIGURA 3-7 DIAGRAMA CON LA ASIGNACIÓN DEL TIEMPO PARA LA SESIÓN 7 Y 8 63

FIGURA 3-8 DIAGRAMA CON LA ASIGNACIÓN DEL TIEMPO PARA LA SESIÓN 9 Y 10 63

FIGURA 3-9 DIAGRAMA CON LA ASIGNACIÓN DEL TIEMPO PARA LA SESIÓN 11 Y 12 63

FIGURA 3-10 DIAGRAMA CON LA ASIGNACIÓN DEL TIEMPO PARA LA SESIÓN 13 Y 14 63

FIGURA 3-11 DIAGRAMA CON LA ASIGNACIÓN DEL TIEMPO PARA LA SESIÓN 15 Y 16 64

FIGURA 3-12 DIAGRAMA CON LA ASIGNACIÓN DEL TIEMPO PARA LA SESIÓN 17 64

FIGURA 3-13 DIAGRAMA CON LA ASIGNACIÓN DEL TIEMPO PARA LA SESIÓN 18 64

FIGURA 3-14 DIAGRAMA CON LA ASIGNACIÓN DEL TIEMPO PARA LA SESIÓN 19 64

FIGURA 3-15 DIAGRAMA CON LA ASIGNACIÓN DEL TIEMPO PARA LA SESIÓN 2 0 64

(9)

Índice de Tablas

TABLA 2-1 TIEMPOS DE ENTREGA Y LA FLEXIBILIDAD DE LA APLICACIÓN 26

TABLA 2-2 COMPARACIÓN ENTRE EL SISTEMA DE ANÁLISIS CLÁSICO DE PROGRAMACIÓN Y EL DE PROGRAMACIÓN VISUAL INTERACTIVA 2 6

TABLA 2-3 MICROCONTROLADORES MÁS COMUNES EN EL MERCADO 3 2

TABLA 3-1 RECURSOS NECESARIOS PARA EL DESARROLLO DEL MODELO 4 5

TABLA 3-2 CARACTERÍSTICAS DE VPLS MÁS COMUNES EN INGENIERÍA 47

TABLA 3-3 ANÁLISIS COMPARATIVO DE VPLs 48

TABLA 3-4 CARACTERÍSTICAS DE MATERIALES EDUCATIVOS DE CONSTRUCCIÓN 49

TABLA 3-5 ANÁLISIS COMPARATIVO DE MATERIALES EDUCATIVOS DE CONSTRUCCIÓN 51

TABLA 3-6 CARACTERÍSTICAS DE MICROCONTROLADORES COMERCIALES 5 3

TABLA 3-7 ANÁLISIS COMPARATIVO DE MICROCONTROLADORES 5 5

TABLA 3-8 CARACTERÍSTICAS DE LAS TÉCNICAS DIDÁCTICAS 57

TABLA 3-9 PROGRAMA DE ACTIVIDADES Y APRENDIZAJES ESPERADOS POR CONTENIDO 66

TABLA 3-10 INVERSIÓN APROXIMADA POR ESTACIÓN 6 9

(10)

Capítulo 1 Introducción.

1 . 1 Introducción

En la medida en que se ha ido acelerando el avance de la ciencia, sobre todo en el siglo XX, en el que éste ha alcanzado un ritmo vertiginoso, la brecha entre investigación científica y desarrollo tecnológico se ha ido reduciendo cada vez más en los países altamente desarrollados, estableciéndose una estrecha vinculación entre la creación del conocimiento y sus aplicaciones, cuya expresión más representativa se encuentra en nuevas tecnologías tales como:

microelectrónica, comunicaciones satelitales, la biotecnología, la robótica y la automatización, cómputo e informática, el conocimiento de la materia, nuevas energías y nuevos materiales, que se diferencian de las tradicionales precisamente por el grado de intensidad con el que hacen uso de los conocimientos científicos (Guerra, 1999).

De acuerdo a Guerra, como parte de la misma vinculación, se genera una mayor exigencia de profesionales principalmente en las áreas de ingeniería, que estén lo suficientemente preparados para las demandas tecnológicas acordes a nuestros tiempos. Para lograrlo se requiere además de la actualización permanente de los ingenieros, de una mayor inversión en infraestructura educativa que permita preparar a las nuevas generaciones para que respondan con pertinencia y calidad a las nuevas condiciones que el mundo moderno nos impone.

Actualmente en México existe un creciente interés de jóvenes de secundaria y preparatoria en querer aprender y conocer sobre temas muy actuales de la ingeniería, como son la mecatrónica y robótica, y por otro lado hay una gran demanda nacional de ingenieros calificados para que laboren en dichas áreas.

De acuerdo al Observatorio Laboral (Observatorio Laboral, 2008), en Norte América, el área de mayor dinamismo laboral es la de las ingenierías, además de que existe una perceptible preocupación por los campos relacionados con la medicina clínica, la investigación biomédica, las ciencias de la tierra, la investigación espacial, las telecomunicaciones, la electrónica, la robótica, la cibernética y otras ingenierías de punta.

Sin embargo, a pesar del creciente interés, existe una atraso en los tiempos educativos y una limitación de recursos tecnológicos: Los jóvenes aprenden y se involucran en dichas áreas de manera tardía, pues existe poca infraestructura (de materiales educativos y computadoras) para

(11)

desarrollar áreas de ingeniería como la robótica y mecatrónica desde los niveles básicos de la educación, tanto en escuelas públicas como privadas, y no es sino hasta la universidad donde los jóvenes encuentran ese espacio de desenvolvimiento intelectual y de aprendizaje, el cual es un poco tarde si lo comparamos con países desarrollados donde en algunos casos a partir de primaria los niños aprenden y se involucran con los temas ya mencionados.

Países como Estados Unidos cuentan con un proyecto educativo de vanguardia llamado Project Lead The Way (Project Lead The Way, 1996), el cuál ayuda a estudiantes de secundaria y preparatoria a tener las bases educativas sólidas que necesitan para desarrollarse en áreas de la ciencia y la ingeniería. El proyecto que está presente en más de 3,000 escuelas de Estados Unidos tiene entre sus objetivos el de incrementar el número de jóvenes que estudian carreras de ingeniería.

Mientras tanto, la enseñanza superior de las ingenierías en nuestro país adolece de algunas deficiencias surgidas del subdesarrollo mismo (Rivera, 1990):

1) La mayoría de las carreras de ingeniería que se imparten en las universidades mexicanas se encuentran en un nivel inferior al que tienen en los países industrializados.

2) Las escuelas de ingeniería operan con deficiencias de equipo de laboratorio o de personal especializado. Se debe mejorar la infraestructura escolar.

3) Es preciso modernizar los planes y programas de estudio de las carreras de ingeniería a efecto de mantenerse actualizados de los avances científicos y tecnológicos que se están registrando en estas áreas del conocimiento.

4) Es necesario vincular el trabajo de los científicos al sector productivo. Se debe crear la relación ciencia-tecnología, para romper con la dependencia tecnológica.

5) Es conveniente que los ingenieros, durante su formación en las universidades, reciban una educación sólida en física y matemáticas para conocer mejor los fundamentos de su profesión y queden capacitados para proseguir estudios de posgrado.

6) Se necesita planificar adecuadamente el desarrollo tecnológico en México. Hacer más creativa la formación de los futuros ingenieros y concientizarlos del aprovechamiento de los recursos naturales. Se requiere correspondencia industria gobierno-universidad.

7) Es altamente recomendable realizar estudios prospectivos en ingeniería para definir adecuadamente el perfil del egresado y prever el desarrollo de la ciencia y la tecnología en el futuro.

8) Las universidades nacionales están sujetas al fenómeno demográfico y económico como algo inevitable. Pero deben continuar respondiendo al país preparando los recursos humanos científicos y culturales de primera línea.

9) Como todo país subdesarrollado, México requiere la infraestructura y, por lo tanto, la demanda de ingenieros actualmente es alta.

(12)

10) Es evidente la necesidad de que existan varios niveles o ciclos terminales en el campo de las ingenierías; esto es: licenciatura, especialidad, maestría y doctorado, pero debe reforzarse la vinculación de todos ellos al sector productivo.

Como parte de los esfuerzos por fortalecer las ingenierías en México, específicamente en las áreas de mayor interés actual, mecatrónica y robótica, se busca involucrar desde edades tempranas a niños y jóvenes. Los esfuerzos realizados en nuestro país son apenas recientes:

Como parte del proyecto Monterrey Ciudad Internacional del Conocimiento, la Secretaría de Educación de Nuevo León en conjunto con la Coordinación de Ciencia y Tecnología (COCyTENL) han implementado el programa Ciencia y Tecnología para Niños (Portal del Gobierno del Estado de Nuevo León, 2008), el cual pretende desarrollar un sistema de apoyo a los docentes para que incorporen a la enseñanza de las ciencias un enfoque centrado en las necesidades del alumno, que fomenten destrezas y habilidades de la investigación científica mediante la experimentación en el salón de clases.

Dentro del mismo programa, a partir de la XIV Semana de Ciencia y Tecnología 2008, se implemento el proyecto Robótica en tu Escuela (Santiago, 2008), donde la Secretaría de Educación proporcionó a planteles educativos un kit de robótica para que los alumnos lo utilizaran bajo la enseñanza de un profesor en un club. El proyecto implementado en 35 escuelas del estado de Nuevo León tiene el objetivo de fortalecer la enseñanza de las ciencias, particularmente de las matemáticas y de la física en una primera etapa.

A nivel bachillerato, el Instituto Tecnológico y de Estudios Superiores de Monterrey (ITESM) incluye una clase curricular de robótica en sus escuelas preparatorias (Vicerrectoría académica del Tecnológico de Monterrey, 2002). El curso tiene como objetivo la enseñanza de los fundamentos de la robótica, proporcionando a los jóvenes las herramientas necesarias para construir y programar un robot.

Así mismo existen opciones fuera de curricula que promueven el interés por la robótica y mecatrónica desde edades tempranas, como ejemplos se encuentran los siguientes:

• Hitech Educenter (Hitech Education, 2008) , es un centro para la enseñanza de ciencia y tecnología, principalmente en áreas como la mecatrónica, robótica y automatización. Este centro busca mezclar la diversión y el aprendizaje con la tecnología, es de tal forma que ha desarrollado cursos de mecatrónica y robótica adaptado a niños y jóvenes a partir de los 5 años. Actualmente se encuentra ubicado en el municipio de San Pedro Garza García, en Nuevo León.

• Robotix Center (Microbotix, 2007), es un centro que ha implementado un curso de robótica con la finalidad de acercar a los niños y jóvenes a la tecnología. Cuenta con un programa de Robótica de 12 niveles para niños a partir de 6 años. Este centro se encuentra ubicado en el Distrito Federal.

• IDR (Instituto para el Desarrollo en Robótica, 2008), es un centro que busca generar sinergias que permitan que estudiantes de todas las edades se introduzcan en la Robótica y

(13)

apliquen los principios y leyes de las Ciencias Exactas y las Matemáticas. Cuenta con cursos de rebotica para niños a partir de los 6 años. Actualmente se encuentra ubicado en Tlalnepantla, Estado de México.

• El Museo del Acero Horno 3 (Museo del Acero Horno 3, 2008) y el Museo Planetario Alfa (Museo Planetario Alfa, 2008), cuentan con diplomados en Robótica y Mecatrónica, los cuáles buscan incrementar el interés de niños y jóvenes por éstas áreas. Estos museos se encuentran actualmente ubicados en el estado de Nuevo León.

Los esfuerzos que se realizan por promover la ingeniería en niños y jóvenes tienen la finalidad de elevar el nivel académico de la educación desde sus niveles básicos, y además conlleva a incrementar el número de ingenieros calificados que demanda la industria. La implementación de cursos que desarrollen desde jóvenes cualidades muy propias de los ingenieros como lo son la habilidad para el diseño, el uso de criterio personal y de habilidades matemáticas para la resolución de problemas, la experimentación mediante la simulación, la utilización de herramientas computacionales, entre otros; es una forma que permite elevar el nivel educativo nacional y multiplicar el número de ingenieros calificados.

Como se mencionaba anteriormente, existen cursos a nivel curricular y extracurricular de robótica y mecatrónica para niños y jóvenes, que además de promover en ellos su interés por las ingenierías, ayudan a disminuir la brecha académica entre los distintos niveles educativos. Si bien estas acciones se realizan con el fin de reducir esa brecha, los programas implementados solo contemplan que los niños y jóvenes aprendan a programar máquinas en un lenguaje de programación que con certeza no será utilizado en niveles posteriores de su educación en ingeniería, y no se diga al laborar profesionalmente en la industria.

Es de esta forma que aunque la brecha educativa entre los distintos niveles disminuye, y como parte del mismo objetivo, es de imperiosa necesidad dar un paso más hacia la enseñanza de temas más aterrizados a la realidad en las áreas de ingeniería mecatrónica y robótica, la cual puede lograrse enfrentando a los jóvenes a problemas y situaciones propias que enfrentan los ingenieros, tal como sucede en la industria hoy en día. Lo anterior puede lograrse mediante el desarrollo de un modelo didáctico, a través del cual se realice un curso de programación visual para jóvenes preuniversitarios, el cual contemple la programación de modelos a escala de máquinas reales, y con lo cual además de instruirlos en algún lenguaje informático utilizado actualmente en la industria, permita familiarizarlos en situaciones y problemáticas que usualmente no enfrentan sino hasta la realización de prácticas de laboratorios en la universidad en el mejor de los casos.

Así se consigue expandir la mente de los jóvenes hacia nuevos límites, pues además de conocer sobre áreas muy actuales de ingeniería como la robótica y mecatrónica, estos generan conocimiento muy propio de los ingenieros pero en etapas previas a su educación profesional.

El presente trabajo propone para el curso, el aprendizaje de un lenguaje de programación visual (VPL por sus siglas en inglés de Visual Programming Languages) para el manejo de los modelos a escala por las ventajas que estos lenguajes representan:

• "Es casi siempre visto que el manejo del uso gráfico de símbolos en lugar de manejo de construcciones textuales hacen que el proceso de visualización sea más fácil" (Shu, 1988).

(14)

• Un lenguaje de programación visual permite un enfoque orientado hacia metas en lugar de concentrarse en el desarrollo del código requerido para implementar las mismas (Frasson, y otros, 1986).

• Los lenguajes de programación visual proveen una mayor simplicidad en el proceso de crear y editar programas al reducir el número de conceptos utilizados para construir un programa. Esto lo logra quitando muchos de los componentes complejos y abstractos propios de los lenguajes de programación textuales(Banyasad, y otros, 2001).

• Al utilizar un lenguaje de programación visual existe la ventaja de ser accesible a personas que no tienen mucha experiencia como programadores (Whitley, 2000).

1.2 Justificación

Mediante el desarrollo del modelo didáctico que se propone (capítulo 3 de la presente tesis), se elabora un curso de programación visual para jóvenes preuniversitarios. Este proyecto es importante porque:

• Propone un modelo que puede ser aplicado para el desarrollo de otros proyectos educativos con enfoque en ingeniería

• Mediante el curso, los jóvenes aprenderán a programar un VPL que sea utilizado actualmente en la industria, proporcionándoles mayores competencias en su desarrollo profesional.

• Con el curso, pueden interesarse más jóvenes en estudiar una ingeniería.

• La implementación del curso de programación visual a mayor escala, permitiría reducir el gap de conocimientos existentes entre los niveles educativos de secundaria, bachillerato y profesional.

• Permitirá satisfacer la necesidad de la industria de contar con más jóvenes preparados en cuanto a conocimiento técnico se refiere (el conocimiento un VPL por ejemplo).

(15)

1.3 Objetivos de la Tesis

El objetivo general de este trabajo es proponer un modelo didáctico basado en la teoría del conocimiento Tecnológico, Pedagógico y de Contenido (TPCK), para el desarrollo de un curso de programación visual.

Al final del presente trabajo se proveerán los siguientes objetivos particulares:

• Se proporcionará información relevante de la literatura sobre los recursos que sirven como apoyo para el desarrollo del modelo; conceptos teóricos sobre los lenguajes de programación visual, los microcontroladores y las técnicas didácticas, serán abordados.

• Para el desarrollo del modelo, se darán a conocer las distintas fases requeridas para la realización del curso de programación visual

• Mediante el desarrollo del modelo, se llevarán a cabo las distintas fases requeridas para la elaboración e implementación del curso de programación visual.

• De acuerdo al modelo planteado, se habrán seleccionado los recursos necesarios para su aplicación, entre los cuales se incluye la selección del lenguaje de programación visual, el microcontrolador y el material educativo de construcción a utilizar.

• Se proporcionará de un modelo aplicable a la realización de otros proyectos de enseñanza con enfoque ingenieril, basados en la teoría educativa del conocimiento Tecnológico, Pedagógico y de Contenido (TPCK).

• Finalmente, se proporcionará un curso que puede ser implementado en otras instituciones educativas.

1.4 Contenido de la Tesis

A continuación se describe la organización del presente trabajo:

El capítulo 2 muestra una revisión de la literatura donde serán abordados conceptos teóricos sobre los recursos necesarios para el desarrollo del modelo. Este incluye a los lenguajes de programación visual, algunas de sus definiciones y aplicaciones, así como la justificación de su utilización en el modelo. Se describe además a los microcontroladores y a las técnicas didácticas, las cuales proporcionan una mejor estructura que aproveche el aprendizaje del curso por parte de los jóvenes.

El capítulo 3 presenta la aplicación del modelo y describe su desarrollo, el cual está basado en el método cascada para la creación de software, y se ajusta a la teoría educativa del Conocimiento Tecnológico, Pedagógico y de Contenido (TPCK). Se presenta información relevante sobre la teoría TPCK para su adaptación al modelo y se plantea el desarrollo del modelo por etapas, distinguiéndose de la metodología cascada al contemplar la retroalimentación y correcciones al modelo. El desarrollo del modelo, incluye entre otras aspectos, la definición del problema, las causas que lo generan y una planeación para darle solución. Se incluye un análisis de los recursos pedagógicos y tecnológicos a emplear en el modelo y la selección de los mismos en base a

(16)

criterios predefinidos; se diseña el contenido académico del curso de programación final, y se desarrolla el programa del curso en bases a los recursos seleccionados. Al final se prueba el curso en busca de posibles fallas y su corrección dentro del modelo.

En el capítulo 4 se exponen las conclusiones finales del presente trabajo y se plantean trabajos futuros con posibilidad de su posterior desarrollo.

1.5 Contribuciones de la Tesis

El presente modelo será implementado como parte de los cursos que se ofrecen en Hitech Educenter, un centro para la enseñanza de ciencia y tecnología en áreas como la mecatrónica y robótica enfocada a niños y jóvenes. El curso elaborado está dirigido hacia jóvenes preuniversitarios que cursan los niveles de secundaria y preparatoria. Mediante su implementación se logrará que jóvenes tengan acceso al aprendizaje de un software de programación visual enfocado a la industria, y cuya experimentación les permitirá además de tener un acercamiento más real hacia la ingeniería, la capacidad de generar nuevas competencias académicas que podrán aprovechar en instancias posteriores de su educación escolar.

F i g u r a 1-1 H i t e c h E d u c e n t e r

(17)

Capítulo 2 Recursos Tecnológicos y Didácticos para el Desarrollo del Modelo

En el presente capítulo se presenta información relevante sobre las herramientas necesarias para el desarrollo del modelo. Se incluye una descripción detallada de los lenguajes de programación visual (VPL por sus siglas en inglés de Visual Programming Language) y su justificación en la aplicación del modelo. Se abarca también una investigación sobre microcontroladores y técnicas didácticas, las cuales serán requeridas en la realización del modelo.

2.1 Lenguajes de Programación Visual (VPLs)

2.1.1 Introducción

De acuerdo a Banyasad (Banyasad, 2000), en años anteriores los programadores tenían que usar lenguajes de programación orientados a máquinas debido al hecho de que la memoria y el poder de procesamiento de las computadoras eran insuficientes tanto para la programación como para la interacción hombre - máquina. Un lenguaje de programación orientado a máquinas requiere por parte de los programadores de un alto nivel de abstracción del problema original desarrollado en código máquina. Un programador que mapea el problema original en un lenguaje orientado a máquina no debería únicamente tener un fuerte conocimiento del dominio del problema sino tener además un fuerte conocimiento del lenguaje de programación que utiliza.

Actualmente las computadoras están equipadas con mayor capacidad de memoria y ofrecen un mayor poder de procesamiento. La programación visual es uno de los campos de investigación que ha emergido y se ha activado como resultado de este avance tecnológico. Así mismo, recientemente existe un considerable interés en la aplicación de lenguajes de programación en la automatización y el control de robots. Los lenguajes de programación visual (VPLs) permiten a los programadores interactuar directamente con la estructura de los algoritmos y la información.

Como resultado, un programador es capaz de construir programas que son más comprensibles, robustos y conservables. Mientras que los VPLs apuntan generalmente a representar visualmente la estructura de algoritmos e información, estos no se benefician de la representación visual de los objetos físicos en el dominio del problema. Programar un robot usando VPLs es un buen ejemplo de esto.

(18)

¿Porqué cambiar de texto a imágenes?

De acuerdo a Shu (Shu, 1988), la tradición informática de la representación lineal persiste de generación en generación. Las instrucciones son dadas a la computadora en forma de declaración por declaración y la estructura de los lenguajes de programación permanece unidimensional y textual.

En contraste, la programación visual representa conceptualmente una revolucionaria alternativa a esta tradición. Las representaciones gráficas e imágenes entran a juego en el proceso de programación. Esta forma de programación es favorecida por las siguientes premisas:

1. Las imágenes son más eficaces que las palabras como un medio de comunicación. Pueden expresar mayor significado en una unidad de expresión más concisa.

2. Las imágenes ayudan a entender y recordar.

3. Las imágenes pueden proveer un incentivo para aprender a programar.

4. Las imágenes no tienen barreras idiomáticas. Cuando están propiamente diseñadas, son entendidas por las personas sin importar el idioma que hablen.

La programación visual ha ganado impulso en años recientes primordialmente por la reducción de costos del hardware y software en aplicaciones gráficas, lo que ha hecho posible utilizar imágenes como un medio de comunicación con las computadoras.

Desventajas de la utilización de un lenguaje de programación tradicional (textual) en el desarrollo de proyectos

En los últimos 40 años, los lenguajes de programación han desarrollado desde lenguajes de bajo nivel como el lenguaje máquina y ensamblador, hasta lenguajes de alto nivel como C, C++, o FORTRAN (Chang, 1990) (Shu, 1988). Mientras que el principal interés detrás de estos desarrollos ha sido facilitar la labor de programación, la tradición de la representación lineal ha persistido (donde las instrucciones de entrada son dadas en forma de declaración por declaración).

Sin embargo, los detalles de las instrucciones de entrada requeridos para la elaboración de programas han disminuido de generación en generación (Chang, 1990). Por ejemplo, programar en un nivel como C o C++ trata con operaciones aritméticas y booleanas complejas sobre variables de datos, mientras que los lenguajes de bajo nivel no solo trata con la manipulación de datos, sino también con las direcciones y registros de memoria.

De acuerdo a Putti (Putti, 2007), una vez que los requerimientos del programa son conocidos, la programación involucra el análisis del problema, bosquejo, codificación y evaluación. Los requisitos del programa son primeramente analizados para su alcance o viabilidad mediante un listado de las posibles preguntas correspondientes al alcance, a la viabilidad de asignación de recursos o de tiempo. Una vez que esas preguntas son resueltas, da inicio la ejecución del proceso de planeación del proyecto. Esto involucra típicamente el diseño de la estructura del programa y la asignación de tiempo y recursos. Herramientas como diagramas de flujo son utilizados para representar dichas estructuras. Es entonces que el algoritmo es implementado y probado para evaluar la funcionalidad del programa, en su codificación y en fases de prueba. Mientras que en cada una de esas fases se considera esencial para el desarrollo de un código comprensible, las dos

(19)

fases de bosquejo y codificación parecen consumir la mayor parte del tiempo. Esto se debe principalmente al hecho de que los usuarios finales no son programadores en sí, y por tanto necesitan aprender a programar antes de utilizar el programa (Shu, 1988). Por ejemplo el desarrollo de una aplicación de software para automatizar o diseñar un proceso podría requerir que un ingeniero mecánico aprenda a programar un lenguaje de programación textual de alto nivel o bien dedicarle mucho tiempo en explicar y detallar los principios involucrados en la aplicación a un desarrollador de software experto en la escritura y optimización de código de software. Los lenguajes de programación textual típicamente requieren utilizar elementos textuales, como palabras claves para la declaración de variables, o revisiones de desempeño basados en una sintaxis predefinida para la ejecución de operación de datos manipulables.

Los datos en dicho lenguaje de programación son representados en formato textual, haciendo difícil la visualización del flujo de datos. Independientemente de la estructura del algoritmo, la naturaleza textual de representación en esos lenguajes de programación los limita a ser representados de una forma lineal (Chang, 1990). Esos factores a menudo hacen que el proceso de aprendizaje del programa sea tedioso y consuma mucho tiempo. Se conoce que mientras el objetivo principal de la programación es manipular información, la mayoría del tiempo dedicado a programar utilizando un lenguaje de programación textual es dedicado en la implementación de la lógica de programación (Shu, 1988).

El desarrollo de aplicaciones de diseño y automatización para la ingeniería mecánica utilizando lenguajes de programación textual como C, C++ requiere de habilidades de programación extensas. Sin embargo, el aprendizaje de estos entornos puede consumir mucho tiempo y a menudo puede resultar frustrante para los ingenieros mecánicos debido al uso de sintaxis y elementos textuales complejos para la representación de un algoritmo en forma lineal. Además, esos lenguajes de programación proporcionan una pobre visualización de los datos y del flujo de información debido a su naturaleza textual. El uso de objetos gráficos para la programación permite una visualización más sencilla y que también elimina la necesidad de representación de algoritmos lineales.

Aprender a programar utilizando un lenguaje textual usualmente involucra aprender a organizar las operaciones a ejecutarse sobre los datos en una forma secuencial que utiliza elementos textuales sintácticos. En vista de que esos elementos son usualmente complejos y cambian de un lenguaje de programación a otro, el proceso de aprendizaje es a menudo tedioso y que consume mucho tiempo(Shu, 1988).

Además, la representación lineal de algoritmos que no son siempre lineales hacen que el proceso sea más cansado y obliga al programador a concentrarse más en la dinámica del programa que en el intento del mismo de programarlo(Shu, 1988) (Chang, 1990) (Ahmad, 1999).

Representar objetos lógicos en un lenguaje de programación textual de alto nivel y visualizar el flujo de datos requiere de un nivel justo de expertiz. Esos factores han formado las razones para el desarrollo de lenguajes de programación visual, donde objetos como imágenes, símbolos y gráficas son utilizados para programar. Estos lenguajes ofrecen una mejor visualización del flujo de datos en un programa.

(20)

2.1.2 Programación Visual

¿Qué es la Programación Visual?

De acuerdo a Shu (Shu, 1988), la programación visual significa el uso significativo de representaciones gráficas en el proceso de programación.

La programación puede definirse como la especificación de un método para hacer algo que la computadora puede realizar en términos que la computadora pueda interpretar. Existen varios aspectos de la programación: Los lenguajes y entornos utilizados para las especificaciones, las especificaciones mismas, la determinación de que las especificaciones se hayan ejecutado como se espera, el desplegado de la información involucrada en la ejecución de especificaciones, etc.

La programación visual puede ser aplicada a todos los aspectos de la programación.

Generalidades de los lenguajes de programación

Cuando se trata de evaluar un lenguaje de programación, existen dos aspectos importantes a contemplar: el nivel del lenguaje y el alcance del lenguaje.

Por lo general se ha acordado que el nivel de lenguaje es una medida inversa de la cantidad de detalles que un usuario tiene que proporcionar a la computadora para que logre los resultados deseados. Un lenguaje es no procedimental (y al más alto nivel) si los usuarios le indican a la computadora únicamente lo que tiene que ser logrado, pero no como hacerlo. Un lenguaje es procedimental si los usuarios necesitan especificar los pasos que la computadora tiene que seguir.

El número y tamaño de los pasos necesarios varía con los diversos lenguajes procedimentales.

Para conseguir un mismo resultado, un lenguaje altamente procedimental (de bajo nivel) requiere una mayor cantidad de pequeños y detallados pasos, mientras que un lenguaje poco procedimental (de alto nivel) requiere una menor cantidad de largos y poco detallados pasos.

El alcance del lenguaje abarca desde lo general y ampliamente aplicable hasta lo específico y limitadamente aplicable, este representa que tanto un lenguaje es capaz de realizar. Utilizando FORTRAN y un lenguaje ensamblador como ejemplos, se podría utilizar el primero para ejecutar operaciones científicas complejas, pero probablemente no se utilizaría para ejecutar operaciones múltiples tareas (diversas tareas al mismo tiempo). Por otro lado un lenguaje ensamblador puede ser utilizado para realizar ambos. Por lo tanto se podría decir que el lenguaje ensamblador en este caso tiene un alcance más extenso de aplicabilidad que FORTRAN.

Existen otras formas de clasificación o de caracterización de un lenguaje, sin embargo para fines prácticos, estos aspectos son considerados los más importantes en la evaluación de los lenguajes de programación en general, independientemente de si es un lenguaje visual o no visual.

La Tercera Dimensión de los VPLs

Para ubicar a los lenguajes de programación visual en perspectiva, Shu introduce una dimensión adicional: La extensión de las expresiones visuales.

(21)

Expresiones visuales son las representaciones visuales (no textuales) significativas (como por ejemplo iconos, gráficas, diagramas e imágenes) utilizadas como componentes de lenguaje para lograr el propósito de programar. La extensión de las expresiones visuales es una medida de que tantas expresiones visuales son incorporadas en el lenguaje de programación. Entre más representaciones visuales, mayor será la extensión visual. Si no existe una expresión visual en el lenguaje (incluso si la información procesada y desplegada tiene imágenes), esta tercera dimensión no aplica.

Análisis Dimensional de los VPLs

Shu proporciona un enfoque analítico aunque cualitativo para la comparación de los VPLs. En esencia, este involucra la construcción del perfil del lenguaje, el cual es caracterizado en un marco tridimensional. Gráficamente puede ser representado mediante mediciones relativas del lenguaje en los niveles etiquetados como: Nivel de lenguaje, alcance y extensión visual, tal como se muestra en la figura.

Extensión Visual

high

bajo

Alcance

especifico general

high

Nivel del Lenguaje

Figura 2-1 Las tres dimensiones de los Lenguajes de Programación Visual

(22)

2.1.3 Tendencias de la Programación Visual

Entornos y Lenguajes Visuales

Cuando se refiere a la programación visual, esta se ha desarrollado en dos importantes direcciones: La de entornos visuales y la de lenguajes visuales (Shu, 1988). En la primera dirección, técnicas gráficas y dispositivos apuntadores son utilizados para proveer entornos visuales para la construcción de programas y su ejecución; para la recuperación y presentación de datos; y para el diseño de software y comprensión. En la segunda dirección, los software son diseñados para manejar información visual (imágenes); para reforzar la interacción visual; y para incluso programar con expresiones visuales. Las presentes tendencias se muestran en la figura siguiente.

E N T O R N O VISUAL LENGUAJES VISUALES

Visualización de

Entrenamiento visual

Para manejo de información visual

Para soporte de interacciones visuales

Para realmente programar con expresiones visuales

Datos o información sobre los datos

Programas y/o ejecución

Diseño de

software LENGUAJES D E P R O G R A M A C I Ó N VISUAL Sistemas de

diagramas Sistemas de ¡conos

Sistemas de formas

Figura 2-2 Tendencias de la Programación Visual

En el caso de los entornos visuales, estos tienen la característica de proveer un entorno o ambiente visual que permite una nueva forma de interacción entre el humano y la computadora;

sin embargo estos entornos no proveen nada nuevo en términos de un enfoque hacia los aspectos del lenguaje en el proceso de programación. En otras palabras, el énfasis de los entornos visuales radica en la interacción misma, no en el lenguaje. Esta última característica es la que marca la diferencia entre las dos áreas principales de la programación visual: los entornos visuales y los lenguajes visuales.

De acuerdo a sus objetivos, los lenguajes visuales pueden clasificarse en tres categorías:

Lenguajes para el manejo de información visual, para apoyo de interacción visual y para la programación de representaciones visuales.

(23)

Lenguajes para el Manejo de Información Visual

Los lenguajes correspondientes a esta categoría son diseñados principalmente para el procesamiento de información visual e imágenes. Están motivados por la necesidad de tener un lenguaje fácil de usar para la manipulación y consulta de información ilustrada. Sin embargo, a pesar de que la información manejada por los lenguajes involucra imágenes, los lenguajes en sí son textuales.

Lenguajes para Soporte de Interacciones Visuales

Avances en las tecnologías de hardware han facilitado el camino para el uso de iconos u objetos como un medio de comunicación con las computadoras. Sin embargo, sin software, los iconos e imágenes no cobrarían vida en el mundo informático. Por lo tanto, es natural que estos lenguajes sean diseñados para definir, crear, y manipular símbolos o imágenes. Los lenguajes por lo general en esta categoría, apoyan la representación e interacción visual, pero así como en los lenguajes para el manejo de información visual, estos también son textuales.

Lenguajes de Programación Visual

Esta categoría de lenguajes visuales se caracteriza por permitir a los usuarios a que en realidad programen con expresiones visuales. Estos pueden ser bien llamados Lenguajes de Programación Visual. Basado en los principios de diseño, la mayoría de los VPLs se ajustan a tres amplias categorías: Gráficas y diagramas, lenguajes de iconos o imágenes, y lenguajes basados en tablas o formas.

Los VPLs basados en gráficas y diagramas aterrizan dichos elementos representados en papel y son incorporados a conceptos programables como extensiones a los lenguajes de programación convencionales; es decir, se convierten en unidades interpretables para la computadora en conjunto con los lenguajes de programación convencionales.

Los VPLs basados en iconos o símbolos gráficos son diseñados a propósito para jugar el papel central en la programación. En años recientes se ha incrementado el número de VPLs basados en este sistema. El rol de los iconos e imágenes no se limita a la representación de objetos de escritorio y de comandos para su manipulación. Es de esta forma que se han desarrollado VPLs para enseñar y llevar a cabo los conceptos de programación mediante representación visual.

Entre los anteriores VPLs se encuentra un lenguaje intermedio, el cual está basado en formas o tablas. En esta categoría, las representaciones gráficas están diseñadas como una parte integral de un lenguaje. Sin embargo a diferencia de los VPLs basados en iconos, esas representaciones gráficas no juegan el papel central del lenguaje. Hasta ahora, a diferencia de los VPLs basados en diagramas, estos lenguajes no intentan hacer de las herramientas papel - lápiz algo ejecutable.

(24)

2.1.4 Lenguajes de Programación Visual (VPLs)

Definiciones

En la literatura podemos encontrar distintas definiciones sobre los lenguajes de programación visual.

Una forma de definición común de la programación visual es que es una forma de representación gráfica significativa en el proceso de programación (Shu, 1988). Los lenguajes de programación han sido un campo de investigación activo en años recientes, resultando en muchos lenguajes de programación visual (VPLs) y sistemas de visualización. Algunos de esos lenguajes visuales están diseñados específicamente para facilitar el proceso de programación para un cierto campo, mientras que otros apuntan hacia un amplio rango de dominios de problemas. Sin importar el dominio del problema, la filosofía detrás de los VPLs es que los programas creados con imágenes y gráficas son más fáciles de entender que los presentados en forma textual.

De acuerdo a Shu, un lenguaje de programación visual puede ser definido de manera informal como un lenguaje que utiliza algunas representaciones visuales (además o en lugar de palabras y números) para lograr lo que de otra forma tendría que ser escrito tradicionalmente en un lenguaje de programación unidimensional.

Hay que aclarar que esta definición no impone restricciones sobre el tipo de datos o información.

Es irrelevante si el objeto a ser manejado o desplegado para el usuario por un lenguaje visual sea representado de forma textual, numérica, o incluso auditiva. Lo importante para ser considerado como lenguaje de programación visual es el lenguaje en sí mismo, pues este debe emplear expresiones visuales significativas como un medio de programación.

De acuerdo a Chang (Chang, 1990), los sistemas de programación visual son sistemas computacionales que admiten tanto la programación visual como la visualización. Se entiende como programación visual al uso de expresiones visuales (como iconos, dibujos o gestos) en el proceso de programación. Visualización significa el uso de representaciones visuales (como gráficas, imágenes o secuencias animadas) para ilustrar programas, datos, la estructura de un sistema complejo, o el comportamiento de un sistema complejo.

Existen distintos factores que deben ser considerados cuando se decide utilizar un lenguaje visual o cuando un sistema visual es estudiado, como lo es la naturaleza del dominio del problema, las capacidades y habilidades cognitivas del programador objetivo y el ambiente en el cuál el lenguaje es implementado.

¿Porqué seleccionar un VPL?

Los lenguajes de programación visual apuntan directamente a representar la estructura de algoritmos e información, de tal modo que aumenta las habilidades del programador para construir y comprender programas. En los lenguajes tradicionales textuales la estructura de los algoritmos e información es codificada en secuencias de texto. Los lenguajes visuales quitan esta

(25)

capa de abstracción y permiten a los programadores a que manipulen directamente la estructura del programa, es esta representación uno de los factores más importantes en el aumento de las habilidades de los programadores para construir y entender las estructuras de un programa (Green, y otros, 1996).

En un lenguaje de programación visual, la semántica del lenguaje está definida por representaciones gráficas significativas (Shu, 1988) que ayudan a los programadores a comprender más fácilmente la estructura de los programas y la información. En un VPL las relaciones entre las construcciones del programa están representadas visualmente utilizando dispositivos como líneas, gráficas y árboles. Estas representaciones gráficas tienen como intención reducir los niveles de abstracción de las partes del programa, y como consiguiente aumentar la franqueza del programa. La franqueza del programa es una medida de que tan concretamente se despliega el código y estructura de información, una propiedad conocida como proximidad de mapeo (Green, y otros, 1996).

Características comunes de los VPLs

De acuerdo a Burnett (Burnett, y otros, 1998), algunas de las características de los lenguajes de programación visual son las siguientes:

1. Simplicidad 2. Son concretos

3. Retroalimentación visual inmediata 4. Representación explícita de las relaciones 5. Proximidad de Mapeo

Los VPLs apuntan a proveer simplicidad en el proceso de crear y editar programas al reducir el número de conceptos utilizados en su modelación. Los VPLs lo consiguen al remover muchas de las complejas y difíciles abstracciones que usualmente se utilizan en los lenguajes de programación textuales. Por ejemplo, en la mayoría de los VPLs los programadores reemplazan la definición de variables de los lenguajes textuales.

Los VPLs son concretos porque usan valores específicos en lugar de una descripción de valores posibles (Burnett, y otros, 1994). Los VPLs utilizan visualización explícita para expresar las relaciones entre los elementos del programa. Por ejemplo, los diagramas de flujo en un VPL muestran claramente el flujo de control del programa, y los diagramas de flujo de información representan las dependencias de información entre operaciones.

La retroalimentación visual inmediata provee respuesta instantánea a los cambios realizados a un programa. Cuando un programador realiza un cambio, el sistema actualiza automáticamente cualquier información desplegada que se le relacione. En las hojas de cálculo por ejemplo, al cambiar un valor inmediatamente se propaga el cambio a todas las celdas dependientes.

Los VPLs apuntan hacia la mejora de la forma en la cual los programadores expresan información y algoritmos en un programa y en la forma en que editan y modifican programas.

Ayudan a los programadores a entender la lógica de sus programas y algoritmos mediante

(26)

representación explícita de las relaciones del programa. Esto es conseguido mediante la naturaleza visual propia de los VPLs y de la proximidad de mapeo que permiten que el gap existente entre el universo del problema a resolver y el universo de programación sea más estrecho.

Una de las metas principales en la solución de problemas de dominio específico de los VPLs es permitir a expertos y científicos resolver problemas complejos en sus áreas de expertiz a través de programación sin necesariamente ser expertos programadores. En este caso el programador puede concentrarse en la solución del problema en lugar de ajustar la solución al lenguaje.

Mientras más cercano sea el universo de la programación al universo del problema, más fácilmente la resolución del problema será (Green, y otros, 1996). La proximidad de mapeo entre el dominio del problema y un lenguaje de programación y su ambiente, dicta que tanto esfuerzo mental debe realizar un programador para crear, editar, eliminar errores, examinar y mantener un programa. Esto significa que si un programador se apoya en un VPL, independientemente de no ser experto en la programación pero si conocedor del dominio del problema a solucionar, le será más fácil programar para la resolución de un problema, pues las labores de edición y creación entre otros aspectos de un programa son más sencillas al disminuir la proximidad de mapeo.

Ventajas en el uso de un VPL

1. De acuerdo con Chorafas (Chorafas, 1997) con programación visual la cultura del software puede cambiar, porque los gráficos utilizados pueden ayudar efectivamente en los requerimientos de especificaciones actuales. Mediante la utilización de gráficas se establece un lenguaje formal que:

• Puede ser fácilmente ligado a las especificaciones funcionales

• Puede ayudar a definir exactamente lo que tiene que ser realizado en términos de programación, incluyendo el sustento del programa.

2. La programación visual puede probar ser el eslabón perdido entre el lenguaje máquina y el usuario final.

Cabe mencionar que la programación visual no proporciona al usuario de soluciones milagrosas, pero si contribuye al establecimiento de una mejor interfase de programación hombre - máquina mediante un enfoque interdisciplinario. Mediante una comunicación efectiva hombre - máquina a través de gráficas ayuda a reducir errores en los niveles posteriores de un programa de desarrollo;

por lo tanto se aceleran los tiempos de entrega, se ahorra dinero y se mejora la calidad del software.

3. El enfoque de la programación visual consiste en ayudar al usuario final a desarrollar habilidades de programación y que además sea accesible a profesionales y consumidores.

La utilización de un lenguaje de programación visual permite que los usuarios finales aprendan a programar y desarrollen habilidades sin la necesidad de ser expertos programadores, pues al ser

(27)

un lenguaje basado en la programación mediante imágenes y gráficos, este resulta ser más accesible a quien lo utiliza.

4. En el desarrollo de proyectos de ingeniería, la utilización de un lenguaje de programación visual reduce los tiempos de entrega y permite mayor flexibilidad ante las posibles modificaciones que se realicen en el programa.

En la tabla que se presenta a continuación (Chorafas, 1997), se muestra que para el desarrollo de un proyecto utilizando lenguajes de programación tradicionales (textuales), el tiempo de entrega es mucho mayor en comparación con la utilización de un lenguaje de programación visual. Así mismo la flexibilidad del lenguaje nos dice que es más sencillo realizar una modificación a un programa realizado en lenguaje de programación visual que en uno tradicional.

Tabla 2-1 Tiempos de entrega y la flexibilidad de la aplicación

Lenguaje Usuario Tiempo de entrega

del desarrollo Flexibilidad Valor del resultado obtenido

Cobol Programador

clásico 2 a 3 años Ninguna 1

Delta Programador

clásico 6 meses a 1 año Mínima 1 0

C++ Diseñador,

analista 2 a 6 meses Pobre 1 0 0

Gráficos clásicos Diseñador,

analista Casi un mes Buena 1 , 0 0 0

Programación Visual Usuario final 3 a 5 días Cambio

instantáneo 1 0 , 0 0 0

Herramientas

tridimensionales VP Usuario final 1 hora a 1 día Completa

interactividad 1 0 0 , 0 0 0

A continuación se presenta una tabla comparativa entre los sistemas de análisis clásico de programación y la programación visual interactiva (Chorafas, 1997)

Tabla 2-2 Comparación entre el sistema de análisis clásico de programación y el de programación visual interactiva

Sistema de análisis clásico de

programación Programación visual interactiva

La aplicación formal de las especificaciones debe ser creada y mantenida

Los usuarios no necesitan definir lo que requieren. Ellos pueden crear su propia versión oficial de la aplicación (prototipo)

El desarrollo de aplicaciones usualmente

requiere de meses y años El desarrollo de aplicaciones toma horas, días o cuando mucho un par de semanas

(28)

Tabla 2-2 Comparación entre el sistema de análisis clásico de programación y el de programación visual interactiva (continuación)

Sistema de análisis clásico de programación Programación visual interactiva

El conocimiento de información profesional para el

proceso es un prerrequisito Los usuarios pueden crear sus propias aplicaciones, incluso muy sofisticadas.

Con lenguajes tradicionales, los programadores deben

especificar como debiera realizarse una tarea Los usuarios especifican que debe ser hecho

Selección de un VPL

De acuerdo a Chorafas, existen reglas que seguir en la selección de un lenguaje de programación visual por parte de un usuario.

1. Debe ser muy fácil de aprender y de utilizarse como auto aprendizaje 2. Debe ser fácil de usar

3. Debe ser fácil de recordar

En lugar de enfocarse en los detalles de lenguajes de programación o algoritmos específicos, los usuarios dirigen a sí mismos en términos generales al entendimiento del problema y a las técnicas del diseño del sistema. Esto puede ser logrado a través de una variedad de paradigmas de programación de alto nivel, incluyendo la abstracción de información, orientación de objetos, sistemas expertos basados en reglas, artefactos de ingeniería difusa, iconos y párrafos funcionales, así como otras expresiones familiares para el usuario final, el cual será manejado por interpretadores embebidos.

Con la programación visual, lo que ves es lo que obtienes. El usuario define una pantalla y la asocia con una expresión, sin tener que preocuparse sobre su manejo y estructura. Este es realizado a través de una interfase de alto nivel mientras que el procesamiento es ejecutado por generadores.

En el caso general, la programación visual es apropiada para las siguientes aplicaciones:

1. Programación modular

2. Trazado de sistemas de negocios

3. Descripción visual de aplicaciones de ingeniería 4. Abstracción de especificaciones

5. Enfoques concentrados a la programación computacional 6. Partición e integración de módulos

7. Composición de software interactivos reusables 8. Predicción de correcciones (pruebas dinámicas)

(29)

9. Mantenimiento de programas en línea 10. Optimización del desempeño de sistemas

Para la selección de un VPL, hay que considerar que el objetivo de la programación visual consiste en garantizar una aplicación amigable y de alta productividad, así como de proveer un ambiente de desarrollo robusto para usuarios finales, lo cual les permite involucrarse en la modelación de aplicaciones.

Finalmente, una parte integral de una buena metodología de programación visual es que toda la documentación debe ser respaldada por la computadora, ser clara y bien organizada. Esta metodología debe permitir que los componentes sean inspeccionados de tal forma que se pueda verificar su consistencia con la documentación residente en el desarrollo de la base de datos.

2.1.5 Justificación del uso de un VPL en el desarrollo del modelo

Los enfoques de programación clásicos no son tan sofisticados como las aplicaciones que intentan construir, resultando en un desbalance entre el esfuerzo realizado y el resultado obtenido.

En base a lo anterior, organizaciones líderes han explotado activamente el potencial de lenguajes orientados a objetos, y han adoptado los enfoques de diseño de software basados en programación visual. Gran parte del éxito de proyectos basados en VRML y Java han sido en base a ese hecho.

La combinación del enfoque basado en objetos y la programación visual permite una rápida entrega de aplicaciones modulares de negocios, estableciendo un escenario de tiempos de entrega rápidos. También incrementa la habilidad de identificar proyectos importantes y visibles que pueden ser ejecutados en días o semanas en lugar de años.

Hoy se cuentan con lenguajes más sofisticados y más complejos con los que nunca antes se había contado. Pero al mismo tiempo, los usuarios demandan un mayor grado de simplicidad cuando se trata de poner a la práctica dichas aplicaciones. Esto es un asunto primordial que tiene que ser solucionado de una manera posible.

Los usuarios buscan aplicaciones que no requieran conocimiento avanzado, y las compañías requieren softwares que minimicen la necesidad de capacitación. Las tendencias divergentes de una mayor sofisticación en aplicaciones y de mayor simplicidad para los usuarios significan que lo que parece amigable para el usuario hoy, es probable incorporarle tecnologías complejas y convergentes mañana, y estas deben ser incorporadas de forma integral. Esta es la primera y más importante misión de la programación visual.

A continuación se presentan dos estudios que justifican la utilización de un lenguaje de programación visual como una herramienta que además de favorecer la productividad en el desarrollo de proyectos, permite que los usuarios finales se involucren en el proceso o que incluso se conviertan en programadores.

El estudio realizado para la industria por el Measurement Technology Center (MTC), en el cual Baroth y Hartsough (Baroth, y otros, 1995) reivindican la utilización productiva de los VPLs en

Referencias

Documento similar

modelo de

1. LAS GARANTÍAS CONSTITUCIONALES.—2. C) La reforma constitucional de 1994. D) Las tres etapas del amparo argentino. F) Las vías previas al amparo. H) La acción es judicial en

Una vez hecho esto, se realiza una espera, leyendo el registro de salida del coprocesador para el control de qué está haciendo el procesador en este momento, a la espera que nos

[r]

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

[r]

[r]