今年夏天有6个项目可以教您的孩子使用Linux进行计算

是官方。用华丽的摇滚传奇人物爱丽丝·库珀(Alice Cooper)的话来说,学校放暑假了

再也没有上课了。没有更多的学校运行。没有更多的作业。漫长而漫长的夏日似乎永远绵延。但是,在夏季漫长的几个月里,如何保持孩子的忙碌呢?也许更重要的是,在教孩子一项重要的职业技能(例如计算机)的同时,如何使孩子保持娱乐和娱乐?

如果您正在寻找灵感,请不要担心。我已经覆盖了你。查看这六个可以教孩子计算基础的项目,其中以Linux为中心。

Python编程语言是美国计算机科学课程中最受欢迎的入门编程语言。和英国,这归功于其简单的语法和易于学习的知识。 Python比其他语言(例如MIT的Scratch(我们稍后再介绍))优越的一个优点是它提供了大量的插件和库。

库用于扩展程序的功能。其中有数十万个用于Python。 Kivy是一个受欢迎的库,它使开发桌面和移动设备的游戏和应用成为可能。

借助Kivy,您可以使用以下工具为iOS和Android(如Pong)构建复杂的移动游戏。仅有几百行代码。您甚至可以为Windows,OS X和Linux构建桌面游戏和应用程序。

由于它是Python,因此您仍在使用孩子可能在学校学习过的相同的,柔和的语法。

学习Kivy的一个很好的起点是在Kivy的官方文档中,他们在那里建立了一个简单的Pong游戏。在这里,您可以了解如何用几行代码将对象放置在屏幕上,控制游戏的物理状态,甚至跟踪得分。

此演示游戏已获得MIT许可,一个免费的,允许的软件许可证,允许进行修改和复制-因此您可以将其变成自己的游戏,并在线共享它,而无需先征得许可。您甚至可以构建Android APK,并在Apple应用商店中分发Kivy游戏。但是,有关Kivy的更多指导性教程,请查看Richard Jones的PyCon Montreal演讲。

在Linux上安装Kivy很容易。如果您使用的是基于Debian的发行版,请执行此操作。

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

有关如何为OpenSUSE,Gentoo和Fedora安装Ubuntu的说明。

如果您已一个尚未参加正规计算机科学课程的小孩子,并且想将其介绍给编程人员,则可能需要考虑安装Scratch –适用于OS X,Windows和Linux。

Scratch。但这很好。不是为了这个目的。相反,它是用来教授计算机科学背后的基本概念的。

Scratch是一种可视化的编程语言,因此您无需输入代码,而是拖放构建基块来创建简单的程序。这提供了一种简单,易上手的方法来教您的孩子有关软件的构建方式以及诸如条件,迭代和递归之类的编程概念。

但是请不要让Scratch的简化本质欺骗您。仅仅因为它很容易,并不意味着您在创作内容上受到限制。人们已经建立了从游戏(如多人乒乓球游戏)到动画(如异想天开的贺卡)到互动艺术的一切内容。

完成杰作后,您可以与大家分享在线Scratch社区,可以通过“点赞"和评论提供反馈和鼓励。

如果对此感到无聊,可以使用Scratch来构建基于Arduino的物联网项目。整洁的,对吗?

Raspberry Pi是一种小型,价格适中,信用卡大小的计算机,能够运行Linux。顺便说一句,它还能够运行Windows 10精简版版本,该版本旨在用于构建物联网项目。

Pi是一款多功能的野兽,它反复展示了自己的优势能够运行从美术装置到Web服务器甚至Minecraft服务器的任何功能。

James Bruce的家庭自动化项目是引起我注意的Raspberry Pi应用程序之一,该项目使用了各种各样的技术来

Bruce使用了从MongoDB(泰勒·博尔杜克(Taylor Bolduc)在这里对此进行了专业解释,再到Arduino)的所有内容。但是,一切的中心都是Linux和Raspberry Pi。

该项目的多学科性质意味着它将把您的孩子介绍给计算机科学的许多方面,例如JavaScript,系统管理和电子学。

如果您还没有玩过之前是Raspberry Pi,您正在寻找更简单的p要想陷入困境,可以考虑使用Christian Crawley的Raspberry Pi无线打印机。

我是Python编程语言的忠实拥护者,这已经不是什么秘密了。

功能如此强大,通用性强,并且插件和库的广泛提供意味着您几乎可以做任何事情。

Python使您感觉像是 superhero 。只要想一想,您就可以使用Python构建它的机会很高。但我不仅在谈论游戏或Raspberry Pi家庭自动化系统。您甚至可以构建基于现有社交网站的应用程序。

Facebook。领英推特。它们都具有API(应用程序编程接口),使您可以在自己的程序范围内使用这些站点的数据和功能。首先,它们可能会令人生畏。

掌握它们可能需要花费几个小时的时间,但是一旦您学会了如何使用特定的API,就可以做一些令人难以置信的事情。

p>

以Twitter为例,它允许开发人员通过三个独立的API访问其数据。有Firehose API,它可以无限制地实时访问每条推文,但价格却高达数千美元。

还有两个API可供免费使用采用。 Twitter具有Streaming API,该API可让您实时跟踪推文,但不能保证您会收到所有推文。还有一个Search API,可让您搜索Twitter数据库,但您可以进行的查询数量受到严格限制。

Streaming API尤其有趣,因为您可以构建可响应推文的应用程序实时。您可以构建无数个项目。

例如,您可以带James Bruce的Arduino驱动的LED立方体,并在有人发布包含特定单词的推文时将其照亮。或者,您也可以构建一个Twitter机器人,在有人发布“刚刚开始观看权力游戏"时,通过Twitter扰流器。或者,您可以构建一个机器人,该机器人也使用Wolfram Alpha API来回答一些简单的问题,例如“布基纳法索的首都是什么"。

在Linux上,您可以使用Twitter API来利用Twitter API流行的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上,该软件随附了一个视频教程。

可能性无穷无尽,而且因为Twitter API与Tweepy一样易于使用,所以您不必不需要计算机科学学位。您只需要了解Python并有一个很棒的主意即可。

如果您教孩子编码,并问他们想做什么,他们可能会说一个移动应用程序?但是在那之后,他们可能会说他们想建立一个网站。

问题是,当您第一次学习为网络进行构建时,就会遇到各种各样令人眼花technologies乱的技术。您是否应该使用经过测试的LAMP堆栈,该堆栈使用Linux,Apache,MySQL和PHP?或者也许是像Ruby on Rails,Flask或Node.js这样的更现代的东西(而且我敢说是时髦的)?

更糟糕的是,当您身处其中时,这种广泛的自助技术可能会令人分心熟练的编码员,当您在框架和语言之间徘徊时,会以拉布拉多猎犬为重。

要接受很多东西。

但是我认为记住这一点很重要建立网站基本上是跨学科的

任何网站的基础都是HTML。然后,通过大量CSS的添加使它看起来不错。掌握了基本的构成要素后,就可以开始增加交互性和动态性。您开始学习如何使用JavaScript和JQuery对HTML和CSS进行动画处理。

然后,您将了解持久性以及将内容存储在数据库中以便以后检索它们的必要性。因此,您将了解MySQL以及MongoDB。您将了解模式,原子化和关系。

Then you learn to tie it all together with a server-side programming language like PHP, Python, JavaScript (with Node.js) or Ruby, and host it on a server (often Linux), which has to be configured expertly in order to ensure it remains secure and reliable.

我要提出的观点是,学习构建网站是一个多学科的过程,这取决于人们狂热地学习“堆栈"

要教孩子HTML,CSS和JavaScript,请让他们与CodeAcademy签约,以解释每种技术。通过互动挑战。我发现,这对于保持动力非常有用,因为您会得到即时的结果和反馈。

当然,CodeAcademy无法全面教授CSS或JavaScript这样大而复杂的内容。为此,您需要向您的孩子介绍一些很好的参考资料。我会避免使用W3Schools,因为W3Schools包含错误的信息或完全错误的信息。 Mozilla开发人员网络是有关HTML,CSS和JavaScript的全面,准确,易上手的指南,强烈建议使用。

在选择后端技术时,我鼓励您的孩子学习PHP,它具有柔和的学习曲线。有很多可用的文档。而且,在Ubuntu上安装LAMP服务器仅是一个问题,或者键入“ sudo apt-get install lamp-server ^"。

CodeAcademy有PHP课程。 Tuts +和Lynda也是如此。一切都很棒。尽管,我个人推荐拉里·乌尔曼(Larry Ullman)的动态网站的PHP和MySQL ,在撰写本文时,它们在亚马逊上的售价为28.90美元。我自己拥有一个副本,并发现它是使用PHP编程语言进行Web开发的一种易于理解,可访问的指南。

我毫不怀疑,一般的青少年都能掌握其中的内容。

否则,PCPC.me已发布PHP指南(由您本人真正编写),可在此处免费阅读。

但最重要的是,请您灌输您的孩子为网络构建学习是一个学习过程,而且这需要时间和精力。为了保持孩子的积极性,您可能需要为他们设置一个可以从事的项目。

学习者开发人员可以构建许多简单的网站。也许是留言簿,或者是Twitter之类的微博网站。

学习编码的最被忽视的方面之一就是反馈。一旦他们构建了东西,请考虑说服他们在Github上分享它,以便更有经验的开发人员可以批评并提供指导。

然后,也许是通过向孩子购买Digital Ocean Droplet来教他们的孩子如何托管和管理自己的Linux Web服务器,每套价格仅为5美元。

好吧,我在这里作弊。

这不是一个项目,本身。但是,如果您想教孩子计算的基础知识,并且希望以一种更加结构化,社交化的方式来进行计算,则应该带他们去代码俱乐部。

这些工具的可用性将当然,会因您的居住地而异。在英国,有一个 Code Club ,这是一个非营利性组织,旨在教9至11岁的儿童进行编码。在大多数主要城镇和城市都可以找到Code Club,其学费按“学期"组织。每个学期教授不同的编程方面,例如Scratch,HTML和CSS,以及Python,随着每个学期的进展,课程内容也变得越来越复杂。

代码俱乐部经常利用Raspberry Pi和Linux,由于它们比传统计算机便宜得多。

但是整个池塘呢?

美国有太多的 Code在一篇文章中提到的类似于俱乐部的组织。

由盖茨和扎克伯格资助的Code.org以其 Hour of Code 项目而闻名,该项目试图让成年人和孩子都喜欢一年花一个小时学习编码。但是您知道吗,它拥有美国提供的近乎全面的计算机科学课程列表,其中很多都在图书馆,社区中心和学校提供?

但是,如果我不这样做,我会被解雇。提到出色的黑人女孩法典,他们正在做一些非常重要的工作。他们正试图通过向全美国的黑人女孩提供免费的计算机科学课程,来解决STEM(科学,技术,工程和数学)领域中可耻的种族和性别差距。在一些主要城市提供课程,视情况而定。有关更多信息,请访问Black Girls Code网站。

好的。夏天正式来了。学校要么关闭,要么关闭。你会怎样做?您是要带他们去代码俱乐部,还是要给他们Raspberry Pi看看他们的想象力将他们带到何处?

无论哪种方式,我都想听听。在下面给我留言,让我知道。

图片来源:HTML代码(Marjan Krebeji),PHP代码(Bull3t Hughes),通过Shutterstock学习使用笔记本电脑

标签: Linux Python Scratch