Archive for the ‘Educación’ Category.

Programar en el navegador: Python

Como vimos en los casos de Scratch (Snap!) y Ruby en artículos anteriores también es posible aprender a usar lo básico de Python sin instalar nada, existen muchos tutoriales guiados que permiten resolver los ejercicios en el navegador Web sin instalar absolutamente nada y de forma gratuita. En muchos casos incluso todo el material y el código son libres por lo que se podría adaptar el tutorial para traducirlo al español o adaptarlo a otros lectores. En todos los casos en algún punto del recorrido se usa software libre.

Existen varios tutoriales interactivos de Python:Learn Python

https://www.learnpython.org/ (*) tutorial que lleva al lector desde un hola mundo, hasta temas como introspección y decoradores pasando por clases y excepciones. Mientras se recorre el tutorial, en la parte inferior de la pantalla, muestra una terminal con ejemplos que se pueden modificar y ejecutar para ver los resultados.

https://pythontutor.com permite ejecutar un script Python paso a paso mientras se van dibujando en un diagrama las estructuras de datos que se crean y los nombres que hacen referencia a esas estructuras. Los scripts se pueden editar con el link que aparece abajo del código. Este recurso puede llegar a ser de interés para todo aquel que quiera crear un tutorial o curso online de Python.

https://www.codecademy.com/es/tracks/python es un tutorial con ejercicios muy cortos similar a tryruby.org. Este tutorial tiene una versión en español, pero la misma tiene al momento de escribir este artículo algunos problemas con los caracteres que no son ASCII (se puede usar si se eliminan las tildes, eñes, ‘¡’ y ‘¿’ de los ejemplos).

https://www.afterhoursprogramming.com/tutorial/Python/Overview/ otro tutorial paso a paso, en particular este tutpythontutororial permite probar código pero no verifica que la respuesta sea válida.

https://interactivepython.org provee distintos libros interactivos de los cuales hay 3 de Python, los ejemplos de los libros se pueden modificar y ejecutar en el navegador, cuenta con videos y audios explicando distintos temas y provee ejercicios a resolver codificando en el navegador o por medio de multiple-choices. «How to Think Like a Computer Scientist» es un buen punto de inicio.

Para hacer pruebas sencillas repl.it cuenta con una consola interactiva de Python (al igual que de muchos otros lenguajes) en la misma se pueden probar scripts razonablemente complejos, la limitación única limitación es el número de módulos disponibles. Esta consola interactiva es (a la fecha de escribir este artículo) un intérprete de Python 2.7 compilado con emscripten usando un script de construcción llamado emptyhoned.

También existen 2 implementaciones que no dependen del intérprete oficial de Python:

Skulpt es un intérprete de Python escrito en Javascript. En la página de Skulpt se pueden encontrar links a más libros y tutoriales interactivos.

Brython es otro intérprete de Python escrito en Javascript, el foco de este proyecto es ser lo más fiel que se pueda al lenguaje original.

Tanto Skulpt como Brython permiten interactuar con la página Web que contiene los scripts usando DOM y eventos tal como se haría con Javascript, además se pueden embeber scripts Python en el código HTML.pilasweb

Por último pilasweb es un prototipo del framework pilas-engine portado al navegador utilizando Brython. El uso de pilasweb es idéntico al de la versión de escritorio y es ideal para enseñar programación a los más chicos.

* En realidad en learnpython.org el código no se ejecuta en el navegador sino que lo hace en un servidor, por lo que el entorno es más realista y completo.

Programar en el navegador: Ruby

Una de las mejores formas de empezar con Ruby es usando su tutorial online en TryRuby.org.
TryRuby

Este tutorial va planteando distintas actividades sencillas en su panel izquierdo y en el panel derecho permite codificar la solución en Ruby. Una vez que se supera cada actividad el tutorial avanza automáticamente al próximo desafío, una vez completado el tutorial el usuario tuvo que codificar en Ruby usando los tipos de datos y estructuras de control del lenguaje.

El código fuente de TryRuby está disponible en GitHub, pero lamentablemente no está especificado bajo que licencia, por esto solamente podemos decir que es open source (no necesariamente sea libre).

También se pueden usar otras consolas como https://repl.it, en el caso particular de repl.it se usa una versión del compilador oficial compilada a JavaScript (se ejecuta completamente del lado del cliente) gracias al proyecto EmScripten.
repl.it

Programar en el navegador: Snap! (Scratch)

A veces una de las barreras para aprender a programar es la instalación del intérprete o compilador en nuestro sistema operativo, más aún si estamos trabajando en una máquina que no es nuestra o si queremos probar distintos lenguajes de programación antes de decidir cuál queremos aprender realmente.

Afortunadamente existen diversos proyectos que nos permiten codificar en el navegador en diferentes lenguajes como Python, Ruby, Basic, Scratch o incluso C. Todos estos lenguajes son replicados con distintos niveles de fidelidad dependiendo de la técnica utilizada, pero en general todos son buenos para una introducción a un lenguaje.

Uno de estos proyectos es Snap!, una reescritura del sistema de programación Scratch en Javascript. Scratch (y por ende Snap!) permite construir programas arrastrando bloques con el mouse y es ideal para enseñar a programar. Algunos bloques representan acciones, otros representan condiciones, etc…

Snap! se puede configurar en español, permite guardar los programas en el navegador, exportarlos, o usando un usuario y contraseña se pueden guardar en un servidor. Además provee varios ejemplos para empezar a jugar.

Algoritmo en Snap!

Dibujando con Snap!

Círculo con Snap!

Si te gusta Snap! pero querés ejecutarlo de forma local podés instalar Scratch en tu máquina e importar los proyectos que hiciste con Snap!.

HotShots mejora tus presentaciones

HotShots es una aplicación que permite editar imágenes orientado a generar tutoriales, presentaciones.

Siempre que se necesita tomar una captura de pantalla para mostrar algo, es necesario remarcar alElementos de HotShotsgún sector, enumerar partes de la imagen, indicar con una flecha, etc.

Si bien con algún editor de imagen es posible hacerlo, hotshots está orientado a este tipo de acciones, y pone a disposición accesos directos a estos elementos para modificar las imágenes para utilizar en tutoriales.

Otras de las funcionalidades interesantes, es que a diferencia de los demás programas para capturar pantalla, hotshots permite capturar en forma contínua, ir guardándolas o trabajar sobre las mismas en el momento. Además de poder capturar todas la ventanas, una sóla ventana, tiene la opción de marcar a mano alzada una región a capturar, permitiendo generar sectores de la pantalla con forma personalizada.

Las imágenes capturadas o las modificadas pueden subirse desde el programa a sitios de Internet como igmur, imageshack, facilitando el almacenamiento e intercambio con otras personas.Screenshot-HotShots-03

Si bien desde la página oficial se puede descargar e instalar fácilmente, en el grupo Lihuen hemos generado el paquete deb y también se realizaron algunas mejoras en la traducción al castellano.

Fuente: HotShots

 

Slax – Edición FORTRAN

Slax – Edición Fortran es una distribución Live del sistema operativo GNU/Linux orientada a estudiantes de Ciencias Exactas o Ingeniería que comienzan a desarrollar programas en el lenguaje Fortran. Basada en Slax incluye además programas específicos para el campo del análisis numérico como ser:

Slax Edición Fortran

 

  • El compilador FORTRAN 77/90/95 gfortran.
  • El validador de sintaxis ftnchek para la especificación FORTRAN 77.
  • Las bibliotecas de rutinas LAPACK y LAPACK95 para álgebra lineal numérica.
  • La biblioteca de rutinas SLATEC para problemas matemáticos y estadísticos.
  • La biblioteca de rutinas PGPLOT para gráficos en programas FORTRAN.
  • Las utilidades gnuplot y WIP para realizar gráficos científicos.
  • El paquete Octave para cálculo numérico.
  • El paquete Maxima para cálculo simbólico y numérico, y su interfaz gráfica wxMaxima.
  • El paquete QtiPlot para visualización y análisis de datos científicos.
  • La distribución teTeX del sistema de edición de documentos TeX/LaTeX.
  • El editor e interfaz TeXStudio para documentos Tex/LaTeX.

Fuente: Slax – Edición Fortran.