通过作弊教我五岁的孩子编程

2020-10-07 17:50:46

今年,我和妻子成了不情愿在家上学的人--我们选择在没有学校远程教育的情况下教我们五岁的女儿。瑞秋教阅读、写作、艺术和科学。我的工作是数学、国际象棋和技术。

我六七岁的时候就开始在TRS-80上编程了。当时,计算机启动时使用的是BASIC语言,这是有史以来最容易接近的编程语言。Basic中的Hello World类似于:

用BASIC编程是你在TRS-80上能得到的最即时的满足感。几乎没有游戏,也没有互联网。如果我在不同的年龄被介绍到一种不同的编程语言,我不确定我会不会接受它。

当我把我们的女儿艾玛介绍给编程时,这一直是我一直在努力解决的问题。现代开发环境有很多摩擦和开销。我们玩过SWIFT游乐场,这对于介绍编程概念非常有用,但感觉就像是在视频游戏中编写指令,而不是利用代码的原始能力来控制计算机。

一位同事最近向我介绍了在repl.it上使用pg-basic,它重现了在TRS-80上编写BASIC的简单性。

艾玛和我正在做加法。她喜欢电子游戏和编程,所以我想我们可以制作一个游戏来练习数学。大意是:随机挑选两个数字,让她把它们相加,如果她答对了就给她打分。我们是用Python做的,因为代码不同于它的基本等价物。

我编写代码时,她坐在我旁边,一路上征求她的建议。

然后我和她做了个交易:如果她赢了两次,她就可以作弊和更改密码。她喜欢作弊。

她仍然要回答一堆问题才能赢得比赛,而反复键入零和输入是一项艰苦的工作,所以她将循环条件更改为:

这可能是在她短暂的教育生涯中,她第一次控制了测验,而不是控制了她。

回想我是如何开始编写代码的,它从3-2-1联系人的后面复制了几十行BASIC代码,让它运行,然后对其进行调整。今天,当我学习一种新的语言或服务时,它会复制、粘贴、编辑。

和艾玛一起作曲,让她编辑似乎是一个取胜的策略。昨天,在做了修改之后,她想了几秒钟,转过身来看着我,说,……。我可以用代码做任何事。