6 проектов для обучения ваших детей компьютерным технологиям с Linux этим летом

Это официально. По словам легендарной глэм-рок Алисы Купер, школа на лето.

Там нет больше класса. Нет больше школьных пробежек. Нет больше домашней работы. Просто длинные, бесконечные летние дни, которые, казалось бы, тянутся навсегда. Но как вы держите своего ребенка занятым в течение тех долгих летних месяцев? Возможно, что еще более важно, как вы удерживаете своего ребенка занятым и развлекающим, обучая его таким важным профессиональным навыкам, как компьютерные навыки?

Если вы ищете вдохновение, не волнуйтесь. Я тебя прикрыл. Ознакомьтесь с этими шестью проектами, которые научат вашего ребенка основам вычислительной техники, с Linux в центре их всех.

Создайте игру или приложение для телефона с Kivy

Язык программирования Python является излюбленным вводным языком программирования, который преподают на уроках информатики в США и Великобритании благодаря простому синтаксису и легкости его изучения. Одним из преимуществ Python перед другими языками — такими как MIT’s Scratch (мы вернемся к этому позже) — является его широкий набор плагинов и библиотек.

Библиотеки используются для расширения функциональности программы. Есть сотни тысяч из них для Python. Одна из популярных библиотек — Kivy, которая позволяет разрабатывать игры и приложения для настольных компьютеров и мобильных устройств.

С Kivy вы можете создать сложную мобильную игру для iOS и Android — например, Pong — всего с несколькими сотнями строк кода. Вы даже можете создавать настольные игры и приложения для Windows, OS X и Linux.

linuxcode-понг

И поскольку это Python, вы все еще используете тот же, мягкий синтаксис, который ваш ребенок, вероятно, выучил в школе.

Хорошей отправной точкой для изучения Kivy является официальная документация Kivy, где они создали простую игру Pong. Здесь вы можете узнать, как с помощью нескольких строк кода вы можете размещать объекты на экране, контролировать физику игры и даже отслеживать результаты.

Эта демонстрационная игра лицензируется по лицензии MIT — бесплатной разрешительной лицензии на программное обеспечение, которая позволяет вносить изменения и копии — так что вы можете превратить ее в свою собственную игру и поделиться ею в Интернете, не спрашивая сначала разрешения. Вы даже можете создавать Android APK и распространять свою игру Kivy в магазине приложений Apple. Но для более управляемого руководства для Киви, посмотрите разговор Ричарда Джонса о PyCon Montreal.

Установить Kivy на Linux легко. Если вы используете дистрибутив на основе Debian, сделайте это.

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

Инструкции по установке Ubuntu для OpenSUSE, Gentoo и Fedora можно найти здесь.

Изучите основы кода с нуля

Если у вас есть младший ребенок, которому еще предстоит пройти формальный урок информатики, и вы хотите познакомить его с программированием, вы можете рассмотреть возможность установки Scratch — доступной для OS X, Windows и Linux.

царапать

это не язык программирования, который даст вам прибыльную карьеру

, Но это нормально. Это не предназначено для этого. Скорее, он используется для обучения основным понятиям, лежащим в основе информатики.

Scratch — это визуальный язык программирования, поэтому вместо того, чтобы печатать код, вы перетаскиваете строительные блоки для создания простых программ. Это представляет собой простой доступный способ научить вашего ребенка тому, как строится программное обеспечение, и таким понятиям программирования, как условные выражения, итерации и рекурсии.

Но не позволяйте упрощенной природе Scratch обмануть вас. То, что это легко, не означает, что вы ограничены в том, что создаете. Люди создали все — от игр — например, многопользовательской игры в понг — до анимации — как причудливые поздравительные открытки — до интерактивного искусства.

codelinux-пастельный

А после того, как вы закончили свой шедевр, вы можете поделиться им с приветливым онлайн-сообществом Scratch, которое может предоставить обратную связь и поддержку с помощью «лайков» и комментариев.

И если вам там скучно, вы можете использовать Scratch для создания

Основанные на Arduino проекты Интернета вещей. Аккуратно, верно?

Управляйте своим домом с Raspberry Pi

Raspberry Pi — это маленький, недорогой компьютер размером с кредитную карту, способный работать под Linux. Кстати, он также способен запускать урезанную версию Windows 10

, предназначенный для построения проектов Интернета вещей.

Pi — это универсальный зверь, который неоднократно демонстрировал, что способен запускать что угодно, от художественных установок, до веб-серверов и даже до серверов Minecraft.

Одним из приложений для Raspberry Pi, которое попалось на глаза, был проект домашней автоматизации Джеймса Брюса

, который использует широкий ассортимент технологий для управления освещением своего дома.

Брюс использует все из MongoDB (что было умело объяснено Тейлором Болдуком здесь

), к фреймворку для веб-разработки JavaScript NodeJS

Ардуино. Но в центре всего находится Linux и Raspberry Pi.

Мультидисциплинарный характер этого проекта означает, что он познакомит вашего ребенка со многими аспектами информатики, такими как JavaScript, системное администрирование и электроника.

Если вы раньше не играли с Raspberry Pi и ищете более простой проект, позволяющий впитывать свои молочные зубы, подумайте о беспроводном принтере Christian Crawley Raspberry Pi

,

Построить Twitter-бот

Не секрет, что я большой поклонник языка программирования Python.

Он настолько мощный и универсальный, а широкий набор плагинов и библиотек означает, что вы можете делать практически все.

Python заставляет вас чувствовать себя супергероем. Просто подумайте о чем-то, и шансы высоки, вы можете построить это с помощью Python. Но я говорю не просто об играх или системах домашней автоматизации Raspberry Pi. Вы даже можете создавать приложения, основанные на существующих сайтах социальных сетей.

Facebook. LinkedIn. Twitter. Все они имеют API (интерфейсы прикладного программирования)

которые позволяют вам использовать данные и функциональность этих сайтов в рамках ваших собственных программ. Сначала они могут быть довольно пугающими. Но это не так.

Овладение ими может занять несколько часов работы, но как только вы научитесь использовать определенный API, вы сможете делать невероятные вещи.

Возьмем, к примеру, Twitter, который позволяет разработчикам получать доступ к своим данным через три отдельных API. Существует API-интерфейс Firehose, который предлагает неограниченный доступ в реальном времени к каждому твиту, но имеет высокую цену, которая достигает тысяч долларов.

codelinux-twitterapis

Есть также два API, которые можно использовать бесплатно. У Twitter есть потоковый API, который позволяет отслеживать твиты в режиме реального времени, но не гарантирует, что вы получите каждый твит. Существует также API поиска, который позволяет выполнять поиск в базе данных Twitter, но количество запросов, которые вы можете сделать, строго ограничено.

Streaming API особенно интересен, потому что вы можете создавать приложения, которые могут реагировать на твиты в режиме реального времени. Существует бесконечное количество проектов, которые вы можете построить.

Вы можете, например, взять светодиодный куб от Джеймса Брюса на Arduino.

и освещать его всякий раз, когда кто-то публикует твит, содержащий определенное слово. Или вы можете создать бота в Твиттере, который будет твитить спойлеры всякий раз, когда кто-то публикует «Только что начал смотреть Игру престолов». Или вы можете создать бота, который также использует Wolfram Alpha API для ответа на простые вопросы, например, «что является столицей Буркина-Фасо».

В Linux вы можете воспользоваться API-интерфейсами Twitter, используя популярный язык программирования Python, и библиотеку Tweepy, доступную для загрузки через менеджер пакетов PIP. Чтобы получить его, просто откройте командную строку и введите:

pip install tweepy

Если у вас не установлен менеджер пакетов PIP, не беспокойтесь. Вы также можете установить Tweepy вручную. Для этого вам нужно установить Git.

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

В Интернете нет недостатка в учебных пособиях, которые научат вас пользоваться Tweepy. Один из лучших, которые я нашел, был на PythonProgramming.net, который поставляется с сопровождающим видеоуроком.

Возможности безграничны, и поскольку API Twitter очень прост в использовании с Tweepy, вам не нужна степень по компьютерным наукам. Вам просто нужно знать Python и иметь отличную идею.

Создать сайт

Если вы научите своего ребенка писать код и спросите его, что они хотят сделать, они, вероятно, скажут мобильное приложение.

, Потому что — давайте посмотрим правде в глаза — какой ребенок не хочет делать следующую Flappy Bird

? Но после этого они, вероятно, скажут, что хотят создать сайт.

Проблема в том, что когда вы впервые учитесь создавать для Интернета, вы сталкиваетесь с невероятным набором технологий. Если вы используете проверенный и протестированный стек LAMP

, который использует Linux, Apache, MySQL и PHP? Или, может быть, что-то более современное (и, смею сказать, модное), такое как Ruby on Rails, Flask или Node.js?

Что еще хуже, этот широкий набор технологий может быть невероятно отвлекающим, когда вы программист подмастерье, когда вы переключаетесь между фреймворками и языком со всем фокусом Лабрадор-ретривера.

Это много, чтобы принять.

Но я думаю, что важно помнить, что обучение созданию веб-сайтов является чем-то, что является в основном междисциплинарным.

Основой любого сайта является HTML. Затем вы делаете это хорошо с либеральным всплеском CSS. Как только вы разберетесь с базовыми строительными блоками, вы начнете добавлять интерактивность и динамизм. Вы начинаете изучать, как анимировать ваш HTML и CSS с помощью JavaScript и JQuery.

codelinux-HTML

Затем вы узнаете о постоянстве и необходимости хранить вещи в базе данных для последующего их получения. Итак, вы узнаете о MySQL и, возможно, MongoDB. Вы узнаете о схемах, атомизации и отношениях.

Затем вы научитесь связывать все это вместе с языком программирования на стороне сервера, таким как PHP, Python, JavaScript (с Node.js) или Ruby, и размещать его на сервере (часто Linux), который должен быть настроен с умом, чтобы убедитесь, что он остается безопасным и надежным.

Я пытаюсь подчеркнуть, что обучение созданию сайтов — это междисциплинарный процесс, который зависит от человека, который изучает «стопку» совершенно разных технологий, а затем мысленно связывает их вместе и понимает, как они работают по отношению друг к другу. ,

Чтобы научить вашего ребенка HTML, CSS и JavaScript, зарегистрируйте их в CodeAcademy

, который объясняет каждую из этих технологий через интерактивные задачи. Это, как я обнаружил, отлично подходит для поддержания мотивации, так как вы получаете мгновенные результаты и обратную связь.

codelinux-HTML

Конечно, CodeAcademy не может всесторонне научить чему-то столь же большому и сложному, как CSS или JavaScript. Для этого вам нужно познакомить вашего ребенка с хорошим справочным материалом. Я бы избегал W3Schools, которые, как известно, содержат ошибочную или прямо ложную информацию. Сеть разработчиков Mozilla — это подробное, точное и доступное руководство по всем вопросам HTML, CSS и JavaScript, и оно настоятельно рекомендуется.

Когда дело доходит до выбора серверной технологии, я бы посоветовал вашему ребенку выучить PHP, у которого плавный ход обучения. Для этого есть много документации. Более того, установка сервера LAMP в Ubuntu — это просто вопрос, или введите «sudo apt-get install lamp-server ^».

CodeAcademy имеет курс PHP. Как и Тутс +, и Линда. Все отлично. Хотя я лично рекомендую PHP и MySQL Ларри Уллмана для динамических веб-сайтов, которые на момент написания были доступны за $ 28,90 на Amazon. Я сам владею копией и считаю ее доступным, доступным руководством по веб-разработке на языке программирования PHP.

codelinux-PHP

Я не сомневаюсь, что средний подросток сможет понять содержание этой книги.

В противном случае MakeUseOf опубликовал руководство по PHP (написанное вами по-настоящему), которое можно бесплатно прочитать здесь

,

Но, прежде всего, привейте своему ребенку, что обучение построению для Интернета — это процесс обучения, который требует времени и самоотдачи. Чтобы мотивировать ребенка, вы можете предложить ему проект, к которому они могут стремиться.

Есть много простых веб-сайтов, которые могут быть созданы разработчиком-учеником. Возможно, гостевая книга или сайт микроблогов, как Twitter.

Одним из наиболее игнорируемых аспектов обучения программированию является обратная связь. Как только они что-то построят, рассмотрите возможность убедить их поделиться этим на Github, чтобы более опытные разработчики могли критиковать и предлагать рекомендации. Субреддит Learn Programming также хорош для этого.

А потом, возможно, научите своего ребенка, как размещать и управлять своими собственными веб-серверами Linux, купив им каплю Digital Ocean

, который стоит всего 5 долларов в месяц.

Посетите клуб Code

Хорошо, я изменяю здесь.

Это не проект, по сути. Но если вы хотите научить своего ребенка основам информатики, и вы хотите сделать это более структурированным, социальным способом, то вам следует взять их в код-клуб.

Их наличие, конечно, будет зависеть от того, где вы живете. В Великобритании существует Code Club, некоммерческая организация, целью которой является обучение детей в возрасте от 9 до 11 лет кодированию. Клубы кодов можно найти в большинстве крупных городов, причем обучение организовано в «сроки». Каждый термин учитывает различные аспекты программирования, такие как Scratch, HTML, CSS и Python, причем содержание курса становится все более сложным по мере продвижения каждого термина.

Клубы кодов часто пользуются преимуществами Raspberry Pis и Linux, потому что они чрезвычайно дешевы по сравнению с традиционными компьютерами.

Но как насчет пруда?

В Америке слишком много организаций, подобных Code Club, чтобы упоминать их в одной статье. Но есть некоторые, которые выделяются.

Code.org, финансируемый Гейтсом и Цукербергом, наиболее известен своим проектом «Час кода», в рамках которого взрослые и дети пытаются научиться кодировать один час в год. Но знаете ли вы, что там размещается почти полный список классов информатики, доступных в США, многие из которых доступны в библиотеках, общественных центрах и школах?

Но я был бы упущен, если бы не упомянул о блестящем Коде Черных Девочек, которые выполняют действительно важную работу. Они пытаются устранить позорный этнический и гендерный разрыв в STEM (науки, техники, техники и математики), предоставляя бесплатные уроки информатики чернокожим девушкам по всей территории США. Занятия доступны в ряде крупных городов, в зависимости от наличия. Посетите сайт Black Girls Code для получения дополнительной информации.

Время кодировать

Хорошо, ребята. Лето здесь официально. Школы либо закрыты, либо закрываются. Чем ты планируешь заняться? Собираетесь ли вы взять их в клуб кодов, или вы дадите им Raspberry Pi и посмотрите, куда их забирает их воображение?

В любом случае, я хочу услышать об этом. Оставьте мне комментарий ниже, и дайте мне знать.

Кредиты на фотографии: HTML Code (Marjan Krebeji), PHP Code (Bull3t Hughes), обучение использованию ноутбука через Shutterstock

Ссылка на основную публикацию
Adblock
detector