> For the complete documentation index, see [llms.txt](https://acastan.gitbook.io/programacion/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://acastan.gitbook.io/programacion/motivar.md).

# Autoaprendizaje Divertido

Recursos para aprender a programar de manera autónoma y lúdica.

Te será útil interactuar con este [currículum](https://curriculum.raspberrypi.org/).

## Plataformas en línea

* [code.org](https://code.org/learn)
* [hourofcode.com](https://hourofcode.com/)
* [Codecombat](https://codecombat.com/)
* [CodinGame](https://www.codingame.com/start)
* [CheckiO](https://py.checkio.org/)
* [Python Challenge](http://www.pythonchallenge.com/)
* [SQL Murder Mistery](https://mystery.knightlab.com/)
* [The SQL Schema Verse](https://schemaverse.com/)
* [Screeps (avanzado)](https://screeps.com/)

## Videojuegos de pago

* en [Steam](https://store.steampowered.com/tags/en/Programming/)

## Scratch

* [Tutoriales del MIT](https://scratch.mit.edu/studios/1817151/)
* [Tutoriales de Scratch School](https://www.scratch.school/)

## App Inventor

* [Curso para 4º ESO en catalán](http://alexandria.xtec.cat/course/view.php?id=679) y [en inglés](http://alexandria.xtec.cat/course/view.php?id=753): 99 horas y 17 temas donde entra diseño app + programación app + monetitzación. Sólo nos interesan los temas 3, 9, 10 y 16
* [Curso para CFGM en catalán](http://alexandria.xtec.cat/course/view.php?id=584): 20 horas AppInventor + 20 horas PhoneGap
* [Tutoriales del MIT](https://appinventor.mit.edu/explore/ai2/tutorials)

## Arduino

* <https://playground.arduino.cc/Main/SketchList#Games>
* <https://www.oxgadgets.com/2011/07/arduino-serial-communication.html>

## Python

* Python + [Turtle](https://docs.python.org/3/library/turtle.html):
  * <https://www.mclibre.org/consultar/python/lecciones/python-turtle-1.html>
* Python + [Blender](https://www.blender.org/):
  * <https://docs.blender.org/manual/en/latest/advanced/scripting/introduction.html>
* Python + [RoboCode](https://robocode.sourceforge.io/)
  * <https://github.com/turkishviking/Python-Robocode>
* (temp) Python + Juegos en terminal:
  * <https://github.com/asweigart/PythonStdioGames/>
* Python + [PyGame](https://www.pygame.org/):
  * <https://www.raspberrypi.org/magpi-issues/Essentials_Games_v1.pdf>
* Python + [Arcade](https://arcade.academy/):
  * <https://realpython.com/platformer-python-arcade/>
* Python + [Minecraft](https://minecraft.gamepedia.com/Minecraft_Wiki):
  * <https://www.raspberrypi.org/magpi-issues/Essentials_Minecraft_v1.pdf>
  * <https://github.com/martinohanlon/mcpi>
  * <https://www.stuffaboutcode.com/p/minecraft-api-reference.html>
* Python + Raspberry Pi [GPIO](https://www.raspberrypi.org/documentation/usage/gpio/):
  * <https://www.raspberrypi.org/magpi-issues/Essentials_GPIOZero_v1.pdf>
  * <https://realpython.com/python-raspberry-pi/>
  * <https://gpiozero.readthedocs.io/en/stable/recipes.html>
* Python + Aplicaciones con interfaz gráfica ([Tkinter](https://docs.python.org/3/library/tkinter.html), [PyQt](https://riverbankcomputing.com/software/pyqt/intro), [wxPython](https://www.wxpython.org/), [PySimpleGUI](https://pysimplegui.readthedocs.io/), ...):
  * <https://realpython.com/learning-paths/python-gui-programming/>
* Python + Sistemas y Ciberseguridad: mil y una librerías ...
  * [Scapy](https://scapy.net/) para crear paquetes TCP/IP
  * [shodan](https://shodan.readthedocs.io/) para interactuar con el buscador Shodan
  * [smtplib](https://docs.python.org/3/library/smtplib.html) para enviar correo
  * [Fabric](http://www.fabfile.org/) para automatizar tareas de administración
  * [dnspython](https://www.dnspython.org/) para consultas DNS
  * [python-whois](https://github.com/richardpenman/whois) para consultas WHOIS
  * [PyPDF4](https://github.com/claird/PyPDF4) para procesar o crear pdf
  * [ipaddress](https://docs.python.org/3/library/ipaddress.html) para cálculos de subnetting
  * [pyHook](https://sourceforge.net/projects/pyhook/) para crear keyloggers
  * [psutil](https://psutil.readthedocs.io/), [subprocess](https://docs.python.org/3/library/subprocess.html), [os](https://docs.python.org/3/library/os.html) y [sys](https://docs.python.org/3/library/sys.html) para interactuar con procesos y el sistema
  * [shutil](https://docs.python.org/3/library/shutil.html) para manipular ficheros a nivel de directorio
  * etc.
