PDF de programación - Introducción al uso de bibliotecas de álgebra para estudiantes de ingeniería

Imágen de pdf Introducción al uso de bibliotecas de álgebra para estudiantes de ingeniería

Introducción al uso de bibliotecas de álgebra para estudiantes de ingenieríagráfica de visualizaciones

Actualizado el 18 de Mayo del 2018 (Publicado el 3 de Mayo del 2017)
1.292 visualizaciones desde el 3 de Mayo del 2017
210,5 KB
8 paginas
Creado hace 13a (02/06/2010)
Eighth LACCEI Latin American and Caribbean Conference for Engineering and Technology (LACCEI’2010)
“Innovation and Development for the Americas”, June 1-4, 2010, Arequipa, Perú.

Introducción al uso de bibliotecas de álgebra para estudiantes de

ingeniería

Adolfo Di Mare

Escuela de Ciencias de la Computación e Informática

Universidad de Costa Rica

[email protected]

RESUMEN

Presentamos una método de enseñanza sencillo para introducir el uso de bibliotecas Java para la manipulación de
matrices en el contexto del único curso de programación que reciben los estudiantes de ingeniería, quienes
aprenden programación y construcción de algoritmos porque necesitan resolver problemas específicos usando
computadores, dejando de lado el conocimiento detallado de las tecnologías de programación o de computación.

Palabras clave: álgebra lineal, matrices, uso de bibliotecas de programas, introducción de técnicas de
programación, computación explícita, software.

ABSTRACT

We present a simple teaching method to introduce the use of Java libraries for matrix manipulation in the context
of the only programming course for engineering students, who learn programming and algorithm construction
because they need to solve specific problems using computers, leaving aside the detailed knowledge of computer
technology or programming.

Keywords: linear algebra, matrices, usage of program libraries, introduction to programming techniques, explicit
computation, software.

1. INTRODUCCIÓN
Es difícil encontrar un plan de estudios para formar ingenieros que no incluya un curso de programación de
computadores, lo que muestra que sí hay consenso en que la programación es una componente fundamental para
el uso de herramientas computacionales. Algunos autores disputan si el lenguaje adecuado es Java, C/C++ o una
herramienta específica de solución de problemas como MATLAB (BA-1996); talvez sea posible obtener
resultados igualmente útiles si los estudiantes aprenden a usar ambientes integrados de producción de
documentos, como el “Office” de Microsoft o el “OpenOffice” de Sun, pero la mayor parte de los docentes
quieren que sus alumnos de ingeniería puedan llegar un poco más allá y prefieren impartir un curso de
programación de computadores suficientemente completo.

Debido al constante avance tecnológico contemporáneo, el futuro ingeniero necesita conocer más sobre una
mayor cantidad de temas. Esto dificulta aumentar la cantidad de cursos de computación del plan de estudios de la
carrera, aunque hay excepciones a esta regla.

Los profesores de computación generalmente prefieren profundizar en las técnicas de programación y con
frecuencia se concentran en enseñar tópicos avanzados como programación por objetos o el uso de interfaces

Arequipa, Perú

8th Latin American and Caribbean Conference for Engineering and Technology

WE1-1

June 1-4, 2010

gráficas y graficación (SB-2006). Si un ingeniero necesitará usar su computadora para realizar cálculos, en
realidad lo que necesita es conocer sobre construcción de algoritmos: este hecho debe ser aceptado por el profesor
de programación para evitar que el estudiante de ingeniería termine sabiendo mucho sobre lo que no necesita. La
premisa de la que se parte en este trabajo es que el estudiante ya sabe cómo programar algoritmos y lo que
necesita más bien es utilizar bibliotecas de programas para efectuar algunos cálculos avanzados, los que no se
pueden realizar cómodamente en la calculadora programable que acompaña a todo ingeniero.

La decisión de cuál lenguaje utilizar difícil de tomar, porque cada lenguaje tiene cualidades que es fácil usar para
opacar las ventajas y realzar las deficiencias de los otros. Una forma sencilla de resolver el problema es usar un
lenguaje que sea suficientemente simple de manera que muchos profesores lo conozcan, lo que facilita conseguir
profesores para el curso, pero que también tenga un entorno que facilite su enseñanza. Java tiene estas dos
cualidades y por eso se usa en muchas universidades. Además, Java es un lenguaje muy completo que sirve para
avanzar en la tecnología de programación y es usado como primer lenguaje en muchos programas de estudios de
computación (King-1997). También es un hecho que algunas herramientas de aplicación usan lenguajes similares
a Java para automatizar procesos, como ocurre en el “Visual Basic for Applications” que complementa el “Office”
de Microsoft, o el “OpenOffice Basic” de Sun. Estos lenguajes aumentan la potencia de las bases de datos y las
hojas de cálculo que los ingenieros usan.

El lenguaje C tiene restricciones sintácticas que dificultan su enseñanza, lo que impide que el estudiante pueda
resolver problemas interesantes pronto. Herramientas como MATLAB son poderosas pero están alejadas de la
formulación usual de algoritmos que se usa en muchas aplicaciones de ingeniería; es deseable tener una buena
formación en programación para luego aprovechar la potencia de herramientas como MATLAB.

Existen muchas bibliotecas para Java, y bastantes son de uso libre y gratuito (hasta parece que hay más bibliotecas
Java funcionalmente completas que bibliotecas C++). Aquí se explica cómo lograr que un estudiante use la
biblioteca JAMA de manipulación de matrices, pues después de que el alumno aprende a incorporar una
biblioteca en su programa puede utilizar otras más según las necesite. La elección de la biblioteca JAMA,
producida por el “National Institute of Standards and Technology”, se fundamenta en estas cualidades:

• Es bastante completa, pues incluye la mayor parte de la operaciones en matrices que se necesita para

resolver problemas prácticos.

• Como es simple sirve para introducir los conceptos inmediatamente.
Incluye el código fuente lo que facilita entender cómo funciona la biblioteca.

• Está construida por una organización de buen prestigio en USA y en el mundo
 [ http://math.nist.gov/javanumerics/jama/ ]

Parte de la contribución de este artículo es precisamente mencionar JAMA, pues hay tantas bibliotecas de difícil
uso que muchas veces no se sabe por dónde comenzar.
Aunque JAMA es una biblioteca de objetos, pues Java usa fuertemente el paradigma de orientación a objetos, en
este trabajo se destacan más bien cómo lograr llegar a una solución práctica para contar con un recetario de cómo
usar esas rutinas.

2. MÉTODO DE ENSEÑANZA
Si se supone que ya el estudiante de ingeniería conoce los conceptos básicos de construcción de algoritmos
entonces ya ha aprendido estos temas:

Secuenciación


• Asignación y expresiones
• Decisiones if()
• Ciclos for(;;) y while()
• Uso de vectores o matrices


Subrutinas y parámetros

Arequipa, Perú

8th Latin American and Caribbean Conference for Engineering and Technology

WE1-2

June 1-4, 2010

No hace falta que el estudiante domine conceptos avanzados de programación por objetos como clases,
referencias o clonación de objetos, pero sí debe conocer el uso un ambiente de programación, como DrJava
(DrJava-2002) u otro similar. Muchos profesores de computación eligen DrJava porque incluye un depurador
simbólico y es muy portable, hasta el punto de que es posible ejecutarlo desde una llave maya porque no necesita
instalación.

Para lograr que el estudiante interiorice la forma de aprovechar una biblioteca, es muy útil darle las instrucciones
como un proyecto o un examen. Aquí usamos el enunciado de este examen:
 [ http://www.di-mare.com/adolfo/cursos/2009-2/pi-ea-a.htm ]

Utilice la biblioteca JAMA para construir un programa que pueda resolver sistemas de ecuaciones de la forma
AX=B. Construya su matriz A[70x70] llenando la primera fila con los primeros 70 números de Fibonacci. Para
construir la segunda, corra todos los número de la primera fila hacia la izquierda una posición, y continúe así
generando cada una de las 70 filas. Este es un ejemplo de una matriz de renglones Fibonacci:

0 1 1 2 3 5 8 Matriz A[7x7]
1 1 2 3 5 8 0
1 2 3 5 8 0 1
2 3 5 8 0 1 1
3 5 8 0 1 1 2
5 8 0 1 1 2 3
8 0 1 1 2 3 5

Las instrucciones específicas para usar la biblioteca JAMA son las siguientes:

Todos los archivos que forman un proyecto DrJava deben estar en una carpeta.

• Haga una carpeta nueva en la que copiará todos los archivos de su proyecto.


Primero debe obtener el paquete ".jar" completo de JAMA:
 [ http://math.nist.gov/javanumerics/jama/ ]

Para crear el proyecto DrJava, coloque el código XML en el archivo FiboMatrix.drjava.

• Coloque el código Java en el archivo FiboMatrix.java.

• Copie los archivos ".jar" que forman la biblioteca JAMA en su carpeta.
• Verifique que el nombre de los archivos ".jar" que están en su carpeta son los nombres que se

mencionan en el proyecto DrJava. Por ejemplo, si en su carpeta está el archivo "Jama-1.0.2.jar" es
necesario que en el proyecto DrJava sea ese el nombre que se menciona en la etiqueta "classpath" del
proyecto:
<classpath>
<classpath/>
archivos ".jar" en la sección "Extra Classpath" de ProjectProperties.

• También es posible crear el proyecto desde DrJava en el menú ProjectNew, para luego agregar los

<file absolute="false" name="Jama-1.0.2.jar"/>

• La lista de archivos que usted debe tener en su carpeta es la siguiente:

FiboMatrix.drjava
FiboMatrix.java
Jama-1.0.2.jar





• Abra el proyecto FiboMatrix.drjava con DrJava, compílelo y ejecútelo.

Figura 1

Arequipa, Perú

8th Latin American and Caribbean Conference for Engineering and Technology

WE1-3
  • Links de descarga
http://lwp-l.com/pdf3298

Comentarios de: Introducción al uso de bibliotecas de álgebra para estudiantes de ingeniería (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad