
Gabriel Brooks
0
4470
242
Es oficial. En palabras de la leyenda del glam rock Alice Cooper, la escuela sale 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 lo más importante, ¿cómo mantiene a su hijo ocupado y entretenido mientras le enseña una habilidad profesional importante, como la informática?
Si buscas 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 la informática, con Linux en el centro de todos.
Crea un juego o una aplicación para 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 sencilla y la facilidad con la que se puede aprender. Una de las ventajas de Python sobre otros lenguajes, como Scratch del MIT (lo veremos más adelante), es su amplia oferta 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 permite desarrollar juegos y aplicaciones para el escritorio y para dispositivos móviles..
Con Kivy, puede crear un juego móvil sofisticado para iOS y Android, como Pong, con solo unos 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 usa la misma sintaxis suave que su hijo probablemente haya aprendido en la escuela.
Un buen punto de partida para aprender Kivy es en la documentación oficial de Kivy, donde han creado un juego simple de Pong. Aquí, puedes aprender cómo con algunas líneas de código, puedes colocar objetos en la pantalla, controlar la física del juego e incluso hacer un seguimiento de los puntajes.
Este juego de demostración está licenciado bajo la licencia MIT, una licencia de software gratuita y permisiva que permite realizar modificaciones y copias, por lo que puede 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, revisa la charla de Richard Jones en PyCon Montreal.
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í.
Aprenda los fundamentos del código con Scratch
Si tiene un hijo menor que aún no ha tomado una lección formal de ciencias de la computación y desea presentarles la programación, puede considerar instalar Scratch, disponible para OS X, Windows y Linux.
Scratch ¡Cómo enseñar a los niños a programar desde cero! ¡Cómo enseñar a los niños a programar desde cero! no es un lenguaje de programación que le dará una carrera de programación lucrativa 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 puede tomar años de trabajo dedicado para convertirse en un programador verdaderamente bueno; Entonces, ¿hay una manera de elegir el idioma correcto para comenzar hoy, para ser contratado mañana? . Pero eso está bien. No está destinado para eso. Más bien, se usa para enseñar los conceptos básicos detrás de la informática.
Scratch es un lenguaje de programación visual, por lo que en lugar de escribir código, arrastre y suelte bloques de creación para crear programas simples. Esto presenta una manera simple y accesible de enseñarle a su hijo cómo se construye el software y programar conceptos como condicionales, iteración y recursividad..
Pero no dejes que la naturaleza simplificada de Scratch te engañe. El hecho de que sea fácil no significa que esté restringido en lo que crea. La gente ha construido todo, desde juegos, como un juego de mesa 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 aliento a través de 'me gusta' y comentarios.
Y si te aburres allí, ¿puedes usar Scratch para crear Miedo a la programación en código? Prueba Scratch para Arduino ¿Tienes miedo de programar en código? Pruebe Scratch para Arduino Scratch 4 Arduino permite a principiantes como yo construir proyectos interesantes de Arduino con una interfaz visual. Es simple, divertido y le enseñará los componentes básicos de la programación. Proyectos de Internet de las cosas basados en Arduino. Aseado, correcto?
Controla tu hogar con la Raspberry Pi
La Raspberry Pi es una computadora pequeña, económica y del tamaño de una tarjeta de crédito capaz de ejecutar Linux. Por cierto, también es capaz de ejecutar una versión simplificada de Windows 10 Windows 10: ¿viene a un Arduino cerca de usted? Windows 10 - ¿Vienes a un Arduino cerca de ti? , diseñado para construir Internet de las Cosas proyectos.
El Pi es una bestia versátil, que ha demostrado repetidamente que es capaz de ejecutar cualquier cosa, desde instalaciones artísticas hasta servidores web e incluso servidores de 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 para instalar. Si tiene un Raspberry Pi y un Arduino, básicamente puede lograr lo mismo en ..., que utiliza una amplia variedad de tecnologías para controlar la iluminación de su casa.
Bruce usa todo, desde MongoDB (que fue explicado 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 "enorme") es una base de datos orientada a documentos multiplataforma utilizada como una alternativa a MySQL. Pero, ¿qué significa eso?), al marco de desarrollo web 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 es mucho más también. Si ... a Arduino. Pero en el centro de todo está Linux y Raspberry Pi.
La naturaleza multidisciplinaria de este proyecto significa que presentará a su hijo una serie de facetas 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 simple 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 tenga una impresora más antigua. Raspberry Pi al rescate! .
Construye un bot de Twitter
No es ningún secreto, soy un gran admirador del lenguaje de programación Python.
Es tan poderoso 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 piense en algo, y hay muchas posibilidades de que pueda construirlo con Python. Pero no solo estoy hablando de juegos o sistemas de automatización del hogar Raspberry Pi. Incluso puede crear aplicaciones que se basen en sitios de redes sociales existentes.
Facebook. LinkedIn Gorjeo. Todos tienen API (interfaces de programación de aplicaciones) ¿Qué son las API y cómo las API abiertas cambian Internet? ¿Qué son las API y cómo las API abiertas cambian Internet? ¿Alguna vez se ha preguntado cómo "hablan" los programas en su computadora y los sitios web que visita? el uno al otro? que le permiten utilizar los datos y la funcionalidad de estos sitios dentro del alcance de sus propios programas. Pueden, al principio, ser bastante intimidantes. Pero no son.
Dominarlos puede tomar algunas horas de trabajo, pero una vez que haya aprendido a usar una API en particular, podrá hacer algunas cosas increíbles..
Tomemos Twitter, por ejemplo, que permite a los desarrolladores acceder a sus datos a través de tres API separadas. Existe la API Firehose, que ofrece acceso ilimitado y en tiempo real a cada uno de los tweets, pero viene con un alto precio que llega a los miles de dólares..
También hay dos API que son de uso gratuito. Twitter tiene la API Streaming, que le permite rastrear tweets en tiempo real, pero sin 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 hacer es muy limitada..
La API de transmisión 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ías, por ejemplo, tomar el cubo LED de Arduino de James Bruce Cómo hacer un cubo LED Arduino pulsante que parece que vino del futuro Cómo hacer un cubo LED Arduino pulsante que parece que vino del futuro Si has incursionó en algunos proyectos principiantes de Arduino, pero está buscando algo un poco permanente y en un nivel completamente diferente, entonces el humilde cubo LED de 4 x 4 x 4 es ... e iluminándolo cada vez que alguien publica un tweet que contiene una palabra determinada. O podrías construir un bot de Twitter que tuitee spoilers cada vez que alguien publique “Acabo de empezar a mirar Game of Thrones“. O bien, puede crear un bot que también use Wolfram Alpha API para responder preguntas simples, como “¿Cuál 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 abra su línea de comando y escriba:
pip install tweepy
Si no tiene instalado el administrador de paquetes PIP, no se preocupe. También puede instalar Tweepy manualmente. Para hacer esto, necesitarás instalar Git.
git clone https://github.com/tweepy/tweepy.git
cd tweepy
instalación de python setup.py
No faltan tutoriales en línea que le enseñarán cómo usar Tweepy. Uno de los mejores que he encontrado fue en PythonProgramming.net, que viene con un video tutorial..
Las posibilidades son infinitas, y debido a que la API de Twitter es tan fácil de usar con Tweepy, no necesita un título en Informática. Solo necesitas conocer Python y tener una idea increíble.
Construye un sitio web
Si le enseñas a tu hijo a codificar y le preguntas 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, probablemente te hayas deseado podría hacer tus propios juegos para iPhone. Es hora de dejar de desear y comenzar a hacerlo. . Porque, seamos sinceros, qué niño no quiere hacer el próximo Flappy Bird La historia corta de Flappy Bird [Web extraña y maravillosa] La historia corta de Flappy Bird [Web extraña y maravillosa] Pocos juegos móviles entran en la conciencia colectiva de la corriente principal en la forma en que Flappy Bird lo ha hecho. Pasa al folklore de Internet, pero estos videos ayudarán a preservar su viralidad. ? 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, te enfrentas a una vertiginosa variedad de tecnologías. ¿Debería usar la pila LAMP probada y suscrita para alojamiento web solo SSH? No se preocupe: ¿instala fácilmente cualquier software web registrado para alojamiento web solo 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. , que usa Linux, Apache, MySQL y PHP? O tal vez algo un poco más moderno (y me atrevo a decir que está de moda) como Ruby on Rails, Flask o Node.js?
Lo que es peor, este amplio conjunto de tecnologías puede ser increíblemente molesto cuando eres un programador, mientras te desplazas entre frameworks y lenguaje con todo el enfoque de un Labrador Retriever..
Es mucho para asimilar.
Pero creo que es importante recordar que aprender a construir sitios web es algo fundamental multidisciplinario.
La base de cualquier sitio web es HTML. Luego, haces que se vea bien con una salpicadura liberal de CSS. Una vez que tiene los bloques de construcción básicos, comienza a agregar interactividad y dinamismo. Empiezas a aprender cómo animar tu HTML y CSS con JavaScript y JQuery.
Luego, aprende sobre la persistencia y la necesidad de almacenar cosas en una base de datos para recuperarlas más adelante. Entonces, aprendes sobre MySQL y quizás 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 manera experta para Asegúrate de que siga siendo seguro y confiable.
El punto que estoy tratando de hacer es que aprender a construir sitios web es un proceso multidisciplinario, que depende de que la persona aprenda una 'pila' de tecnologías muy diferentes y luego las vincule mentalmente y comprenda cómo funcionan en relación entre sí.
Para enseñarle a su hijo HTML, CSS y JavaScript, inscríbase en CodeAcademy Codecademy - Sin duda, la forma más fácil de codificar Codecademy - Sin duda, la forma más fácil de codificar Codecademy es un nuevo tutorial de programación interactiva de barra de sitios web 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 generado mucha expectación sobre ..., lo que explica cada una de estas tecnologías a través de desafíos interactivos. Esto, descubrí, es excelente para mantener la motivación, ya que obtienes resultados instantáneos y comentarios.
Por supuesto, CodeAcademy no puede enseñar exhaustivamente algo tan grande y complejo como CSS o JavaScript. Para eso, debe presentarle a su hijo algún buen material de referencia. Evitaría W3Schools, que se sabe que contiene información errónea o francamente falsa. La red de desarrolladores de Mozilla es una guía exhaustiva, precisa y accesible para todo lo relacionado con HTML, CSS y JavaScript, y es muy recomendable.
Cuando se trata de elegir una tecnología de fondo, le recomiendo a su hijo que aprenda 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 PHP. Tuts + y Lynda también. Todos son geniales Aunque, personalmente recomendaría a Larry Ullman PHP y MySQL para sitios web dinámicos, que al momento de escribir está disponible por $ 28.90 en Amazon. Soy dueño de una copia y he encontrado que es una guía accesible y accesible para el desarrollo web con el lenguaje de programación PHP.
No tengo dudas de que el adolescente promedio podría comprender el contenido de este libro.
De lo contrario, MakeUseOf ha publicado una guía de PHP (escrita por los suyos), disponible para leer de forma gratuita aquí. atender miles de millones de solicitudes diarias; El lenguaje de facto utilizado para enseñar a la gente la programación web. Es maravillosamente simple, pero brillantemente poderoso.. .
Pero, sobre todo, inculque en su hijo que aprender a construir para la web es un proceso de aprendizaje, y uno que requiere 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 un desarrollador de aprendizaje podría crear. Quizás 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 construido algo, considere convencerlos de compartirlo en Github, para que los desarrolladores más experimentados puedan criticar y ofrecer orientación. El subreddit de programación de aprendizaje también es bastante bueno para eso.
Y luego, quizás le enseñe a su hijo cómo hospedar y administrar sus propios servidores web Linux comprándolos una gota de Océano Digital DigitalOcean: el mejor host VPS no administrado para novatos DigitalOcean: el mejor host VPS no administrado para novatos Si necesita hosting VPS y desea para manejar toda la administración del servidor usted mismo, entonces esta es la razón por la que DigitalOcean es su mejor opción. , que cuesta tan poco como $ 5 por mes.
Asistir a un club de código
Ok, estoy haciendo trampa aquí.
Este no es un proyecto, per se. Pero si desea enseñarle a su hijo los conceptos básicos de la informática y desea hacerlo de una manera más estructurada y social, entonces debe llevarlos a un club de códigos.
La disponibilidad de estos, por supuesto, variará según el lugar donde viva. En el Reino Unido, hay Code Club, una organización sin fines de lucro que tiene como objetivo enseñar a los niños entre las edades de 9 y 11 a codificar. Los clubes de código se pueden encontrar en la mayoría de los pueblos y ciudades 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 aprovechan Raspberry Pis y Linux, debido al hecho de que son extremadamente baratos de adquirir en comparación con las computadoras tradicionales.
¿Pero qué hay al otro lado del estanque??
Estados Unidos tiene muchos, demasiados Código tipo club organizaciones para mencionar en un artículo. Pero hay algunos que se destacan.
Code.org, financiado por Gates y Zuckerberg, es más conocido por su Hora del código proyecto, que intenta que adultos y niños pasen una hora al año aprendiendo a codificar. Pero, ¿sabía usted 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. Están tratando de abordar la vergonzosa brecha étnica y de género en el campo STEM (ciencia, tecnología, ingeniería y matemáticas) al proporcionar clases gratuitas de informática a niñas negras en todo Estados Unidos. Las clases están disponibles en varias ciudades importantes, sujetas a disponibilidad. Visite el sitio web de Black Girls Code para obtener más información..
Hora de codificar
Ok 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 a continuación y avísame.
Créditos de las fotos: código HTML (Marjan Krebeji), código PHP (Bull3t Hughes), aprender a usar la computadora portátil a través de Shutterstock