6 proyectos para enseñar a sus hijos a computar con Linux este verano

6 proyectos para enseñar a sus hijos a computar con Linux este verano / Linux

Es oficial. En palabras de la leyenda del glam rock Alice Cooper., la escuela está fuera para el verano.

No hay más clase. No más carreras escolares. No más tarea. Solo largos e interminables días de verano que aparentemente se prolongan para siempre. Pero, ¿cómo mantiene ocupado a su hijo durante esos largos meses de verano? Quizás más importante, ¿cómo mantener a su hijo ocupado y entretenido mientras le enseña una habilidad profesional importante, como la informática??

Si estás buscando inspiración, no te preocupes. Te tengo cubierto. Vea estos seis proyectos que le enseñarán a su hijo los conceptos básicos de computación, con Linux en el centro de todos..

Crea una aplicación de juego o teléfono con Kivy

El lenguaje de programación Python es un lenguaje de programación introductorio favorito que se enseña en las clases de informática en los EE. UU. Y el Reino Unido, gracias a su sintaxis sin complicaciones y la facilidad con la que se puede aprender. Una de las ventajas de Python sobre otros lenguajes, como Scratch del MIT (veremos más adelante), es su amplio suministro de complementos y bibliotecas..

Las bibliotecas se utilizan para ampliar la funcionalidad de un programa. Hay cientos de miles de ellos para Python. Una biblioteca popular es Kivy, que hace posible desarrollar juegos y aplicaciones para el escritorio y para dispositivos móviles..

Con Kivy, puedes construir un juego móvil sofisticado para iOS y Android, como Pong, con solo unos pocos cientos de líneas de código. Incluso puede crear juegos y aplicaciones de escritorio para Windows, OS X y Linux.

Y debido a que es Python, todavía está usando la misma sintaxis suave que su hijo probablemente aprendió en la escuela..

Un buen punto de partida para aprender Kivy está en la documentación oficial de Kivy, donde han creado un juego simple de Pong. Aquí, puedes aprender cómo con unas pocas líneas de código, puedes colocar objetos en la pantalla, controlar la física del juego e incluso realizar un seguimiento de las puntuaciones..

Este juego de demostración está licenciado bajo la licencia MIT, una licencia de software permisiva y gratuita que permite realizar modificaciones y copias, para que pueda convertirlo en su propio juego y compartirlo en línea sin tener que pedir permiso primero. Incluso puedes crear APK de Android y distribuir tu juego Kivy en la tienda de aplicaciones de Apple. Pero para un tutorial más guiado para Kivy, echa un vistazo a la charla PyCon Montreal de Richard Jones.

Instalar Kivy en Linux es fácil. Si está utilizando una distribución basada en Debian, haga esto.

sudo add-apt-repository ppa: kivy-team / kivy
sudo apt-get install python-kivy

Las instrucciones sobre cómo instalar Ubuntu para OpenSUSE, Gentoo y Fedora se pueden encontrar aquí.

Aprende los fundamentos del código con Scratch

Si tiene un hijo menor que aún no ha tomado una lección formal de informática, y desea presentarlos a la programación, puede considerar instalar Scratch, disponible para OS X, Windows y Linux..

Scratch Cómo enseñar a los niños la programación desde cero! Cómo enseñar a los niños la programación desde cero! Leer más no es un lenguaje de programación que le brinde una lucrativa carrera de programación Cómo elegir un lenguaje de programación para aprender hoy y obtener un excelente trabajo en 2 años Cómo elegir un lenguaje de programación para aprender hoy y obtener un excelente trabajo en 2 Años Pueden pasar años de trabajo dedicado para convertirse en un programador verdaderamente bueno; Entonces, ¿hay una manera de elegir el idioma correcto para comenzar a partir de hoy, para ser contratado mañana? Lee mas . Pero eso está bien. No está destinado para eso. Más bien, se utiliza para enseñar los conceptos básicos detrás de la informática..

Scratch es un lenguaje de programación visual, así que en lugar de escribir código, arrastre y suelte los bloques de construcción para crear programas simples. Esto presenta una forma sencilla y accesible de enseñarle a su hijo cómo se crea el software y de programar conceptos como condicionales, iteración y recursión..

Pero no dejes que la naturaleza simplificada de Scratch te engañe. Solo porque es fácil, no significa que esté restringido en lo que crea. La gente ha creado todo, desde juegos (como un juego de jugadores multijugador), hasta animaciones, como una tarjeta de felicitación caprichosa, hasta arte interactivo..

Y una vez que haya terminado su obra maestra, puede compartirla con la acogedora comunidad de Scratch en línea, que puede proporcionar comentarios y estímulos a través de "me gusta" y comentarios.

¿Y si te aburres allí, puedes usar Scratch para construir Afraid of Programming in Code? Prueba Scratch para Arduino ¿Temes la programación en código? Prueba Scratch para Arduino Scratch 4 Arduino permite a los principiantes como yo construir proyectos Arduino emocionantes con una interfaz visual. Es simple, es divertido y le enseñará los componentes fundamentales de la programación. Leer más Proyectos de Internet de las cosas basados ​​en Arduino. Aseado a la derecha?

Controla tu hogar con la Raspberry Pi

La Raspberry Pi es una computadora pequeña, asequible, del tamaño de una tarjeta de crédito, capaz de ejecutar Linux. Por cierto, también es capaz de ejecutar una versión reducida de Windows 10 Windows 10: ¿se acerca un Arduino cerca de usted? Windows 10 - ¿Viene a un Arduino cerca de ti? Leer más, diseñado para la construcción. Internet de las Cosas proyectos.

El Pi es una bestia versátil, ya que se ha demostrado repetidamente que es capaz de ejecutar cualquier cosa, desde instalaciones artísticas, hasta servidores web e incluso servidores Minecraft..

Una aplicación para Raspberry Pi que me llamó la atención fue el proyecto de automatización del hogar de James Bruce. Guía de automatización del hogar con Raspberry Pi y Arduino. Guía de automatización del hogar con Raspberry Pi y Arduino. El mercado de la automatización del hogar está inundado de costosos sistemas de consumo, incompatibles entre sí y costosos. instalar. Si tienes una Raspberry Pi y un Arduino, básicamente puedes lograr lo mismo en ... Leer más, que utiliza una amplia variedad de tecnologías para controlar la iluminación de su casa..

Bruce usa todo desde MongoDB (lo cual fue explicado de forma experta por Taylor Bolduc aquí Cómo una base de datos MongoDB puede organizar mejor sus datos Cómo una base de datos MongoDB puede organizar mejor sus datos MongoDB (de "humongous") es una base de datos multiplataforma orientada a documentos utilizada como una alternativa a MySQL. Pero, ¿qué significa eso? Leer más), al marco de desarrollo web de JavaScript NodeJS ¿Qué es Node.JS y por qué debería importarme? [Desarrollo web] ¿Qué es Node.JS y por qué debería importarme? [Desarrollo web] JavaScript es solo un lenguaje de programación del lado del cliente que se ejecuta en el navegador, ¿verdad? Ya no. Node.js es una forma de ejecutar JavaScript en el servidor; Pero también es mucho más. Si… Leer más, a Arduino. Pero en el centro de todo está Linux y la Raspberry Pi..

La naturaleza multidisciplinaria de este proyecto significa que introducirá a su hijo a una serie de aspectos de la informática, como JavaScript, administración de sistemas y electrónica..

Si no ha jugado antes con la Raspberry Pi y está buscando un proyecto más sencillo para hundir sus dientes de leche, considere la impresora inalámbrica Raspberry Pi de Christian Crawley Haga su propia impresora inalámbrica con una Raspberry Pi Haga su propia conexión inalámbrica Impresora con una Raspberry Pi Menos cables, flexibilidad sobre dónde puede colocar su impresora: la impresión inalámbrica es beneficiosa para todos. A menos que tengas una impresora más antigua. Raspberry pi al rescate! Lee mas .

Construir un bot de Twitter

No es ningún secreto. Soy un gran fan del lenguaje de programación Python..

Es tan potente y versátil, y la amplia oferta de complementos y bibliotecas significa que puede hacer casi cualquier cosa.

Python te hace sentir como un superhéroe. Solo piensa en algo, y hay muchas posibilidades de que puedas construirlo con Python. Pero no solo estoy hablando de juegos, ni de sistemas de automatización del hogar Raspberry Pi. Incluso puede crear aplicaciones que se basen en sitios de redes sociales existentes.

Facebook. LinkedIn Gorjeo. Todas tienen API (Interfaces de programación de aplicaciones) ¿Qué son las API y cómo son las API abiertas? ¿Cómo cambiar las API? ¿Qué son las API? ¿Cómo son las API? ¿Alguna vez se ha preguntado cómo los programas en su computadora y los sitios web que visita? el uno al otro? Lea más que le permiten usar los datos y la funcionalidad de estos sitios dentro del alcance de sus propios programas. Pueden, al principio, ser bastante intimidantes. Pero no lo son.

Dominarlos puede llevar una hora de trabajo, pero una vez que aprendas a usar una API en particular, podrás hacer cosas increíbles..

Tome Twitter, por ejemplo, que permite a los desarrolladores acceder a sus datos a través de tres API separadas. Está la API de Firehose, que ofrece acceso ilimitado en tiempo real a cada tweet, pero viene con una etiqueta de precio elevado que alcanza los miles de dólares.

También hay dos API de uso gratuito. Twitter tiene la API de transmisión, que le permite realizar un seguimiento de los tweets en tiempo real, pero sin ninguna garantía de que recibirá todos los tweets. También está la API de búsqueda, que le permite buscar en la base de datos de Twitter, pero la cantidad de consultas que puede realizar está muy limitada..

La API de Streaming es especialmente interesante, ya que puede crear aplicaciones que puedan responder a los tweets en tiempo real. Hay una cantidad infinita de proyectos que podrías construir.

Podría, por ejemplo, tomar el cubo de LED impulsado por Arduino de James Bruce Cómo hacer un cubo de Arduino LED pulsante que parece que vino del futuro Cómo hacer un cubo de Arduino LED pulsante que parece que vino del futuro si ha incursionó con algunos proyectos principiantes de Arduino, pero está buscando algo un poco permanente y en otro nivel de asombroso, entonces el humilde cubo de 4 x 4 x 4 LED es ... Leer más, e iluminarlo cada vez que alguien publique un tweet que contenga un cierto palabra. O puedes construir un bot de Twitter que tweetee spoilers cada vez que alguien publique. “Acabo de empezar a mirar Game of Thrones“. O, puedes construir un bot que también use la API de Wolfram Alpha para responder a preguntas simples, como “cual es la capital de burkina faso”.

En Linux, puede aprovechar las API de Twitter utilizando el popular lenguaje de programación Python y la biblioteca Tweepy, disponible para descargar a través del administrador de paquetes PIP. Para obtenerlo, simplemente abre tu línea de comando y escribe:

pip instalar tweepy

Si no tiene instalado el administrador de paquetes PIP, no se preocupe. También puede instalar Tweepy manualmente. Para ello, necesitarás Git instalado..

git clone https://github.com/tweepy/tweepy.git
cd tweepy
python setup.py install

No hay escasez de tutoriales en línea que te enseñen cómo usar Tweepy. Uno de los mejores que he encontrado fue en PythonProgramming.net, que viene con un video tutorial adjunto.

Las posibilidades son infinitas, y debido a que la API de Twitter es tan fácil de usar con Tweepy, no necesitas un título en Ciencias de la Computación. Solo necesitas conocer Python y tener una idea genial..

Construir un sitio web

Si le enseña a su hijo a codificar, y les pregunta qué quieren hacer, probablemente dirán una aplicación móvil Cómo crear un juego de iPhone desde cero Cómo crear un juego de iPhone desde cero En algún momento, es probable que usted haya deseado Podrías hacer tus propios juegos de iPhone. Es hora de dejar de desear y empezar a hacer. Lee mas . Porque, seamos sinceros, qué niño no quiere hacer el próximo Flappy Bird La historia corta de Flappy Bird [Weird & Wonderful Web] La historia corta de Flappy Bird [Weird & Wonderful Web] Pocos juegos móviles entran en la conciencia colectiva de la corriente principal en la forma en que ha hecho Flappy Bird. Pasa al folklore de Internet, pero estos videos ayudarán a preservar su viralidad. Lee mas ? Pero después de eso, probablemente dirán que quieren construir un sitio web..

El problema es que cuando estás aprendiendo a construir para la web por primera vez, te enfrentas a una gran variedad de tecnologías. ¿Debería usar la pila LAMP probada y probada que se suscribió para el alojamiento web solo para SSH? No se preocupe: instale fácilmente cualquier software web ¿Se suscribió a un alojamiento web solo para SSH? No se preocupe: instale fácilmente cualquier software web ¿No sabe lo primero sobre el funcionamiento de Linux a través de su potente línea de comandos? No te preocupes más. Leer más, que utiliza Linux, Apache, MySQL y PHP? O tal vez algo un poco más moderno (y me atrevo a decir moderno) como Ruby on Rails, Flask o Node.js?

Lo que es peor, este amplio conjunto de tecnologías puede distraer increíblemente cuando eres un programador oficial, mientras te mueves entre los marcos y el lenguaje con todo el enfoque de un Labrador Retriever..

Es mucho para tomar.

Pero creo que es importante recordar que aprender a construir sitios web es algo que, fundamentalmente, multidisciplinario.

La base de cualquier sitio web es HTML. Luego, haces que se vea bien con una salpicadura liberal de CSS. Una vez que tienes los bloques de construcción básicos hacia abajo, comienzas a agregar interactividad y dinamismo. Comienzas a aprender cómo animar tu HTML y CSS con JavaScript y JQuery..

Luego, aprenderá sobre la persistencia y la necesidad de almacenar cosas en una base de datos para recuperarlas más adelante. Entonces, aprendes acerca de MySQL, y quizás de MongoDB. Aprendes sobre esquemas, atomización y relaciones..

Luego aprende a vincularlo todo con un lenguaje de programación del lado del servidor como PHP, Python, JavaScript (con Node.js) o Ruby, y alojarlo en un servidor (a menudo Linux), que debe configurarse de forma experta para Asegurarse de que sea seguro y confiable.

El punto que trato de señalar es que aprender a crear sitios web es un proceso multidisciplinario, que depende de que la persona aprenda una "pila" de tecnologías totalmente diferentes y luego las vincule mentalmente, y que comprenda cómo funcionan en relación con las demás..

Para enseñar a su hijo HTML, CSS y JavaScript, inscríbase en CodeAcademy Codecademy - Hands Down La forma más fácil de codificar Codecademy - Hands Down La forma más fácil de codificar Codecademy es un nuevo sitio web con un tutorial interactivo de programación que lo guía a través de los conceptos básicos de JavaScript Si bien no ha existido por mucho tiempo, el sitio ya ha estado generando muchos rumores en ... Leer más, lo que explica cada una de estas tecnologías a través de desafíos interactivos. Descubrí que esto es excelente para mantener la motivación, ya que obtiene resultados y comentarios instantáneos..

Por supuesto, CodeAcademy no puede enseñar algo tan grande y complejo como CSS o JavaScript. Para eso, necesita presentar a su hijo un buen material de referencia. Evitaría W3Schools, que se sabe que contiene información errónea o absolutamente falsa. La Red de Desarrolladores de Mozilla es una guía completa, precisa y accesible de todo lo relacionado con HTML, CSS y JavaScript, y es altamente recomendable.

Cuando se trata de elegir una tecnología de back-end, animo a su hijo a aprender PHP, que tiene una curva de aprendizaje suave. Hay mucha documentación disponible para ello. Y además, instalar un servidor LAMP en Ubuntu es simplemente una cuestión o escribir 'sudo apt-get install lamp-server ^'.

CodeAcademy tiene un curso de PHP. También lo hace Tuts +, y Lynda. Todos son geniales Aunque, personalmente recomendaría a Larry Ullman. PHP y MySQL para sitios web dinámicos, que en el momento de escribir este artículo está disponible por $ 28.90 en Amazon. Yo mismo tengo una copia, y he encontrado que es una guía de desarrollo web accesible y accesible con el lenguaje de programación PHP.

No tengo ninguna duda de que el adolescente promedio sería capaz de comprender el contenido de este libro..

En su defecto, MakeUseOf ha publicado una guía de PHP (escrita por el suyo), disponible para leer gratis aquí. Aprenda a construir con PHP: un curso acelerado Aprenda a construir con PHP: un curso acelerado PHP es el idioma que usan Facebook y Wikipedia para atender miles de millones de solicitudes diarias; El lenguaje de facto utilizado para enseñar a la gente la programación web. Es hermosamente simple, pero brillantemente poderoso. Lee mas .

Pero, sobre todo, inculcar en su hijo que aprender a construir para la web es una proceso de aprendizaje, y una que lleva tiempo y dedicación. Para mantener a su hijo motivado, es posible que desee establecer un proyecto en el que puedan trabajar..

Hay muchos sitios web simples que pueden ser construidos por un desarrollador aprendiz. Tal vez un libro de visitas, o un sitio de microblogging como Twitter.

Uno de los aspectos más ignorados de aprender a codificar es la retroalimentación. Una vez que hayan creado algo, considere convencerlos de que lo compartan en Github, para que los desarrolladores más experimentados puedan criticar y ofrecer orientación. El subreddit de Learn Programming también es bastante bueno para eso..

Y luego, tal vez, enséñele a su hijo cómo alojar y administrar sus propios servidores web de Linux comprando una gota de Digital Ocean. DigitalOcean: el mejor host de VPS no administrado para principiantes. Para manejar usted mismo toda la administración del servidor, aquí es por qué DigitalOcean es su mejor opción. Leer más, que cuesta tan poco como $ 5 por mes.

Asistir a un club de codigos

Ok estoy haciendo trampa aqui.

Esto no es un proyecto, per se. Pero si quiere enseñarle a su hijo los conceptos básicos de computación y desea hacerlo de una manera más estructurada y social, debería llevarlos a un club de código..

La disponibilidad de estos, por supuesto, variará según el lugar donde viva. En el Reino Unido, hay Codigo Club, una organización sin fines de lucro cuyo objetivo es enseñar a los niños de entre 9 y 11 años a codificar. Los Clubes de código se pueden encontrar en la mayoría de las ciudades y pueblos principales, con la matrícula organizada en "términos". Cada término enseña una faceta diferente de la programación, como Scratch, HTML y CSS, y Python, con el contenido del curso cada vez más complejo a medida que avanza cada término..

Code Clubs a menudo se aprovecha de Raspberry Pis y Linux, debido a que son extremadamente baratos de adquirir en comparación con las computadoras tradicionales.

Pero ¿qué pasa al otro lado del estanque?

América tiene demasiados, demasiados Código Club-como Organizaciones a mencionar en un artículo. Pero hay algunos que se destacan..

Code.org, financiado por Gates and Zuckerberg, es más conocido por su Hora del código Proyecto, que intenta que tanto adultos como niños pasen una hora al año aprendiendo a programar. Pero, ¿sabía que alberga una lista casi completa de clases de informática disponibles en los EE. UU., Con muchas disponibles en bibliotecas, centros comunitarios y escuelas??

Pero sería negligente si no mencionara el brillante Black Girls Code, que está haciendo un trabajo realmente importante. Intentan abordar la vergonzosa brecha étnica y de género en el campo de STEM (ciencia, tecnología, ingeniería y matemáticas) al brindar clases gratuitas de informática a las niñas negras en todo Estados Unidos. Las clases están disponibles en varias ciudades principales, sujetas a disponibilidad. Consulte el sitio web de Black Girls Code para obtener más información..

Tiempo de codificar

Muy bien amigos. El verano está oficialmente aquí. Las escuelas han cerrado, o están cerrando. ¿Qué vas a hacer? ¿Los llevarás a un club de código o les darás una Raspberry Pi y verás a dónde los lleva su imaginación??

De cualquier manera, quiero escuchar sobre eso. Déjame un comentario abajo, y házmelo saber.

Créditos de las fotografías: Código HTML (Marjan Krebeji), Código PHP (Bull3t Hughes), aprendiendo a usar una computadora portátil a través de Shutterstock

Explorar más sobre: ​​Linux, Python, Scratch.