如今python非常热门,法国的高中们更是在数学课里加了python上机部分。他们究竟学了什么呢?
2018年法国高考考纲的python部分包括:
- 变量类型
- 写入和分配变量
- 对变量进行计算
看起来都是菜鸟级的知识,于是我去看了一下他们的课堂练习题。前几题包括用“matplotlib”和“turtle”包画图,斐波那契数列的相关计算,余数的计算,筛选质数,听起来都不难,法国人学的真的这么水吗?
法国高考和中国一样有文理分科制度,他们分为文科、理科、经济三科,经济科大概可以简单粗暴地理解成一个介于文理科之间的选科。上面说的考纲和入门级练习题都是所有学生都需要学的,但最后一道练习题只针对理科生和经济科生。这道题就是用python实现“Dijkstra(迪杰斯特拉)算法”。迪杰斯特拉算法通常被用来解决最短路径问题,它设置了一个顶点集合S,算法反复选择不在S中的最短路径估计值最小的点,并将它加入S中。
法国高中生在只学会了最简单的定义变量、变量运算之后,竟然就要自己去写迪杰斯特拉算法了?这感觉和“教人画马”那个段子如出一辙啊。虽然对于各位python老手,写个迪杰斯特拉算法易如反掌,但让前一秒还在写3行就能搞定的代码的法国中学生突然写这种长代码,好像有点难?
不过不得不说,这些经过了高考毒打的法国高中生们,在大学编程课上都写程序如行云流水。才来法国的时候,我甚至C语言的指针都没怎么学过,就被这群“写程序从娃娃抓起”的编程大佬包围。当我还在被bug苦苦困扰的时候,他们可能结果都跑出来了并且开始写报告分析自己的结果了。
如今,人工智能越来越热门,它在各个领域中都有很多运用,python在众多编程语言中也还算简单好上手,用python的人越来越多。让高中生学点python,也许可以让他们看看自己对计算机相关领域是否感兴趣,而不是报志愿的时候两眼一抹黑。但如果有的孩子家里没有电脑,在高考里加上python大概也算影响了教育公平吧。