Software Libre para enseñar o aprender Matemática...
Transcript of Software Libre para enseñar o aprender Matemática...
![Page 2: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/2.jpg)
Introducción• En esta charla, presentaremos algunos de los
pogramas que sonsoftware libre, que puedenutilizarse para docencia e investigación enmatemática.
• Discutiremos también cúales son las ventajas deutilizar software libre para la docencia y lainvestigación en matemática.
![Page 3: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/3.jpg)
¿Por qué ? : ¿Qué ventajas tieneutilizar software libre?
![Page 4: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/4.jpg)
¿Qué es el Software Libre?Según la definición propuesta porRichard Stallmanun programa es software libre si el usuario tiene (deacuerdo a lalicenciadel programa) las siguienteslibertades o derechos:
0) La libertad deejecutar el programa, con cualquierpropósito.
1) La libertad deestudiar cómo funciona elprograma, y adaptarloa sus necesidades.
2) La libertad dedistribuir copias, con lo que puedeayudar a su vecino.
3) La libertad de mejorar el programa yhacerpúblicas las mejorasa los demás, de modo quetoda la comunidad se beneficie.
![Page 5: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/5.jpg)
Una cuestión de Derechos• El software libre es unacuestión de derechos,
no una cuestión de tecnología.• Lo que decide si un programa es o no libre, es la
licenciabajo la cual el programa se distribuye.
Una licencia de software es uncontratoentre eltitular del copyright (derecho de copia) sobre unsoftware, y el usuario, que establece que cosas elusuario puede hacer con el programa (y cualesno).
• Software libre (free software)6= software gratuito(freeware).
“El software libre es una cuestión de libertad, node precio”.
![Page 6: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/6.jpg)
Escapando al dilema moral. . .Una ventaja de usar software libre en la docencia, esque podemos distribuir copias del progrmalegalmentea los alumnos.
Esto permite que los alumnos puedan utilizar elprograma en sus casas.
La licencia del programa nos autoriza a hacerlo.
“Si usas un programa sin la libertad dedistribuir copias, pronto te enfrentarás a undilema moralcuando un amigo te diga: Eseprograma que tienes me sería útil. ¿Podríasdarme una copia?” (Richard Stallman)
![Page 7: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/7.jpg)
Accediendo al conocimiento. . .Pero quizás la ventaja más importante de utilizarsoftware libre en la docencia o la investigaciónmatemática, es que permiteacceder al conocimientoque hay detrás del software.
Utilizando software libre, nuestros alumnos pueden,por ejemplo, ir y ver que algoritmo utiliza el programapara realizar determinado cálculo.
O incluso pueden tomar elcódigo fuenteen sus manosy mejorarlo, o adaptarlo para hacer algo diferente.
![Page 8: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/8.jpg)
Enseñando valores. . .Si partimos del convencimiento de que la educaciónno tiene por objeto exclusivamente transmitir unaserie de conocimeintos técnicos o prácticos, sino quebusca fundamentalmentetransmitir valoressocialmente positivos, resulta claro que la utilizaciónde software libre puede contribuir a este propósito:
“Un programa que sea software libre puedeno ser técnicamente superior, pero siempreserá éticamente superior” (Richard Stallman)
• Compartir es bueno.• No al software “trucho”: debemos eseñar a
respetar la ley.
![Page 9: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/9.jpg)
Una cita de Linus Torvalds“I think, fundamentally, open source does tend to bemore stable software. It’s the right way to do things. Icompare it toscience vs. witchcraft. In science, thewhole system builds on people looking at other peopleresults and building on top of them. In witchcraft,somebody had a small secret and guarded it but neverallowed others to really understand it and build on it.
Traditional software is like witchcraft. In history,witchcraft just died out. The same will happen insoftware. When problems get serious enough, youcan’t have one person or one company guarding theirsecrets. You have to have everybody share inknowledge.”
![Page 10: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/10.jpg)
S. L. y Método Científico• Existe un estrecho paralelo entre la forma que el
software libre se desarolla y elmétodo científico.• En la ciencia es fundamental, la crítica de los
resultados por parte de otros científicos (revisiónpor parte de los pares); y su utilización por partede otros para obtener nuevos resultados.
• Exactamente lo mismo sucedeen el mundo delsoftware libre. Uno puede tomar el código de otroprogramador, examinarlo, mejorarlo, corregirlo, eincluso usarlo como base para desarrollar unnuevo programa.
• Las licencias de software libre permiten hacerestosin tener que pedir permisoal autor originaldel programa.
![Page 11: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/11.jpg)
¿Cómo?: ¿Qué alternativas libresexisten?
![Page 12: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/12.jpg)
Alternativas Libres• En esta segunda parte de la charla presentaremos
una selección de los programas existentes, quetiene el propósito de convencerlos de que existenalternativas libresa otros programas privativosque quizás son más populares.
• Todos los programas que vamos a presentar, sepueden utilizar sobre el sistema operativoGNU/Linux, pero algunos de ellos funcionansobre otros sitemas operativos.
• El mundo del software libre esun mundo dealternativas. En general no suele existir un sóloprograma para una tarea, sino varias alternativaspara elegir.
![Page 13: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/13.jpg)
Sistemas de ÁlgebraComputacional
![Page 14: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/14.jpg)
Álgebra Computacional• Los sistemas de álgebra computacionalson
programas capaces de realizaroperacionessimbólicascomo diferenciación, integración,factorización de polinomios, etc.
• Soportan aritmética de precisión arbitraria.
Por ejemplo: Axiom, Maxima, Sage, Yacas, etc.
• Algunos son para aplicaciones específicas:
Pari/Gp (teoría de números), Gap (teoría degrupos), Singular y Macaulay2 (para geometríaalgebraica).
![Page 15: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/15.jpg)
wxMaxima
wxMaxima: ejemplos de diferenciación e integración
![Page 16: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/16.jpg)
características de Maxima• Es un sistema para lamanipulación de
expresiones simbólicas y numéricas, incluyendodiferenciación, integración, expansión en seriesde Taylor, transformadas de Laplace, ecuacionesdiferenciales ordinarias, sistemas de ecuacioneslineales, y vectores, matrices y tensores.
• Maxima es un descendiente de Macsyma, ellegendario sistema de álgebra computacionaldesarrollado a finales de 1960 en el MIT.
• Licencia:GNU GPL(versión 2).• Lenguaje de programación: Lisp.
![Page 17: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/17.jpg)
Axiom
Axiom funcionado bajo KDE
![Page 18: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/18.jpg)
Caracterísiticas de Axiom• Es un sistema de álgebra computacional, con
capacidades simbólicas.• Está en desarrollo desde 1973. Originalmente
Axiom fue desarrollado por investigadores deIBM bajo el nombre deScratchpad.
• Lenguajes de programación: Lisp, Spad, (Aldor).• Licencia:BSD modificada.• Posee unajerarquía de tipos de datosmuy
eleborada, que representa muy bien la manera depensar de los matemáticos (tiene “categorías”como anillo o grupo).
• Viene con abundante documentación.
![Page 19: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/19.jpg)
SAGE
SageNotebook funcionando con Mozilla Firefox
![Page 20: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/20.jpg)
Características de SAGE• Es un sistema de álgebra computacional escrito
enPython.• Provee unainterfase de alto nivelqueintegra a
otros programas y libreríaspre-existentes como:• Pari/GP, NTL, Nwrank (teoría de números)• GNU GSL, Scipython, Numpy (aplicaciones
numéricas)• Linbox (álgebra lineal numérica), Cvxopt
(optimización)• Gap (teoría de grupos)• Singular (álgebra comutativa y geometría
algebraica)• Maxima, Sympy (manipulaciones simbólicas)
![Page 21: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/21.jpg)
Más sobre SAGE . . .• SAGEsignifica “Software for Algebra and
Geometry Experimentation”• El desarrollo de SAGE es liderado por William
Stein, de la Universidad de Washington.• Licencia:GNU GPL, versión 2.• El hecho de ser software libre hace que no sea
necesario reinventar la rueda cada vez, sino quese pueda aprovechar paquetes pre-existentes.
• SAGE puede utilizarse desde un navegador web(Mozilla Firefox) (SageNotebook).
![Page 22: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/22.jpg)
¿y porqué utilizar Python?• Pythones un lenguaje de programación de muy
alto nivel, moderno y fácil de entender.• Es ampliamente utilizado para distintas
aplicaciones.• Pythones fácil de aprender. Lo recomiendo para
enseñar a programar.Entonces . . .
• El código de SAGE esfácil de entender ymodificar.
• No es necesario aprender un lenguaje específicopara utilizar SAGE.
• Pythones una herramienta eficaz para integrarotros paquetes y librerías pre-existentes.
![Page 23: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/23.jpg)
Programas Orientados alCálculo Numérico
![Page 24: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/24.jpg)
Cálculo Numérico• Otra categoría de programas que podemos
mencionar son los orientados alcálculo numéricoy las aplicaciones a la ingeniería.
• Clones de Matlab:• GNU Octave• FreeMat• Scilab (No es software completamente libre
porque su licencia no permite redistribuirversiones modificadas con fines comerciales).
• Euler (No es realmente un clon de Matlabpero la idea es similar)
![Page 25: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/25.jpg)
FreeMat
FreeMat mostrando algunas operaciones con Matrices
![Page 26: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/26.jpg)
Otras alternativas• El paqueteScipy(integrado enSAGE) provee
funcionalidades para cálculo numérico (similaresa las de Matlab), pero enPython.
• GNU R : Un programa para estadística. (similaral S)
![Page 27: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/27.jpg)
Programas para escribirmatemática
![Page 28: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/28.jpg)
Kile
Es un entorno de desarrollo integrado (IDE) paraescribir en LATEX.
![Page 29: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/29.jpg)
Lyx
“Lyx: en tu pantalla se ve como cualquier procesadorde texto, en el papel como ningún otro”
![Page 30: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/30.jpg)
Graficadores
![Page 31: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/31.jpg)
GraficadoresExisten programas específicamente destinados agraficar funciones y datos, como por ejemplo:
• Gnuplot (¡que no es parte del proyecto GNU!)• Labplot• Paraview• Scigraphica, Qtiplot, Grace, . . .
![Page 32: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/32.jpg)
Labplot
Labplot es un graficador de funciones y datospara KDE.
![Page 33: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/33.jpg)
Distribuciones específicas deGNU/Linux
![Page 34: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/34.jpg)
Quantian
Quantian es una distribución de GNU/Linuxespecífica para computación científica.
![Page 35: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/35.jpg)
Características de Quantian• Es una distribución en Live-CD/ Live-DVD
derivada de Knoppix.• Incluye casi todos los programas mencionados en
esta charla.• Tiene soporte para procesamiento paralelo
(OpenMosix).
![Page 36: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/36.jpg)
Más referencias. . .Pueden encontrar enlaces a los programasmencionados en esta charla (y otros no mencionados)en mi página personal:
http://mate.dm.uba.ar/~pdenapo/mathsoft.html
Sobre la filosofía del movimiento de software libre, lareferencia obligada es el sitio del Proyecto GNU (FreeSoftware Foundation)http://www.gnu.org
![Page 37: Software Libre para enseñar o aprender Matemática …mate.dm.uba.ar/~pdenapo/charla-sl-matematica/charla-sl-matematica.… · Introducción • En esta charla, presentaremos algunos](https://reader031.fdocuments.net/reader031/viewer/2022030510/5aba66987f8b9a441d8b9544/html5/thumbnails/37.jpg)
Licencia de Este DocumentoCopyright 2007-8 Pablo Luis De NápoliSe garantiza el permiso para copiar, distribuir y/omodificar este documento bajo los términos de laLicencia de Documentación Libre GNU, versión 1.2(GNU Free Documentation License, Version 1.2 ) ocualquier otra versión posterior publicada por la FreeSoftware Foundation; este documento se presenta sinSecciones Invariables (no Invariant Sections), sinTextos de Tapa (no Front-Cover Texts) y sin Textos deContratapa (no Back-Cover Texts).