Archive for the ‘Aprender a programar’ 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!.