孩子开学上四年级了,一直想对这个暑假我和孩子的共同成长做个简单小结,之前打算直接在系列开篇(guyuming:小学三年级编程教学实践一则)上更新得了,今天因为我在Geogebra 上有些新的小发现,所以还是另起新篇。
缘起根据 DevelIntro - GeoGebra 上的图示了解类型结构:Kernel 中的 GeoNumeric, GeoLine, GeoPoint ,看名字就知道大概是啥,但为啥基类叫 GeoElement 呢?打开源码看下类型层次:

上面还有个 Construction 啥的基类,啥意思?盖房子?网上搜,结果找到 Geometric Constructions : 原来《几何原本》叫"The Elements" ,construction 跟尺规作图有关。再看Construction Protocol ,对应geogebra里面的“作图过程”视图(下图右边)。

想到小学在英文里也可叫做“elementary school”,只是命名巧合?
这个系列记录教孩子编程涉及的内容,从时下热门的Python开始,咋后来就不停地geogebra,改教数学了,这里我解释下:
开篇陪孩子听完Python视频课后,我让她做练习,介绍了素数概念后,让写一段程序,读入整数N,然后判断是否是素数,第二阶段再把代码改成输出1到N之间所有素数,以及把用到的for循环改成while循环,第三阶段再改成输出的素数后面加上显示这是第几个找到的素数。还给参照样本:Python for 循环语句 | 菜鸟教程 。 也不知是娃真笨还是装笨,还是我教得不好,反正是各种不配合,抵制,10行左右的代码,折腾了怕是两礼拜,不断提示,挤牙膏一样。
后来就换个主题,开始教二元(三元)一次方程组。三个大和尚,三个小和尚,一百个馒头的问题,娃总算会 geogebra 里输入方程,求得直线交点了。
再后来就是讲抛物线,牛顿定律,带她读阿基米德,有理数,无理数,
整个过程,geogebra 时不时起到了很好的演示作用(至少我自己这么认为)。其实,输入数学函数,方程,几何对象,也是一种编程,如果钟情于循环,判断等控制逻辑,文档说也有,我暂时还没用到。即使进而要学编译原理,也提供了javacc的实战。
最后,前段时间读到这么一句话:“教育是点燃一团火,而不是装满一桶水”,可我只看到那些手机游戏,娱乐视频在四处点火,自己只能努力灌水。